Voquel translates vocals between languages while keeping rhythm, melody and the original singer's timbre intact. It ships with a web interface and a standalone CLI that also supports YouTube links. Check the Voquel Temporary Website for examples and more information.
Voquel was developed entirely independently by Abhay Shukla during his junior and senior year of high school.
• Translate any audio or YouTube URL into another language
• Rhythm-aware lyric alignment with syllable-level timing
• Neural voice cloning for target language synthesis
• Automatic source-vocal removal / instrumental reconstruction
• Batch processing & multithreaded segment generation
• Automatic merge of the new vocal track with the original instrumental
• If the input was a YouTube link: downloads the video, swaps the audio, resamples to 720 p and prints the final file size
• REST API and React/Next.js front-end for browser-based use
backend/ – Python processing engine (vocal translation pipeline + YouTube Shorts creator)
frontend/ – Next.js/React dashboard for uploading media, triggering translations, and viewing results
shared/ – Shared types and API endpoint constants
docker-compose.yml – One-click container orchestration
# 1. clone
git clone https://github.com/abhayshukla/voquel.git
cd voquel
# 2. build & start the full stack (backend + frontend)
docker-compose up --build
# 3. open the app
open http://localhost:3000• Python 3.10+ with virtualenv or conda
• Node 18+ & pnpm (or npm/yarn)
• ffmpeg installed & on $PATH
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# CLI usage examples
python src/main.py -a song.mp3 -o spanish # file → wav
python src/main.py -a "https://youtu.be/xyz" -o french # YouTube → mp4 (720 p)
python src/main.py -a voice.wav -i hindi -o english # explicit source langOutputs are written to backend/generated/:
*_final_song.wav– translated mix*_translated_vocal.wav– dry generated vocal*_final_video.mp4– 720 p video (YouTube inputs only)*_lyrics.json– original + translated lines with timings
cd frontend
pnpm i
pnpm dev
# open http://localhost:3000The web-UI proxies requests to the backend container (configurable in frontend/.env.local).
POST /api/translate – multipart/form-data with file (audio) or url (YouTube) plus out_lang and optional in_lang
GET /api/result/:id – translation artefacts once processing finishes
Voquel is released under the MIT License – see LICENSE for details.