I've built sphinx2 for linux without any problems.
sphinx2-test works fine.
However, sphinx2-demo and sphinx2-simple have
zero success in recognizing my speech.
I use a professional microphone: ANC-700 with
active noise cancellation. This microphone performs
superb with viavoice due to its ANC feature.
The words that sphinx2 come up with are always
different from what I said.
adpow gives me 25 dB
recording with adrec 16000 2 out
gives me a file that plays back crystal clear using:
bplay -r -S -b 16 -s 16000 out
So my card is recording in stereo and at 16 bits
it seems. Is this OK with sphinx2?
What am I doing wrong?
Thanks,
Bram Stolk
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What Language Model and dictionary are you using? If you are using the turtle LM/dictionary which ships with sphinx2, are you being sure to use only words included in that dictionary?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, I use the turtle demo, and speak the
turtle language.
As a matter of fact: I tried a pre-recorded
sentence 'turn left ninety degrees', and
put it in turtle/turnleft.16 and editted turtle.ctl
file.
I was then able to recognize this using
sphinx2-test
So I know my mike's ok, the language is ok,
the only problem seems to be that the
apps sphinx2-demo and sphinx2-simple
do not initialize my audio properly I think.
I suspect they maybe in stereo mode.
This file was recognized properly off-line:
brec -s 16000 -b 16 -r -t 4 > turnleft.16k
Also, I forgot to mention: the ioctl to use
full-duplex failed, is this bad? or will it
simply do half duplex then?
Bram
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you look at the source code, I believe it uses the OSS interface (and lots of ioctl() calls) to configure the mic to be 16-bit little-endian 16000 samples/sec mono (I think it tries both channels and whichever works, it settles with). (This is how I remember it works. I may be wrong.)
I'm surprised that sphinx2-continuous wouldn't issue an error if mic initialization fails.
How are you able to record a file and not have an ioctl() failure? Have you tried sox and ecasound to record as well without failure?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hooray!
Just fixed it!
There is a ioctl SNDCTL_DSP_CHANNELS missing.
I added it, and now it works! I'll head over to the
other forum to have it fixed in cvs.
Bram
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-02-03
I m facing the same problem. How can I add the ioctl SNDCTL_DSP_CHANNELS
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I've built sphinx2 for linux without any problems.
sphinx2-test works fine.
However, sphinx2-demo and sphinx2-simple have
zero success in recognizing my speech.
I use a professional microphone: ANC-700 with
active noise cancellation. This microphone performs
superb with viavoice due to its ANC feature.
The words that sphinx2 come up with are always
different from what I said.
adpow gives me 25 dB
recording with adrec 16000 2 out
gives me a file that plays back crystal clear using:
bplay -r -S -b 16 -s 16000 out
So my card is recording in stereo and at 16 bits
it seems. Is this OK with sphinx2?
What am I doing wrong?
Thanks,
Bram Stolk
What Language Model and dictionary are you using? If you are using the turtle LM/dictionary which ships with sphinx2, are you being sure to use only words included in that dictionary?
Yes, I use the turtle demo, and speak the
turtle language.
As a matter of fact: I tried a pre-recorded
sentence 'turn left ninety degrees', and
put it in turtle/turnleft.16 and editted turtle.ctl
file.
I was then able to recognize this using
sphinx2-test
So I know my mike's ok, the language is ok,
the only problem seems to be that the
apps sphinx2-demo and sphinx2-simple
do not initialize my audio properly I think.
I suspect they maybe in stereo mode.
This file was recognized properly off-line:
brec -s 16000 -b 16 -r -t 4 > turnleft.16k
Also, I forgot to mention: the ioctl to use
full-duplex failed, is this bad? or will it
simply do half duplex then?
Bram
If you look at the source code, I believe it uses the OSS interface (and lots of ioctl() calls) to configure the mic to be 16-bit little-endian 16000 samples/sec mono (I think it tries both channels and whichever works, it settles with). (This is how I remember it works. I may be wrong.)
I'm surprised that sphinx2-continuous wouldn't issue an error if mic initialization fails.
How are you able to record a file and not have an ioctl() failure? Have you tried sox and ecasound to record as well without failure?
No clue about actual audio problems, but maybe someone else...?
Hooray!
Just fixed it!
There is a ioctl SNDCTL_DSP_CHANNELS missing.
I added it, and now it works! I'll head over to the
other forum to have it fixed in cvs.
Bram
I m facing the same problem. How can I add the ioctl SNDCTL_DSP_CHANNELS