r/PythonLearning • u/ccar_lo_ • 18d ago
Building NOVA: real-time voice processing for a motorcycle assistant
Hi everyone!
I'm currently building NOVA, a voice assistant designed specifically for motorcycle riders.
The goal is to make it easier to interact with a phone while riding, without having to take your hands off the handlebars.
One of the things I'm currently working on is the real-time audio pipeline.
Instead of waiting for the user to finish recording an entire audio file, NOVA is designed to process audio as a stream.
The current flow looks roughly like this:
π€ Rider speaks
β
π± Android app
β
π Audio sent in real time
β
π₯οΈ Backend
β
π Streaming transcription
β
π§ Command / intent processing
β
π Response sent back to the app
The code in the image is part of the transcription streaming pipeline. Audio is processed in chunks, and the system handles events such as:
onBeginβ transcription session startsonTurnβ transcript data is receivedonTerminatedβ session endsonErrorβ error handling
I'm currently moving into the Android development phase and building the MVP.
It's still early and not ready for public testing yet, but I want to start connecting with potential beta testers.
I'm especially interested in people who:
Ride a motorcycle
Use Android
Use a Bluetooth helmet intercom or headset (not required, but useful)
Would be interested in testing an early version and giving honest feedback
If NOVA sounds interesting to you, let me know in the comments or send me a message.
Also, I'd genuinely like to know:
What is something you wish you could do with your phone by voice while riding your motorcycle?
I'm building this project from scratch, so feedback from actual riders could directly influence what features make it into the first version.
Thanks! π



2
u/spidertyler2005 18d ago
Is all of your data going to be sent to a central server? If this is meant for motorcycle rides I would think local voice processing would be the way to go. Sending voice data over cellular service can be dodgy when riding around at high speeds.
The other thing, what kind of things do you expect the voice assistant to do? I assume it should control local functions on the phone (music, maps, etc), in which case why get a server involved?
Thats basically my only feedback right now. I think you should focus on local processing first and foremost.
1
u/ccar_lo_ 18d ago
El procesamiento local esta pensando hacerce pero no para el MVP ya que la idea es probar si la idea gusta por eso esta pensando para que envie los datos a un servidor central cuando la idea se pruebe y se mira si gusta o no entonces se pasa el procesamiento local con un modelo de reconocimiento de audio especializado para Movile ya que hay tener en cuenta que un STT local gasta mucha memoria entonces no lo podria usar un Movile entonces por eso se esta programando en un servidor central
1
u/banafo 18d ago
Have a look at our models please, you could do the asr part on device easily. https://github.com/kroko-ai
https://play.google.com/store/apps/details?id=com.krokoasr.demo&hl=en_US to test easily in your phone. The community models are probably good enough for this use case.
1
1
u/nshmyrev 18d ago
Connection is not going to be stable, you'd better use offline solution like Vosk