VoxScribe is a lightweight, unified platform for testing and comparing multiple open-source speech-to-text (STT) models through a single interface. Born from real-world enterprise challenges where proprietary STT solutions become prohibitively expensive at scale, VoxScribe democratizes access to cutting-edge open-source alternatives.
Startups transcribing speech at scale face a common dilemma: cost vs. control. A contact center processing 100,000 hours of calls monthly can easily spend $150,000+ on transcription alone. While open-source STT models like Whisper, Voxtral, Parakeet, and Canary-Qwen now rival proprietary solutions in accuracy, evaluating them has been a nightmare:
β
Unified Interface: Test 5+ open-source STT models through a single FastAPI backend and clean web UI
β
Dependency Management: Handles version conflicts and library incompatibilities automatically
β
Side-by-Side Comparison: Upload audio and compare transcriptions across multiple models
β
Model Caching: Intelligent caching for faster subsequent runs
β
Clean API: RESTful endpoints for easy integration into existing workflows
β
Cost Control: Self-hosted solution puts you in control of transcription costs
βββ backend.py # FastAPI backend with STT logic
βββ public/ # Frontend static files
β βββ index.html # Main HTML interface
β βββ styles.css # CSS styling with dark/light theme
β βββ app.js # JavaScript frontend logic
βββ run.py # Startup script
βββ requirements.txt # Python dependencies
Install NVIDIA GRID drivers if using Amazon Linux 2023 6.1 else skip this step
# Follow AWS documentation for GRID driver installation
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver
Verify CUDA installation
nvidia-smi
Install system dependencies
sudo dnf update -y
sudo dnf install git -y
Install Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
yes)yes when prompted)Restart your shell or source bashrc
source ~/.bashrc
Create and activate conda environment
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda create -n voxscribe python=3.12 -y
conda activate voxscribe
Install ffmpeg in Conda env
conda install ffmpeg -y
Clone the repository
git clone https://github.com/Fraser27/VoxScribe.git
cd VoxScribe
Install Python dependencies
pip install -r requirements.txt
Start the application
python run.py
http://localhost:8000
GET /api/status - Get system and dependency statusGET /api/models - Get available models and cache statusPOST /api/transcribe - Single model transcriptionPOST /api/compare - Multi-model comparisonPOST /api/install-dependency - Install missing dependencies| Engine | Models | Dependencies | Features |
|---|---|---|---|
| Whisper | tiny, base, small, medium, large, large-v2, large-v3 | β Built-in | Detailed timestamps, multiple sizes |
| Voxtral | Mini-3B, Small-24B | transformers 4.56.0+ | Advanced audio understanding, multilingual |
| Parakeet | TDT-0.6B-V2 | NeMo toolkit | NVIDIA optimized, fast inference |
| Canary | Qwen-2.5B | NeMo toolkit | State-of-the-art English ASR |
The system automatically handles version conflicts between:
Installation buttons are provided in the UI for missing dependencies.
Supported audio formats: WAV, MP3, FLAC, M4A, OGG
# Run with auto-reload
uvicorn backend:app --reload --host 0.0.0.0 --port 8000
Static files are served from the public/ directory. Changes to HTML, CSS, or JS files are reflected immediately.
MODEL_REGISTRY in backend.pyload_model() functiontranscribe_audio() functionpython run.py
uvicorn backend:app --host 0.0.0.0 --port 8000 --workers 4
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "backend:app", "--host", "0.0.0.0", "--port", "8000"]
Server logs are displayed in the terminal where you run python run.py.
backend.pypublic//docs106 commits
Python
48.6%
JavaScript
28.2%
CSS
13.9%
HTML
9.3%
VoxScribe is a lightweight, unified platform for testing and comparing multiple open-source speech-to-text (STT) models through a single interface. Born from real-world enterprise challenges where proprietary STT solutions become prohibitively expensive at scale, VoxScribe democratizes access to cutting-edge open-source alternatives.
Startups transcribing speech at scale face a common dilemma: cost vs. control. A contact center processing 100,000 hours of calls monthly can easily spend $150,000+ on transcription alone. While open-source STT models like Whisper, Voxtral, Parakeet, and Canary-Qwen now rival proprietary solutions in accuracy, evaluating them has been a nightmare:
β
Unified Interface: Test 5+ open-source STT models through a single FastAPI backend and clean web UI
β
Dependency Management: Handles version conflicts and library incompatibilities automatically
β
Side-by-Side Comparison: Upload audio and compare transcriptions across multiple models
β
Model Caching: Intelligent caching for faster subsequent runs
β
Clean API: RESTful endpoints for easy integration into existing workflows
β
Cost Control: Self-hosted solution puts you in control of transcription costs
βββ backend.py # FastAPI backend with STT logic
βββ public/ # Frontend static files
β βββ index.html # Main HTML interface
β βββ styles.css # CSS styling with dark/light theme
β βββ app.js # JavaScript frontend logic
βββ run.py # Startup script
βββ requirements.txt # Python dependencies
Install NVIDIA GRID drivers if using Amazon Linux 2023 6.1 else skip this step
# Follow AWS documentation for GRID driver installation
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver
Verify CUDA installation
nvidia-smi
Install system dependencies
sudo dnf update -y
sudo dnf install git -y
Install Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
yes)yes when prompted)Restart your shell or source bashrc
source ~/.bashrc
Create and activate conda environment
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda create -n voxscribe python=3.12 -y
conda activate voxscribe
Install ffmpeg in Conda env
conda install ffmpeg -y
Clone the repository
git clone https://github.com/Fraser27/VoxScribe.git
cd VoxScribe
Install Python dependencies
pip install -r requirements.txt
Start the application
python run.py
http://localhost:8000
GET /api/status - Get system and dependency statusGET /api/models - Get available models and cache statusPOST /api/transcribe - Single model transcriptionPOST /api/compare - Multi-model comparisonPOST /api/install-dependency - Install missing dependencies| Engine | Models | Dependencies | Features |
|---|---|---|---|
| Whisper | tiny, base, small, medium, large, large-v2, large-v3 | β Built-in | Detailed timestamps, multiple sizes |
| Voxtral | Mini-3B, Small-24B | transformers 4.56.0+ | Advanced audio understanding, multilingual |
| Parakeet | TDT-0.6B-V2 | NeMo toolkit | NVIDIA optimized, fast inference |
| Canary | Qwen-2.5B | NeMo toolkit | State-of-the-art English ASR |
The system automatically handles version conflicts between:
Installation buttons are provided in the UI for missing dependencies.
Supported audio formats: WAV, MP3, FLAC, M4A, OGG
# Run with auto-reload
uvicorn backend:app --reload --host 0.0.0.0 --port 8000
Static files are served from the public/ directory. Changes to HTML, CSS, or JS files are reflected immediately.
MODEL_REGISTRY in backend.pyload_model() functiontranscribe_audio() functionpython run.py
uvicorn backend:app --host 0.0.0.0 --port 8000 --workers 4
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "backend:app", "--host", "0.0.0.0", "--port", "8000"]
Server logs are displayed in the terminal where you run python run.py.
backend.pypublic//docs106 commits
Python
48.6%
JavaScript
28.2%
CSS
13.9%
HTML
9.3%