- This topic has 6 replies, 2 voices, and was last updated 10 years, 10 months ago by Geri.
-
AuthorPosts
-
February 5, 2013 at 4:40 pm #1015557GeriParticipant
SaveThatWave wrote a date to the filename, if I’m right. Is that the time of writeout success?
If so, then if that date is earlier than hypothesis callback timestamp, I can safely suppose that they’re paired (the wave file with a given hypothesis)?
Should I stop my saveThatWaveController on every detectFinishedSpeech/stopListening/suspendRecognition, or it will be stopped automatically (so the wasSaved will be invoked on every case )?
Sorry for this many question, but that wavWasSaved holds really no information about the content in it.
February 5, 2013 at 4:55 pm #1015558Halle WinklerPolitepixIf so, then if that date is earlier than hypothesis callback timestamp, I can safely suppose that they’re paired (the wave file with a given hypothesis)?
I would expect this assumption to be correct. It is difficult to imagine a circumstance under which a hypothesis will return before the wav is able to be written out. But you won’t always have a matching hypothesis for a WAV because not every hypothesis has content. You can decide what you’d like to do about those cases since it will vary from project to project.
Should I stop my saveThatWaveController on every detectFinishedSpeech/stopListening/suspendRecognition, or it will be stopped automatically (so the wasSaved will be invoked on every case )?
You should just leave it running; it will only do something when it has speech to save.
Sorry for this many question, but that wavWasSaved holds really no information about the content in it.
The only thing it knows about is the timestamp, since it isn’t bound to recognition, which is a positive thing because it means you can run it with recognition turned off in order to use OpenEars as a voice activity detector, or with n-best recognition on (many hypotheses for a single utterance, some of which are null) or when a null hypothesis is silently returned such as happens for the majority of hypotheses when using Rejecto. Although SaveThatWave works well with hypotheses, it saves all detected speech, not all non-null hypotheses.
February 5, 2013 at 5:04 pm #1015559GeriParticipantThanks.
I have returnNullHypotheses turned on, so I will have a didReceiveHypothesis on every sound input I had.So if I’m right, In a way like this, I can safely pair up every hypo’ with the latest wave on the disk, right?
February 5, 2013 at 5:09 pm #1015560Halle WinklerPolitepixThat would definitely be my expectation. Since this is the first time I’ve heard of this use, it would be great if you could let me know if that expectation is correct, but I’d be pretty surprised if it weren’t.
February 5, 2013 at 5:17 pm #1015561GeriParticipantSounds great, though, I cannot prove it I think.
Actually I want to use this setup to build a database of wave files, and the paired hypotheses, to see the accuracy/error range after an in-house testing of around 20-40 people.
So all I will see is a table of wave/hypo’ pairs, but I won’t have information if they’re paired up right or wrong. :(
February 5, 2013 at 5:28 pm #1015562Halle WinklerPolitepixIf you are worried that a recognition might sometimes take less time than a file write (I’m not sure I would worry about this in practice), you can keep an int property that is the number of WAV writeouts and another that is the number of returned hypotheses and do something special when a hyp returns and the number of hyps is larger than the number of WAV writeouts. It is also a good way to test whether I’m right.
February 5, 2013 at 5:37 pm #1015563GeriParticipantYep, I will do something like that.
-
AuthorPosts
- You must be logged in to reply to this topic.