Optimized Whisper models for streaming and on-device use
See the codeThis 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:
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.
For comprehensive performance and quality benchmarks see benchmark/.
git clone https://github.com/TheStageAI/TheWhisper.git
cd TheWhisper
pip install .[apple]
pip install .[nvidia]
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
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>
| Feature | whisper-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 | β | β | β | β |
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"])
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
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"])
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"])
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
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.
To get commercial license for bigger number of GPUs to use TheStage AI optimized engines please contact us here: Service request
| Platform | Engine Type | Status | License |
|---|---|---|---|
| NVIDIA GPUs (CUDA) | Pytorch HF Transformers | β Stable | Free |
| macOS / Apple Silicon | CoreML Engine + MLX | β Stable | Free |
| NVIDIA GPUs (CUDA) | TheStage AI (Optimized) | β Stable | Free β€ 4 GPUs/year for small orgs |
β 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
thestage_speechkit/vad.py. See @snakers4.1,456 followers Β· starred Oct 2025
1,063 followers Β· starred Dec 2025
111 followers Β· starred Oct 2025
70 followers Β· starred Oct 2025
Optimized Whisper models for streaming and on-device use
See the codeThis 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:
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.
For comprehensive performance and quality benchmarks see benchmark/.
git clone https://github.com/TheStageAI/TheWhisper.git
cd TheWhisper
pip install .[apple]
pip install .[nvidia]
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
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>
| Feature | whisper-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 | β | β | β | β |
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"])
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
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"])
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"])
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
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.
To get commercial license for bigger number of GPUs to use TheStage AI optimized engines please contact us here: Service request
| Platform | Engine Type | Status | License |
|---|---|---|---|
| NVIDIA GPUs (CUDA) | Pytorch HF Transformers | β Stable | Free |
| macOS / Apple Silicon | CoreML Engine + MLX | β Stable | Free |
| NVIDIA GPUs (CUDA) | TheStage AI (Optimized) | β Stable | Free β€ 4 GPUs/year for small orgs |
β 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
thestage_speechkit/vad.py. See @snakers4.1,456 followers Β· starred Oct 2025
1,063 followers Β· starred Dec 2025
111 followers Β· starred Oct 2025
70 followers Β· starred Oct 2025