slowrunner / Pi3RoadTest

Speech Recognition using PocketSphinx on Raspberry Pi3
33 stars 8 forks source link

is:issue is:open IOError: [Errno -9997] Invalid sample rate #2

Open ali97hz opened 5 years ago

ali97hz commented 5 years ago

hello I am on rpi3, os: raspbian I do everything in Sphinx On Pi3.txt everything was ok until I run "~/Pi3RoadTest/recoMic $ python mymain.py"

and here is my log:

INFO: cmd_ln.c(697): Parsing command line:

Current configuration: [NAME] [DEFLT] [VALUE] -agc none none -agcthresh 2.0 2.000000e+00 -allphone -allphone_ci no no -alpha 0.97 9.700000e-01 -ascale 20.0 2.000000e+01 -aw 1 1 -backtrace no no -beam 1e-48 1.000000e-48 -bestpath yes yes -bestpathlw 9.5 9.500000e+00 -ceplen 13 13 -cmn current current -cmninit 8.0 8.0 -compallsen no no -debug 0 -dict -dictcase no no -dither no no -doublebw no no -ds 1 1 -fdict -feat 1s_c_d_dd 1s_c_d_dd -featparams -fillprob 1e-8 1.000000e-08 -frate 100 100 -fsg -fsgusealtpron yes yes -fsgusefiller yes yes -fwdflat yes yes -fwdflatbeam 1e-64 1.000000e-64 -fwdflatefwid 4 4 -fwdflatlw 8.5 8.500000e+00 -fwdflatsfwin 25 25 -fwdflatwbeam 7e-29 7.000000e-29 -fwdtree yes yes -hmm -input_endian little little -jsgf -keyphrase -kws -kws_plp 1e-1 1.000000e-01 -kws_threshold 1 1.000000e+00 -latsize 5000 5000 -lda -ldadim 0 0 -lifter 0 0 -lm -lmctl -lmname -logbase 1.0001 1.000100e+00 -logfn -logspec no no -lowerf 133.33334 1.333333e+02 -lpbeam 1e-40 1.000000e-40 -lponlybeam 7e-29 7.000000e-29 -lw 6.5 6.500000e+00 -maxhmmpf 30000 30000 -maxwpf -1 -1 -mdef -mean -mfclogdir -min_endfr 0 0 -mixw -mixwfloor 0.0000001 1.000000e-07 -mllr -mmap yes yes -ncep 13 13 -nfft 512 512 -nfilt 40 40 -nwpen 1.0 1.000000e+00 -pbeam 1e-48 1.000000e-48 -pip 1.0 1.000000e+00 -pl_beam 1e-10 1.000000e-10 -pl_pbeam 1e-10 1.000000e-10 -pl_pip 1.0 1.000000e+00 -pl_weight 3.0 3.000000e+00 -pl_window 5 5 -rawlogdir -remove_dc no no -remove_noise yes yes -remove_silence yes yes -round_filters yes yes -samprate 16000 1.600000e+04 -seed -1 -1 -sendump -senlogdir -senmgau -silprob 0.005 5.000000e-03 -smoothspec no no -svspec -tmat -tmatfloor 0.0001 1.000000e-04 -topn 4 4 -topn_beam 0 0 -toprule -transform legacy legacy -unit_area yes yes -upperf 6855.4976 6.855498e+03 -uw 1.0 1.000000e+00 -vad_postspeech 50 50 -vad_prespeech 10 10 -vad_threshold 2.0 2.000000e+00 -var -varfloor 0.0001 1.000000e-04 -varnorm no no -verbose no no -warp_params -warp_type inverse_linear inverse_linear -wbeam 7e-29 7.000000e-29 -wip 0.65 6.500000e-01 -wlen 0.025625 2.562500e-02

INFO: fe_interface.c(177): Current FE Parameters: INFO: fe_interface.c(178): Sampling Rate: 16000.000000 INFO: fe_interface.c(179): Frame Size: 410 INFO: fe_interface.c(180): Frame Shift: 160 INFO: fe_interface.c(181): FFT Size: 512 INFO: fe_interface.c(183): Lower Frequency: 133.333 INFO: fe_interface.c(185): Upper Frequency: 6855.5 INFO: fe_interface.c(186): Number of filters: 40 INFO: fe_interface.c(187): Number of Overflow Samps: 0 INFO: fe_interface.c(188): Start Utt Status: 0 INFO: fe_interface.c(190): Will not remove DC offset at frame level INFO: fe_interface.c(196): Will not add dither to audio INFO: fe_interface.c(203): Will normalize filters to unit area INFO: fe_interface.c(205): Will round filter frequencies to DFT points INFO: fe_interface.c(207): Will not use double bandwidth in mel filter INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none' INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0 ERROR: "acmod.c", line 90: Folder 'cmusphinx-5prealpha-en-us-ptm-2.0/' does not contain acoustic model definition 'mdef' ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device' ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device' ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719 Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843 Traceback (most recent call last): File "mymain.py", line 33, in runMyMain command = pocketSphinxListener.getCommand().lower() File "/home/pi/Pi3RoadTest/recoMic/pocket_sphinx_listener.py", line 48, in getCommand frames_per_buffer=self.bitesize) IOError: [Errno -9997] Invalid sample rate

I google the error but get nothing same as my error.even try to change the sample rate from 16000 to 8000,4000,800 and nothing changed!


thank you ali

AbbassKahnn commented 5 years ago

While you are configuring pyAudio for microphone voice input make some changes as i do in "/home/pi/Pi3RoadTest/recoMic/pocket_sphinx_listener.py"

p = pyaudio.PyAudio() stream = p.open(format=pyaudio.paInt16, channels=1, rate= 44000, input= True, frames_per_buffer=512)

And the other changing is when the read function of pyaudio is called in the continuous loop You need to change like this buffer = stream.read(512, False)

If you change both th lines in your code i hope it will work for you as it has worked for me you can adjust the frames_per_buffer from 512 to 1024 both works fine with 44000 and 48000 rate