I wonder if we're at a point where you could build a voice assistant like that, except almost-realtime and streamed end to end: User speaks and speech to text starts streaming text while the user is still speaking. That text stream is piped into a LLM, which also streams its output text. That output text is streamed to text-to-speech, which also generates audio in a streaming manner.
Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
51–60 of 60 posts
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#52Here is a video demo of the project: https://youtu.be/aIg4-eL9ATc?si=66ynl4Mlci9v76rU
Nice work! Very impressed. Do you happen to know anything about any open source voice identification software? I’ve noticed with ChatGPT voice and any other voice driven assistant that a massive problem is the background voices and noise. One solution could be advanced pre-processing to ID your voice only. Another idea I’ve had is using something professional with PTT: https://sheepdogmics.com/products/quick-disconne…
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#53I'm curious - what made you choose deepgram over just running whisper? I don't have any experience with deepgram but whisper has worked so well in my own tests that I didn't even ever consider there might be API speech recognition-only companies.
Deepgram advertised itself as being the fastest, and I wanted to focus on limiting response delay so I chose it. I hope I did not get misled.
Among local solutions, Whisper SDK doesn't support streaming, I haven't seen any good workarounds or successfully implemented it. VOSK, DeepSpeech, Kaldi, et al were good once upon a time... Picovoice seems to be doing well.
I was planning to work on this: https://picovoice.ai/blog/chatgpt-ai-virtual-assistant-in-py... using Eleven Labs and Cheetah. Hope I can crave some time
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#54Earlier quoted context omitted.
Thanks! I don't know a lot about this but someone shared this local voice assistant in the comments: https://github.com/KoljaB/LocalAIVoiceChat Could be a good lead
Yeah github.com/KoljaB is quite a collection of stuff! I agree. It all seems your vision of JARVIS, which I share completely but haven't accomplished what you have, again excellent work and thank you for sharing, is very attainable. Probably combining your work along with KoljaB is very promising.
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#55It doesn’t synthesize voice back (yet) but open source and runs all offline on ESP32-based hardware and works with HomeAssistant!
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#56I wonder if we're at a point where you could build a voice assistant like that, except almost-realtime and streamed end to end: User speaks and speech to text starts streaming text while the user is still speaking. That text stream is piped into a LLM, which also streams its output text. That output text is streamed to text-to-speech, which also generates audio in a streaming manner.
I implemented this! All local models. And I packaged it up so people can install it with one click: https://apps.microsoft.com/detail/9NC624PBFGB7 The speech recognition part needs work for sure, but when it works you can see the potential. It's very different from the way it feels to talk to Siri or even ChatGPT's voice mode. It won't be long before we are having real conversations with our computers.
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#57Earlier quoted context omitted.
I implemented this! All local models. And I packaged it up so people can install it with one click: https://apps.microsoft.com/detail/9NC624PBFGB7 The speech recognition part needs work for sure, but when it works you can see the potential. It's very different from the way it feels to talk to Siri or even ChatGPT's voice mode. It won't be long before we are having real conversations with our computers.
But how realtime is it?
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#58Earlier quoted context omitted.
I implemented this! All local models. And I packaged it up so people can install it with one click: https://apps.microsoft.com/detail/9NC624PBFGB7 The speech recognition part needs work for sure, but when it works you can see the potential. It's very different from the way it feels to talk to Siri or even ChatGPT's voice mode. It won't be long before we are having real conversations with our computers.
Could you record a demo of this?
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#59Earlier quoted context omitted.
Deepgram advertised itself as being the fastest, and I wanted to focus on limiting response delay so I chose it. I hope I did not get misled.
well, deepgram might be the fastest among cloud-dependent APIs, like Speechmatics and Assembly AI mentioned above. -but- it cannot be faster than local or smaller models as you mentioned. Among local solutions, Whisper SDK doesn't support streaming, I haven't seen any good workarounds or successfully implemented it. VOSK, DeepSpeech, Kaldi, et al were good once upon a time... Picovoice seems to be doing well. I was p…
[0]: https://github.com/ggerganov/whisper.cpp/tree/master/example...
[1]: https://github.com/ggerganov/whisper.cpp/blob/master/example...
Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)
#60Earlier quoted context omitted.
well, deepgram might be the fastest among cloud-dependent APIs, like Speechmatics and Assembly AI mentioned above. -but- it cannot be faster than local or smaller models as you mentioned. Among local solutions, Whisper SDK doesn't support streaming, I haven't seen any good workarounds or successfully implemented it. VOSK, DeepSpeech, Kaldi, et al were good once upon a time... Picovoice seems to be doing well. I was p…
unless i'm misunderstanding `whisper.cpp` seems to support streaming & the repository includes a native example[0] and a WASM example[1] with a demo site[2]. [0]: https://github.com/ggerganov/whisper.cpp/tree/master/example... [1]: https://github.com/ggerganov/whisper.cpp/blob/master/example... [2]: https://whisper.ggerganov.com/stream/
but whisper is designed to process audio files in 30-second batches if I'm not mistaken. it's been a while since whisper released, lol. These workarounds make the window smaller but it doesn't change the fact that they're workarounds. you can adjust, modify, or manipulate the model. You can't write or train it from scratch. check out the issues referring to the real-time transcription in the repo.
can you use it? yes would it perform better than Deepgram? -although it's an API and probably not the best API- I am not sure. would i use it in my money-generating application? absolutely not.