Launch HN: Vocode (YC W23) – Library for voice conversation with LLMs
Building realtime voice apps with LLMs is powerful but hard. You have to orchestrate the speech recognition, LLM, and speech synthesis in real-time (all async)–while handling the complexity of conversation (like understanding when someone is finished speaking or handling interruptions).
Our library is easy to get up and running–you can set up a conversation in <15 lines of code. Check out our Gen Z GPT hotline demo: https://replit.com/@vocode/Gen-Z-Phone (try it out at +1-650-729-9536).
It all started with our PrankGPT project that we built for fun (quick demo at https://www.loom.com/share/0d0d68f1a62f409eb5ae24521293d2dc). We realized how powerful voice + LLMs are but that it was hard to build.
Once we got everything working, it was really cool and useful. Talking to LLMs is better than all the voice AI experiences we’ve had before. And, we imagined a host of cool applications that people can build on top of that.
So, we decided to build a developer tool to make it easy. Our library is open source and gives you everything you need in a single place.
We give you a bunch of integrations out-of-the-box to speech recognition/synthesis providers and let you swap them out easily. We have platform support across web and telephony (via Twilio), with mobile coming soon. We also provide abstractions for streaming conversation (this is good for realtime apps like phone calls) and for command-based/turn-based applications (like voice-based chess). And, we provide customizability around how the conversation is done—things like how to know when someone is finished speaking, changing emotion, sending filler audio if there are delays, etc.
In terms of “how do you make money” – we have a hosted version that we’re going to charge for (though right now you can get it for free! https://app.vocode.dev) and we're also going to build enterprise products in the future.
We’d love for you to try it out and give us some feedback! And, if you have any demos you'd like to see – let us know and we’ll take a crack at building them. We’re curious about your experiences using or building voice AI, what features or use cases you’d love to see, and any other ideas you have to share!
120 comments
[ 0.32 ms ] story [ 165 ms ] threadOur docs are hosted on Mintlify
Like all startup waves, we'll see a bunch of them fail. However, I think we're going to see a lot of neat stuff come out of this as well.
One obvious difference is that in this case the established players are making a serious attempt to develop the technology themselves. They do not intend to go the way of Blockbuster.
If OpenAI adds speech input to ChatGPT -- and considering the upcoming plugins -- isn't a possible enterprise specialisation of VoCode the only viable long term investment?
[0] https://twitter.com/ggerganov/status/1640022482307502085
Our library is open source so that we can all build a development/utility layer on top of whatever foundational models are created. Plugins of course also improve what the agents can do. And right, we will be building enterprise focused products in the future!
Obviously just my $0.02:
I'd start building for the enterprise right now. Visualize a future where there are several multimodal AGIs that work with voice, images, and text. Be the enterprise voice layer for all of them. Build your moat there.
You can configure the initial language with the library though! So it works across several languages that are supported by the STT/TTS providers you choose
Nothing like this existed for voice so we started cranking on it!
If anyone wants to help with it we're totally open for contributions :)
Though the winning version will likely be something like a local ChatGPT plugin (please let’s make this plugin style a standard that we can use for local AIs)
In fact, I had no clue about Cylinder Phonographs. Your discussion on Enrico Caruso motivated me to dig deeper. I found some cool gems:
1. History of the Cylinder Phonograph (https://www.loc.gov/collections/edison-company-motion-pictur...)
2. How the Cylinder Phonograph Works (https://www.youtube.com/watch?v=fWLlbk_bI7E)
Looking forward to watching the recording of your Bay Area NLP talk!
The future seems to be arriving very quickly these days.
For example, it would be very instructional if you could show how you implemented the Gen-Z demo (great idea btw).
Important feedback on the live demo page: Make the default output sampling rate a normal talking speed. Right now it defaults to the highest rate if you don't set it / know which rate is best. First thing I did on the page was click the mic. The voice was too fast, and since the active mic disables the settings, I thought I couldn't change them so it might be broken. Also you want to make it clear that you can change the settings by turning off the mic. That took me a while to figure out.
Again, well done!
[0] https://github.com/vocodedev/vocode-python/blob/main/vocode/...
You're right sampling rate doesn't change speed, whoops. But on that page you have to change / set the "Set Output Sampling Rate" to slow down the default voice speed.
If HN allowed memes - and thank goodness that it does not - there would be a room full of sombre gentlemen slow-clapping for you right here.
I hope that number survives the ineveitable deluge. How many callers can your system handle simultaneously?
We actually have no clue... but it seems to be holding up well. We can scale up the CPU as necessary but not sure about Twilio. I guess we will find out!
Great work!
[0] https://github.com/vocodedev/vocode-python/blob/main/vocode/...
My immediate reaction was to figure out what to name this thing.
I also love that it can run locally. I need to get some hardware so I can have it run locally, and screen out spam calls. And maybe have it schedule appointments for me.
An AI butler needs a number of interface points:
- browser
- shell (cuz I might want it to SSH into a box and do stuff)
- email (browser could take care of this)
- phone
- text
And also IOT access, so she can call my cellphone and tell me when someone breaks in.
I tried to get it running my local and with the hosted web-app but it doesn't work :(
mind if I shoot you discord dm?
[1] https://github.com/ggerganov/whisper.cpp
We want the repo to be community built and a public good... would love contributors to start adding integrations we can't get to ourselves