When I used "pocketsphinx_continuous" to detect what I say,
it will possible show word in my_db.dic when I say a wrong word.
For example, my my_db.dic as follows:
APPLE AE P AH L
BANANA B AH N AE N AH
CAT K AE T
But when I say "DOG", it will recognize the word in my_db.dic,
like "CAT" or or other words in my_dict.dic,
so how to make it do not recognize the error, when I speak a word but not in the dictionary?
Thanks for your help
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
May I re-clarify my questions I met:
Suppose that I had 20 words in my_db.dic,
ex. "apple" "banana" "cat" "dog" "like"......
I found that it will be a little bit easy for pocketsphinx
to substitute a word I spoke into one of the word in my_db.dic.
Just something like when I spoke "coat" (it's NOT in the dictionary),
but pocketsphinx may recognize it as "cat" (which is in the dictionary).
What I wonder is that is there any other threshold (except vad_threshold/kws_threshold),
or things that I could adjust,
to let the words that are NOT in my dictionary to be just dropped,
and not to be recognized as any word in my_db.dic?
Keyword spotting mode is not so fit with my situation,
since I will be listening to all these 20 words as a voice command input,
so spotting mode will still get a 20 words' list,
and kws_threshold seems not to have significant effect.
Thanks for your help again.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
apple /1e-2/
banana /1e-5/
cat /1e-2/
dog /1e-2/
like /1e-2/
my voice.gram:
#JSGF V1.0;
/**
* JSGF Grammar for Hello World example
*/grammar voice;public <nasty> = ((apple* | banana* | cat* | dog* | like*)+)+;
My question:
Is any way that can solve Result 2(The system recognize the noise as the keyword) and Result 3(The system recognize the other word as the keyword), or my setting have problem?
Thanks for your help again.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Nickolay,
thank you so much for your quickly response.
but when I use keyphrase_list version 1 and version 2,
the result will be the same!!
Q1:
I would like to ask that my setting have any problem or something I miss?
Q2:
And does any way that can solve Result 2(The system recognize the noise as the keyword) and Result 3(The system recognize the other word as the keyword) to avoid recognition error?
You have too many insertions. You need to try higher values for thresholds then like 1e+2 or even 1e+10. It is hard to reproduce your problem since you didn't provide the data.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
When I used "pocketsphinx_continuous" to detect what I say,
it will possible show word in my_db.dic when I say a wrong word.
For example, my my_db.dic as follows:
APPLE AE P AH L
BANANA B AH N AE N AH
CAT K AE T
But when I say "DOG", it will recognize the word in my_db.dic,
like "CAT" or or other words in my_dict.dic,
so how to make it do not recognize the error, when I speak a word but not in the dictionary?
Thanks for your help
You can use keyword spotting mode
Hi Nickolay,
Thank you for your response,
May I re-clarify my questions I met:
Suppose that I had 20 words in my_db.dic,
ex. "apple" "banana" "cat" "dog" "like"......
I found that it will be a little bit easy for pocketsphinx
to substitute a word I spoke into one of the word in my_db.dic.
Just something like when I spoke "coat" (it's NOT in the dictionary),
but pocketsphinx may recognize it as "cat" (which is in the dictionary).
What I wonder is that is there any other threshold (except vad_threshold/kws_threshold),
or things that I could adjust,
to let the words that are NOT in my dictionary to be just dropped,
and not to be recognized as any word in my_db.dic?
Keyword spotting mode is not so fit with my situation,
since I will be listening to all these 20 words as a voice command input,
so spotting mode will still get a 20 words' list,
and kws_threshold seems not to have significant effect.
Thanks for your help again.
We only have keyword spotting mode for word verification, we do not have any other algorithms implemented.
Threshold should work fine for you, you just need to tune it properly on a set of examples as described in our tutorial http://cmusphinx.sourceforge.net/wiki/tutoriallm
Hi Nickolay,
Thank you for your response,
I follow your suggestion to set the keyphrase list,
but the effect seems not useful.
my command:
1. The best result is as follows:
2. The system recognize the noise as the keyword:
3. The system recognize the other word as the keyword:
my setting as follows:
my keyphrase_list:
my voice.gram:
My question:
Is any way that can solve Result 2(The system recognize the noise as the keyword) and Result 3(The system recognize the other word as the keyword), or my setting have problem?
Thanks for your help again.
When you use both
-jsgf
and-kws
in command line system switches to grammar mode, kws argument is ignored. You need to supply only-kws
Hi Nickolay,
thank you so much for your quickly response.
but when I use keyphrase_list version 1 and version 2,
the result will be the same!!
Q1:
I would like to ask that my setting have any problem or something I miss?
Q2:
And does any way that can solve Result 2(The system recognize the noise as the keyword) and Result 3(The system recognize the other word as the keyword) to avoid recognition error?
Thanks for your help again.
my command has been modified as follows:
my keyphrase_list version 1:
my keyphrase_list version 2:
my final result:
You have too many insertions. You need to try higher values for thresholds then like 1e+2 or even 1e+10. It is hard to reproduce your problem since you didn't provide the data.
Hi Nickolay,
Thank you for your response,
Since our case is for chinese speech recognition, so our data is all of chinese.
I try higher values for thresholds, but the result still be the same.
Attached file is my data,
https://drive.google.com/file/d/0BzvKcj5lMO_4Y0JLVUd1bVZDQ3M/view?usp=sharing
Explanation:
my command:
my keyphrase list setting as follows:
keyphrase_list_v1:
keyphrase_list_v2:
keyphrase_list_v3:
Thanks for your help again.
Last edit: stevenyslin 2016-06-16
Does anyone have this problem such as this case?
Because the keyphrase_list seems does not work,
Thanks a lot for everyone's help
It does not work because you use
-lm
in your command line. Options-lm
-jsgf
and-kws
conflict with each other.Hi Nickolay,
Thank you for your response,
I have two questions about this
Q1:
For options -lm -jsgf and -kws, which have highest accuracy if we are not sure of the noisy environment?
Q2:
If we use -lm, this problem can be solve?
The system recognize the noise as the keyword:
The system recognize the other word as the keyword:
"幫我發個信" this word is not in our dictionary
"開機" this word is in our dictionary
Thanks for your help again.
Does anyone have idea about this?
Thanks a lot for everyone's help
For continuos listening only kws works
No
Ok, I got it, thank you so much.