TheStageAI/TheWhisper

Optimized Whisper models for streaming and on-device use

Python

903

89 commits

updated Oct 12, 2026

See the code

README

TheWhisper: High-Performance Speech-to-Text

License: MIT Hugging Face NVIDIA Apple Silicon

Frame 339234 (2)

πŸš€ Overview

This repository aims to share and develop the most efficient speech-to-text and text-to-speech inference solution -with a strong focus on self-hosting, cloud hosting, and on-device inference across multiple devices.

For the first release this repository provides open-source transcription models with streaming inference support and:

  • Hugging Face open weights for whisper models with a flexible chunk size (original models have 30s)
  • High-performance TheStage AI inference engines (NVIDIA GPU), 220 tok/s on L40s for whisper-large-v3 model
  • CoreML engines for macOS / Apple Silicon with the lowest in the world power consumption for MacOS
  • Local RestAPI with frontend examples using JS and Electron see for details
  • Electron demo app built by TheStage AI (Certified by Apple): TheNotes for macOS
  • Tutorial on building local note-taking app for macOS using Electron and TheWhisper

https://github.com/user-attachments/assets/f4d3fe7b-e2c5-42ff-a5d0-fef6afd11684

It is optimized for low-latency, low power usage, and scalable streaming transcription. Ideal for real-time captioning, live meetings, voice interfaces, and edge deployments.

πŸ“– Table of Contents


✨ Features

  • Open weights fine-tuned versions of Whisper models
  • Fine-tuned models support inference with 10s, 15s, 20s and 30s
  • CoreML engines for macOS and Apple Silicon, ~2W of power consumption, ~2GB RAM usage
  • Optimized engines for NVIDIA GPUs through TheStage AI ElasticModels (free for small orgs)
  • Streaming implementation (NVIDIA + macOS)
  • Benchmarks: latency, memory, power, and ASR accuracy (OpenASR)
  • Simple Python API, examples and tutorial of deployment for MacOS desktop app with Electron and ReactJS
apple m2 whisper (4) nvidia l40s (2)

For comprehensive performance and quality benchmarks see benchmark/.


πŸ“¦ Quick start

Clone the repository

git clone https://github.com/TheStageAI/TheWhisper.git
cd TheWhisper

Install for Apple

pip install .[apple]

Install for Nvidia

pip install .[nvidia]

Install for Nvidia with TheStage AI optmized engines

pip install 'thestage-elastic-models[nvidia]==0.2.4.post0' --index-url https://thestage.jfrog.io/artifactory/api/pypi/pypi-thestage-ai-production/simple --extra-index-url https://pypi.nvidia.com --extra-index-url https://pypi.org/simple
pip install .[nvidia]
pip install thestage

Install for Jetson-Thor with TheStage AI optmized engines

Make sure you have tensorrt==10.13.3.9 installed on your jetson and run:

pip install thestage-elastic-models[thor]==0.2.4.post0 --extra-index-url https://thestage.jfrog.io/artifactory/api/pypi/pypi-thestage-ai-jetson-thor/simple -i https://pypi.jetson-ai-lab.io/sbsa/cu130/+simple/ --extra-index-url https://pypi.org
pip install .
pip install thestage

Then generate access token on TheStage AI Platform in your profile and execute the following command:

thestage config set -t <YOUR_API_TOKEN>

πŸ—οΈ Support Matrix and System Requirements

Featurewhisper-large-v3 (Nvidia)whisper-large-v3 (Apple)whisper-large-v3-turbo (Nvidia)whisper-large-v3-turbo (Apple)
Streamingβœ…βœ…βœ…βœ…
Acceleratedβœ…βœ…βœ…βœ…
Word Timestampsβœ…βœ…βœ…βœ…
Multilingualβœ…βœ…βœ…βœ…
10s Chunk Modeβœ…βœ…βœ…βœ…
15s Chunk Modeβœ…βœ…βœ…βœ…
20s Chunk Modeβœ…βœ…βœ…βœ…
30s Chunk Modeβœ…βœ…βœ…βœ…

Nvidia GPU Requirements

  • Supported GPUs: RTX 4090, RTX 5090, L40s, H100, A100, Jetson-Thor
  • Operating System: Ubuntu 20.04+
  • Minimum RAM: 2.5 GB (5 GB recommended for large-v3 model)
  • CUDA Version: 11.8 or higher
  • Driver Version: 520.0 or higher
  • Python version: 3.10-3.12

Apple Silicon Requirements

  • Supported Chipsets: M1, M1 Pro, M1 Max, M1 Ultra, M2, M2 Pro, M2 Max, M2 Ultra, M3, M3 Pro, M3 Max, M4, M4 Pro, M4 Max
  • Operating System: macOS 15.0 (Ventura) or later, iOS 18.0 or later
  • Minimum RAM: 2 GB (4 GB recommended for large-v3 model)
  • Python version: 3.10-3.12

▢️ Usage and Deployment

Apple Usage

import torch
from thestage_speechkit.apple import ASRPipeline

model = ASRPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # optimized model with ANNA
    model_size='S',
    chunk_length_s=10
)

# inference
result = model(
    "path_to_your_audio.wav", 
    return_timestamps="word"
)

print(result["text"])

Apple Usage with Streaming

from thestage_speechkit.streaming import StreamingPipeline, MicStream, FileStream, StdoutStream

streaming_pipe = StreamingPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # Optimized model by ANNA
    model_size='S',
    # Window length
    chunk_length_s=10,
    platform='apple',
    language='en'
)

# set stride in miliseconds
mic_stream = MicStream(step_size_s=0.5)
output_stream = StdoutStream()

while True:
    chunk = mic_stream.next_chunk()
    if chunk is not None:
        approved_text, assumption = streaming_pipe(chunk)
        output_stream.write(approved_text, assumption)
    else:
        break

Nvidia Usage (HuggingFace Transfomers)

import torch
from thestage_speechkit.nvidia import ASRPipeline

model = ASRPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # allowed: 10s, 15s, 20s, 30s
    chunk_length_s=10,
    # optimized TheStage AI engines
    batch_size=32,
    device='cuda'
)

# inference
result = model(
    "path_to_your_audio.wav", 
    chunk_length_s=10,
    generate_kwargs={'do_sample': False, 'use_cache': True}
)

print(result["text"])

Nvidia Usage (TheStage AI engines)

import torch
from thestage_speechkit.nvidia import ASRPipeline

model = ASRPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # allowed: 10s, 15s, 20s, 30s
    chunk_length_s=10,
    # optimized TheStage AI engines
    model_size='S',
    batch_size=32,
    device='cuda'
)

# inference
result = model(
    "path_to_your_audio.wav", 
    chunk_length_s=10,
    generate_kwargs={'do_sample': False, 'use_cache': True}
)

print(result["text"])

πŸ’» Build On-Device Desktop Application for Apple

You can build a macOS desktop app with real-time transcription. Find a simple ReactJS application here: Link to React Frontend You can also download our app built using this backend here: TheNotes for macOS


πŸ“Š Benchmarks

TheWhisper is a fine-tuned Whisper model that can process audio chunks of any size up to 30 seconds. Unlike the original Whisper models, it doesn't require padding audio with silence to reach 30 seconds. For quality benchmarks, we used the multilingual benchmarks Open ASR Leaderboard.

For comprehensive quality and performance benchmarks, including comparisons with other Whisper inference solutions, please refer to the benchmark/ directory.

vanilla whisper (1) TheStage AI Whisper (1) Open ASR Leaderboard Benchmark Multilingual Benchmark

🏒 Enterprise License Summary

To get commercial license for bigger number of GPUs to use TheStage AI optimized engines please contact us here: Service request

PlatformEngine TypeStatusLicense
NVIDIA GPUs (CUDA)Pytorch HF Transformersβœ… StableFree
macOS / Apple SiliconCoreML Engine + MLXβœ… StableFree
NVIDIA GPUs (CUDA)TheStage AI (Optimized)βœ… StableFree ≀ 4 GPUs/year for small orgs

🧭 Development Status

βœ… OpenASR WER benchmark for multiple chunk sizes

βœ… Performance benchmark for NVIDIA

βœ… Support for L40S, H100, RTX 4090, RTX 5090

βœ… Time-stamp support on Nvidia

βœ… Nvidia Jetson support

☐ Streaming containers for Nvidia

☐ Ready-to-go containers for inference on Nvidia GPUs with OpenAI compatible API

☐ Speaker diarization and speaker identification


πŸ™Œ Acknowledgements

  • Silero VAD: Used for voice activity detection in thestage_speechkit/vad.py. See @snakers4.
  • OpenAI Whisper: Original Whisper model and pretrained checkpoints. See @openai.
  • Hugging Face Transformers: Model, tokenizer, and inference utilities. See @transformers.
  • MLX community: MLX Whisper implementation for Apple Silicon. See @mlx-explore.
apple-silicon
coreml
mlx
nvidia-gpu
on-device-ai
real-time
speech-recognition
speech-to-text
streaming
transcription
translation
voice
voice-ai

TheStageAI/TheWhisper

Optimized Whisper models for streaming and on-device use

Python

903

89 commits

updated Oct 12, 2026

See the code

README

TheWhisper: High-Performance Speech-to-Text

License: MIT Hugging Face NVIDIA Apple Silicon

Frame 339234 (2)

πŸš€ Overview

This repository aims to share and develop the most efficient speech-to-text and text-to-speech inference solution -with a strong focus on self-hosting, cloud hosting, and on-device inference across multiple devices.

For the first release this repository provides open-source transcription models with streaming inference support and:

  • Hugging Face open weights for whisper models with a flexible chunk size (original models have 30s)
  • High-performance TheStage AI inference engines (NVIDIA GPU), 220 tok/s on L40s for whisper-large-v3 model
  • CoreML engines for macOS / Apple Silicon with the lowest in the world power consumption for MacOS
  • Local RestAPI with frontend examples using JS and Electron see for details
  • Electron demo app built by TheStage AI (Certified by Apple): TheNotes for macOS
  • Tutorial on building local note-taking app for macOS using Electron and TheWhisper

https://github.com/user-attachments/assets/f4d3fe7b-e2c5-42ff-a5d0-fef6afd11684

It is optimized for low-latency, low power usage, and scalable streaming transcription. Ideal for real-time captioning, live meetings, voice interfaces, and edge deployments.

πŸ“– Table of Contents


✨ Features

  • Open weights fine-tuned versions of Whisper models
  • Fine-tuned models support inference with 10s, 15s, 20s and 30s
  • CoreML engines for macOS and Apple Silicon, ~2W of power consumption, ~2GB RAM usage
  • Optimized engines for NVIDIA GPUs through TheStage AI ElasticModels (free for small orgs)
  • Streaming implementation (NVIDIA + macOS)
  • Benchmarks: latency, memory, power, and ASR accuracy (OpenASR)
  • Simple Python API, examples and tutorial of deployment for MacOS desktop app with Electron and ReactJS
apple m2 whisper (4) nvidia l40s (2)

For comprehensive performance and quality benchmarks see benchmark/.


πŸ“¦ Quick start

Clone the repository

git clone https://github.com/TheStageAI/TheWhisper.git
cd TheWhisper

Install for Apple

pip install .[apple]

Install for Nvidia

pip install .[nvidia]

Install for Nvidia with TheStage AI optmized engines

pip install 'thestage-elastic-models[nvidia]==0.2.4.post0' --index-url https://thestage.jfrog.io/artifactory/api/pypi/pypi-thestage-ai-production/simple --extra-index-url https://pypi.nvidia.com --extra-index-url https://pypi.org/simple
pip install .[nvidia]
pip install thestage

Install for Jetson-Thor with TheStage AI optmized engines

Make sure you have tensorrt==10.13.3.9 installed on your jetson and run:

pip install thestage-elastic-models[thor]==0.2.4.post0 --extra-index-url https://thestage.jfrog.io/artifactory/api/pypi/pypi-thestage-ai-jetson-thor/simple -i https://pypi.jetson-ai-lab.io/sbsa/cu130/+simple/ --extra-index-url https://pypi.org
pip install .
pip install thestage

Then generate access token on TheStage AI Platform in your profile and execute the following command:

thestage config set -t <YOUR_API_TOKEN>

πŸ—οΈ Support Matrix and System Requirements

Featurewhisper-large-v3 (Nvidia)whisper-large-v3 (Apple)whisper-large-v3-turbo (Nvidia)whisper-large-v3-turbo (Apple)
Streamingβœ…βœ…βœ…βœ…
Acceleratedβœ…βœ…βœ…βœ…
Word Timestampsβœ…βœ…βœ…βœ…
Multilingualβœ…βœ…βœ…βœ…
10s Chunk Modeβœ…βœ…βœ…βœ…
15s Chunk Modeβœ…βœ…βœ…βœ…
20s Chunk Modeβœ…βœ…βœ…βœ…
30s Chunk Modeβœ…βœ…βœ…βœ…

Nvidia GPU Requirements

  • Supported GPUs: RTX 4090, RTX 5090, L40s, H100, A100, Jetson-Thor
  • Operating System: Ubuntu 20.04+
  • Minimum RAM: 2.5 GB (5 GB recommended for large-v3 model)
  • CUDA Version: 11.8 or higher
  • Driver Version: 520.0 or higher
  • Python version: 3.10-3.12

Apple Silicon Requirements

  • Supported Chipsets: M1, M1 Pro, M1 Max, M1 Ultra, M2, M2 Pro, M2 Max, M2 Ultra, M3, M3 Pro, M3 Max, M4, M4 Pro, M4 Max
  • Operating System: macOS 15.0 (Ventura) or later, iOS 18.0 or later
  • Minimum RAM: 2 GB (4 GB recommended for large-v3 model)
  • Python version: 3.10-3.12

▢️ Usage and Deployment

Apple Usage

import torch
from thestage_speechkit.apple import ASRPipeline

model = ASRPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # optimized model with ANNA
    model_size='S',
    chunk_length_s=10
)

# inference
result = model(
    "path_to_your_audio.wav", 
    return_timestamps="word"
)

print(result["text"])

Apple Usage with Streaming

from thestage_speechkit.streaming import StreamingPipeline, MicStream, FileStream, StdoutStream

streaming_pipe = StreamingPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # Optimized model by ANNA
    model_size='S',
    # Window length
    chunk_length_s=10,
    platform='apple',
    language='en'
)

# set stride in miliseconds
mic_stream = MicStream(step_size_s=0.5)
output_stream = StdoutStream()

while True:
    chunk = mic_stream.next_chunk()
    if chunk is not None:
        approved_text, assumption = streaming_pipe(chunk)
        output_stream.write(approved_text, assumption)
    else:
        break

Nvidia Usage (HuggingFace Transfomers)

import torch
from thestage_speechkit.nvidia import ASRPipeline

model = ASRPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # allowed: 10s, 15s, 20s, 30s
    chunk_length_s=10,
    # optimized TheStage AI engines
    batch_size=32,
    device='cuda'
)

# inference
result = model(
    "path_to_your_audio.wav", 
    chunk_length_s=10,
    generate_kwargs={'do_sample': False, 'use_cache': True}
)

print(result["text"])

Nvidia Usage (TheStage AI engines)

import torch
from thestage_speechkit.nvidia import ASRPipeline

model = ASRPipeline(
    model='TheStageAI/thewhisper-large-v3-turbo',
    # allowed: 10s, 15s, 20s, 30s
    chunk_length_s=10,
    # optimized TheStage AI engines
    model_size='S',
    batch_size=32,
    device='cuda'
)

# inference
result = model(
    "path_to_your_audio.wav", 
    chunk_length_s=10,
    generate_kwargs={'do_sample': False, 'use_cache': True}
)

print(result["text"])

πŸ’» Build On-Device Desktop Application for Apple

You can build a macOS desktop app with real-time transcription. Find a simple ReactJS application here: Link to React Frontend You can also download our app built using this backend here: TheNotes for macOS


πŸ“Š Benchmarks

TheWhisper is a fine-tuned Whisper model that can process audio chunks of any size up to 30 seconds. Unlike the original Whisper models, it doesn't require padding audio with silence to reach 30 seconds. For quality benchmarks, we used the multilingual benchmarks Open ASR Leaderboard.

For comprehensive quality and performance benchmarks, including comparisons with other Whisper inference solutions, please refer to the benchmark/ directory.

vanilla whisper (1) TheStage AI Whisper (1) Open ASR Leaderboard Benchmark Multilingual Benchmark

🏒 Enterprise License Summary

To get commercial license for bigger number of GPUs to use TheStage AI optimized engines please contact us here: Service request

PlatformEngine TypeStatusLicense
NVIDIA GPUs (CUDA)Pytorch HF Transformersβœ… StableFree
macOS / Apple SiliconCoreML Engine + MLXβœ… StableFree
NVIDIA GPUs (CUDA)TheStage AI (Optimized)βœ… StableFree ≀ 4 GPUs/year for small orgs

🧭 Development Status

βœ… OpenASR WER benchmark for multiple chunk sizes

βœ… Performance benchmark for NVIDIA

βœ… Support for L40S, H100, RTX 4090, RTX 5090

βœ… Time-stamp support on Nvidia

βœ… Nvidia Jetson support

☐ Streaming containers for Nvidia

☐ Ready-to-go containers for inference on Nvidia GPUs with OpenAI compatible API

☐ Speaker diarization and speaker identification


πŸ™Œ Acknowledgements

  • Silero VAD: Used for voice activity detection in thestage_speechkit/vad.py. See @snakers4.
  • OpenAI Whisper: Original Whisper model and pretrained checkpoints. See @openai.
  • Hugging Face Transformers: Model, tokenizer, and inference utilities. See @transformers.
  • MLX community: MLX Whisper implementation for Apple Silicon. See @mlx-explore.
apple-silicon
coreml
mlx
nvidia-gpu
on-device-ai
real-time
speech-recognition
speech-to-text
streaming
transcription
translation
voice
voice-ai

Significant stargazers

Ash Vardanian

1,456 followers Β· starred Oct 2025

Fangdun Tsai

1,063 followers Β· starred Dec 2025

Harsh Kumar

111 followers Β· starred Oct 2025

Yuri Khrustalev

70 followers Β· starred Oct 2025