We need a python (FastApi) based backend that works with audio over websocket and uses asyncio queues and more.
Budget: $30 – $250 USD
As a Python backend developer, I'm looking for someone who can help me build a personal project. This project involves audio, specifically real-time audio processing and analysis.
We need this backend for a web app that will send audio data over websocket connection to your backend.
Your backend should accept the stream and transcribe it on the server and then store the text in postgresql database and then convert the transcribed text to audio using tts and send it back as a stream to the user over the same ws session/consumer that initiated it. This pipeline should have min latency and hence we prefer using local speech to text and text to speech instead of making external api calls. We could also use external services using apis if the quality of these services is not good - we need high quality transcription and tts. The pipeline components should be modular so it is easy to change or replace components in order to benefit from higher quality apis that become available.
If the user starts speaking again (ie if your backend starts receiving audio over the open websocket connection) then the output stream has to be stopped. For this you will need to design a queueing system or any system that can do this. You need to manage the sequencing, buffering etc to ensure that the system works irrespective of traffic congestion and other conditions.
Skills and experience needed:
- Proficiency in Python and FastAPI and websocket - min 3 years experience
- Proficiency in speech to text and text to speech libraries - min 1 year experience
- Experience with real-time audio processing - should have worked with real-time audio on 3 projects at least
- Strong background in asynchronous programming and asyncio queues - highly experienced in this
- Understanding of concurrency handling in web applications - highly experienced in this
- Ability to design for scalability - highly experienced in this
We need this backend for a web app that will send audio data over websocket connection to your backend.
Your backend should accept the stream and transcribe it on the server and then store the text in postgresql database and then convert the transcribed text to audio using tts and send it back as a stream to the user over the same ws session/consumer that initiated it. This pipeline should have min latency and hence we prefer using local speech to text and text to speech instead of making external api calls. We could also use external services using apis if the quality of these services is not good - we need high quality transcription and tts. The pipeline components should be modular so it is easy to change or replace components in order to benefit from higher quality apis that become available.
If the user starts speaking again (ie if your backend starts receiving audio over the open websocket connection) then the output stream has to be stopped. For this you will need to design a queueing system or any system that can do this. You need to manage the sequencing, buffering etc to ensure that the system works irrespective of traffic congestion and other conditions.
Skills and experience needed:
- Proficiency in Python and FastAPI and websocket - min 3 years experience
- Proficiency in speech to text and text to speech libraries - min 1 year experience
- Experience with real-time audio processing - should have worked with real-time audio on 3 projects at least
- Strong background in asynchronous programming and asyncio queues - highly experienced in this
- Understanding of concurrency handling in web applications - highly experienced in this
- Ability to design for scalability - highly experienced in this
Related categories:
Python
Software Architecture
FastAPI
AI Text-to-speech
Automatic Speech Recognition