Skip to content

usefulsensors/openai-whisper

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

For more information see the OpenAI whisper paper.

Supported platforms:

Run whisper inference on TFLite framework

TensorFlow Lite C++ minimal example to run inference on whisper.tflite(~40 MB hybrid model weights are in int8 and activations are in float32)

This example shows how you can build a simple TensorFlow Lite application.

Step 1. Clone Usefulsensors/openai-whisper repository

It requires 'git lfs install' as our whisper.tflite model uses Git Large File Storage (LFS).

you can follow git lfs installation guide

git clone https://github.com/usefulsensors/openai-whisper.git
cd openai-whisper

Step 2. Install CMake tool

It requires CMake 3.16 or higher. On Ubuntu, you can simply run the following command.

sudo apt-get install cmake

Or you can follow the official cmake installation guide

Step 3. Clone TensorFlow repository

git clone https://github.com/tensorflow/tensorflow.git tensorflow_src

Step 4. Copy required files to tensorflow_src/tensorflow/lite/examples/minimal

cp tflite_minimal/minimal.cc  tensorflow_src/tensorflow/lite/examples/minimal/
cp tflite_minimal/*.h  tensorflow_src/tensorflow/lite/examples/minimal/

Step 5. Create CMake build directory and run CMake tool

mkdir minimal_build
cd minimal_build
cmake ../tensorflow_src/tensorflow/lite/examples/minimal

Step 6. Build TensorFlow Lite

In the minimal_build directory,

# build the minimal example
cmake --build . -j

Step 7. Copy ~/tflite_minimal/filters_vocab_gen.bin to minimal_build

cp ../tflite_minimal/filters_vocab_gen.bin ./

to use whisper-medium.tflite/whisper-small.tflite

cp ../models/filters_vocab_multilingual.bin ./filters_vocab_gen.bin

Step 8. Run the whisper.tflite with pre generated input_features or 16Khz 16bit Mono Audio file

./minimal ../models/whisper.tflite
# transcribe an audio file
./minimal ../models/whisper.tflite ../samples/jfk.wav
./minimal ../models/whisper.tflite ../samples/test.wav
./minimal ../models/whisper.tflite ../samples/test_1.wav

to run whisper-small.tflite

cp ../models/filters_vocab_multilingual.bin ./filters_vocab_gen.bin
./minimal ../models/whisper-small.tflite ../samples/jfk.wav

to run whisper-medium.tflite

cp ../models/filters_vocab_multilingual.bin ./filters_vocab_gen.bin
./minimal ../models/whisper-medium.tflite ../samples/jfk.wav

Note: Use the arecord application to record test audio on a Linux computer.

arecord -r 16000 -c 1 -d 30 -f S16_LE test.wav

Android OS

Feel free to download the openai/whisper-tiny tflite-based Android Whisper ASR APP from Google App Store.

Apple iOS

Feel free to download the openai/whisper-tiny tflite-based Apple Whisper ASR APP from Apple App Store.

About

Robust Speech Recognition via Large-Scale Weak Supervision

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published