Skip to content

shuklabhay/voquel

Repository files navigation

Voquel – Cross-lingual Vocal Translation Suite

Docker Build Python Lint Check Typescript Lint Check

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.

Features

• 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

Repository layout

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

Quick start with Docker

# 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

Local development

Prerequisites

• Python 3.10+ with virtualenv or conda
• Node 18+ & pnpm (or npm/yarn)
• ffmpeg installed & on $PATH

Backend

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 lang

Outputs 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

Frontend

cd frontend
pnpm i
pnpm dev
# open http://localhost:3000

The web-UI proxies requests to the backend container (configurable in frontend/.env.local).

API reference

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

License

Voquel is released under the MIT License – see LICENSE for details.

About

LLM-powered end-to-end music translation (preserves rhythm, melody, and meaning).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors