Skip to content

Robust Speech Recognition via Large-Scale Weak Supervision

License

Notifications You must be signed in to change notification settings

c0ncentus/openai-whisper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Languages

  • C 92.3%
  • C++ 6.2%
  • Jupyter Notebook 1.2%
  • CMake 0.2%
  • Java 0.1%
  • HTML 0.0%