daanzu / deepspeech-websocket-server

Server & client for DeepSpeech using WebSockets for real-time speech recognition in separate environments
Mozilla Public License 2.0
101 stars 32 forks source link

500 Internal Server Error on localhost? #7

Open ulimmeh opened 5 years ago

ulimmeh commented 5 years ago

Hi,

I'm getting the following error when i run the following command on anaconda prompt (Windows 10):

python server.py --model models/output_graph.pbmm --alphabet models/alphabet.txt --lm models/lm.binary --trie models/trie

deepspeech-websocket-server-error-msg

...and on the localhost, when i navigate to http://127.0.0.1:8080/recognize i get the 500 error:

deepspeech-websocket-localhost

I have installed all requirements, including pyaudio and the latest deepspeech with pip install deepspeech and pip install deepspeech --upgrade I downloaded the pretrained model from https://github.com/mozilla/DeepSpeech/releases, tried with deepspeech-0.5.1-models.tar.gz, deepspeech-0.5.0-models.tar.gz and deepspeech-0.3.0-models.tar.gz. Still no luck.

Is this a bug? or does someone have a solution for this?

Thanks.

daanzu commented 5 years ago

The server and the recognize URL are for websocket connections only, not normal HTTP GET requests. The included client uses that for low-latency streaming; are you using it?

It wouldn't be hard to add support for receiving GET/POST requests containing audio, but it's not there currently.

ulimmeh commented 5 years ago

Thanks for getting back to me @daanzu

My server code always seems to say listening to 'http://...' not 'ws://...' when i run the server.py file with the pretrained deepspeech model parameters. When i run python client.py, which when i checked the code already has the 'ws://...' address, it says the following in anaconda:

(base) C:\Code\python\deepspeech-websocket-server-master>python client.py Connecting to 'ws://localhost:8080/recognize'... Listening (ctrl-C to exit)...

By the way this hangs and 'ctrl-C' does nothing, i need to restart anaconda. Also, when i put ws://localhost:8080/recognize into my Google Chrome browser, i get the following error msg, despite it saying in anaconda that it is connected to that localhost via ws.

ws_listening

Any idea how i can get either the client.py or server.py on anaconda on Windows 10?

daanzu commented 5 years ago

Hmm, I don't use Anaconda, and I'm no websocket expert (thankfully haven't needed to debug it much). Actually, I just realized that I haven't tested the server running directly in Windows, only in WSL. (This was developed before DeepSpeech ran on Windows.)

ulimmeh commented 5 years ago

Ok thanks. I would really like to get this working using anaconda on Windows. Anything you can suggest to help me resolve this?

daanzu commented 5 years ago

I just tried it with your configuration except vanilla python and it worked. Maybe an anaconda issue?

ulimmeh commented 5 years ago

Hmm, can you walk me through your steps? What version of deepspeech do you use? Also, what version of the pre-trained model do you use?

daanzu commented 5 years ago

I used python 3.6.3 from python.org, installed the requirements and the latest deepspeech from pip, and the 0.5.1 pretrained model.

ulimmeh commented 5 years ago

But did you do this on Windows? Pip on what command prompt? What IDE did you use for python?

daanzu commented 5 years ago

Windows 10; normal non-powershell command prompt; no IDE.