alphacep / vosk-server

WebSocket, gRPC and WebRTC speech recognition server based on Vosk and Kaldi libraries
Apache License 2.0
882 stars 243 forks source link

./test_words.py: Leads to segmentation fault on server #103

Open nxdefiant opened 3 years ago

nxdefiant commented 3 years ago

I was looking for a way to update the recognizer vocabulary in runtime on the vosk-server and I found "test_words.py", so I was hoping that it does the job. Unfortunately it does crash the server immediately after recognition.

Running latest docker image with sha256:84c9ae79975607577ac5bc505e71497ca83f603e7a042055a449ce97a9a902a3 I get a segmentation error on the server when running ./test_words.py test.wav:

python3 ./asr_server.py /opt/vosk-model-en/model LOG (VoskAPI:ReadDataFiles():vosk/model.cc:194) Decoding params beam=13 max-active=7000 lattice-beam=6 LOG (VoskAPI:ReadDataFiles():vosk/model.cc:197) Silence phones 1:2:3:4:5:6:7:8:9:10:11:12:13:14:15 LOG (VoskAPI:RemoveOrphanNodes():nnet-nnet.cc:948) Removed 1 orphan nodes. LOG (VoskAPI:RemoveOrphanComponents():nnet-nnet.cc:847) Removing 2 orphan components. LOG (VoskAPI:Collapse():nnet-utils.cc:1488) Added 1 components, removed 2 LOG (VoskAPI:CompileLooped():nnet-compile-looped.cc:345) Spent 0.00827384 seconds in looped compilation. LOG (VoskAPI:ReadDataFiles():vosk/model.cc:221) Loading i-vector extractor from /opt/vosk-model-en/model/ivector/final.ie LOG (VoskAPI:ComputeDerivedVars():ivector-extractor.cc:183) Computing derived variables for iVector extractor LOG (VoskAPI:ComputeDerivedVars():ivector-extractor.cc:204) Done. LOG (VoskAPI:ReadDataFiles():vosk/model.cc:246) Loading HCLG from /opt/vosk-model-en/model/graph/HCLG.fst LOG (VoskAPI:ReadDataFiles():vosk/model.cc:265) Loading words from /opt/vosk-model-en/model/graph/words.txt LOG (VoskAPI:ReadDataFiles():vosk/model.cc:273) Loading winfo /opt/vosk-model-en/model/graph/phones/word_boundary.int LOG (VoskAPI:ReadDataFiles():vosk/model.cc:281) Loading CARPA model from /opt/vosk-model-en/model/rescore/G.carpa WARNING (VoskAPI:KaldiRecognizer():vosk/kaldi_recognizer.cc:103) Runtime graphs are not supported by this model Segmentation fault

It does not crash with "./test.py test.wav" or when removing the websocket.send(config) part from test_words.py. Also in the json result I get words that are not in the phrase_list.

nshmyrev commented 3 years ago

Message says big models do not support runtime graph modification.