Live data from Hacker News

Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

github.com

31–40 of 60 posts

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#31

We use this exact stack at work (OpenAI, ElevenLabs, Deepgram) for some exploratory use cases. The key issue we have now is latency with the LLM. Deepgram and Elevanlabs work brilliantly!

Problem with this is Deepgram's accuracy (but agree their speed/latency is excellent). We used to use them too, but eventually we got so frustrated with poor accuracy we switched to Speechmatics - would definitely recommend checking them out.

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#32
post #8

"Jarvis" is a trademark of Marvel, so that name will definitely not work. https://trademarks.justia.com/862/94/jarvis-86294162.html

But there are many apps called Jarvis, so I am not sure how that is supposed to work?

So many that it is actually quite counterproductive to call it that way. I honestly have lost track of how many AI-based assistants named JARVIS I have encountered already =/.

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#33

"Jarvis" is a trademark of Marvel, so that name will definitely not work. https://trademarks.justia.com/862/94/jarvis-86294162.html

Uh oh I hope I'm not in trouble

The way these things usually (but not always) work is they'll send you a cease and desist letter if they intend on bothering you. Change the name at that point and you're usually good.

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#34

Somewhat amusing to consider that the (in-character) Marvel Cinematic Universe JARVIS could have been an LLM! And of course Ultron is an asshole, it was trained on input from Tony Stark! Back in 2008/9 I wondered just what would be required to run JARVIS, something you could converse with naturally, would understand what you meant, and be able to take care of complex mechanical tasks. The Iron Man suits have always b…

Exactly my thought, I was like "Jarvis has got to be just a 2030 version of an LLM". Yeah I actually considered making a spotter AI using computer vision in a game like ARMA 3 or Squad but kind of difficult. I made a spotter for ground vehicles on aerial imagery using YOLOv5 here: https://github.com/AlexandreSajus/Military-Vehicles-Image-Re... There's a French defense company, Preligens, that actually does this curre…

I imagine that within the next couple of years there's going to be a "general purpose vision" model (GPV? :)

More of a framework to perform the general purpose task of "recognize things in 30 (60? 120?) frames per second video and act on events in the video"

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#35
post #4

I'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.

There's three fantastic niche players in the speech-to-text market right now that you should check out: - Deepgram (cheap and dirty, but accuracy quite poor) - Speechmatics (a bit more pricey, but fantastic accuracy) - Assembly AI (just announced Series C funding of $50m)

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#36
post #4

I'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.

Wonderful hack, the overall response latency is the only thing that hurts the UX, if you can get the response time down would be epic. Nice work.

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#37

We use this exact stack at work (OpenAI, ElevenLabs, Deepgram) for some exploratory use cases. The key issue we have now is latency with the LLM. Deepgram and Elevanlabs work brilliantly!

Great! What do you guys have in mind in terms of products using these tools. Yeah unfortunately it's hard to shave on latency.

We do live in-studio briefings 3x/wk. These are both in-person and live-broadcast. The first thing we did was add an AI Co-Briefer who sits on the panel. The LLM latency makes it a bit hard, but it was a good experiment. The Deepgram worked brilliantly well with transcription across the entire studio, even for un-microphoned guest participants.

That live broadcast created a lot of buzz and numerous other use cases have popped up across the company. I'm working on a tech blog showcase next week to show it off on HN hopefully!

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#38
post #9

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.

You can do the "almost-realtime" part, all locally. I tinkered with a Python script for a few hours that used Whisper to speech-to-text, fed that into a local Mistral model (don't recall which), and then piped the output into text-to-speech.

It wasn't really streamed, though. Audio input was buffered, fully evaluated to a string, then fed into the LLM and the full text was converted back to audio.

The Whisper speech-to-text was pretty real-time, the LLM was not. I was barely scraping by on hardware specs, though.

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#39
post #9

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.

You can do the "almost-realtime" part, all locally. I tinkered with a Python script for a few hours that used Whisper to speech-to-text, fed that into a local Mistral model (don't recall which), and then piped the output into text-to-speech. It wasn't really streamed, though. Audio input was buffered, fully evaluated to a string, then fed into the LLM and the full text was converted back to audio. The Whisper speech-…

you try using ESP box?

Re: Jarvis: A Voice Virtual Assistant in Python (OpenAI, ElevenLabs, Deepgram)

#40
post #9

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.

TTS and STT models have decent support for streaming in chunks, but the accuracy drops the smaller the chunk size. Current state of LLMs are pretty limited in their ability to handle streaming inputs due to attention window constraints. There is some emerging research into attention sinks and caching initial tokens that look promising. I don't think we're quite there yet though.
Post reply on HN