nyadla-sys/whisper-tiny.en.tflite
11.6k
Whisper TFLite Model Generation and Test
Converts OpenAI Whisper speech recognition models to TFLite format for on-device inference (e.g. Android), and generates the mel filter + vocab binary file needed by native C++ runtimes.
Requirements
- Python 3.9
- macOS, Linux, or Google Colab
Dependencies are installed automatically on first run.
Three Generation Modes
The script supports three modes depending on the --language argument:
1. English-only (.en models)
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-tiny.en- Output:
whisper-tiny.en.tflite - Signature:
serving_default(transcribe English) forced_decoder_ids:[[2, 50359], [3, 50363]]
2. Single-language (explicit language code)
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-base --language fr
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-base --language de- Output:
whisper-base.fr.tflite,whisper-base.de.tflite - Signature:
serving_default(transcribe the specified language) forced_decoder_ids:[[1, <lang_token>], [2, 50359], [3, 50363]]
3. Transcribe-translate (auto language detection)
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-base --language auto- Output:
whisper-base-transcribe-translate.tflite - Signatures:
serving_default(= transcribe),serving_transcribe,serving_translate - No language token forced — Whisper auto-detects the spoken language
forced_decoder_ids (transcribe):[[2, 50359], [3, 50363]]forced_decoder_ids (translate):[[2, 50358], [3, 50363]]
Usage
# Default: whisper-tiny.en (English-only)
python3.9 whisper_tflite_model_generation_and_test.py
# Single-language French model
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-base --language fr
# Transcribe-translate model (auto-detect language)
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-base --language auto
# Test translate signature specifically
python3.9 whisper_tflite_model_generation_and_test.py --model whisper-small --language auto --task translate
# Show all options
python3.9 whisper_tflite_model_generation_and_test.py --helpCommand Line Arguments
Supported Models
Supported Languages
en, fr, hi, ko, de, zh, ja, es, ar, ru, pt, it, nl, sv, pl, da, fi, and many more.
Use auto for language auto-detection. See the full list.
TFLite Serving Signatures
Token reference:
50358=<|translate|>50359=<|transcribe|>50363=<|notimestamps|>
What the Script Does
Output Files
# English-only
whisper-tiny.en.tflite
filters_vocab_en.bin
# Single-language (e.g. French)
whisper-base.fr.tflite
filters_vocab_multilingual.bin
# Transcribe-translate (auto)
whisper-base-transcribe-translate.tflite
filters_vocab_multilingual.binThese files are what you need for on-device Whisper inference on Android or other embedded platforms.
Citing
If you are using the Whisper tflite model, please cite:
@misc{nyadla-sys,
author={Niranjan Yadla},
title={{Whisper TFLite: OpenAI Whisper Model Port for Edge Devices}},
year=2022,
howpublished={GitHub Repository},
url={https://github.com/nyadla-sys/whisper.tflite},
url={https://github.com/moonshine-ai/openai-whisper},
note={Original TFLite implementation of OpenAI Whisper for on-device automatic speech recognition}
}