23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# Training a TensorFlow.js model for Speech Commands Using Browser FFT
|
|
|
|
This directory contains two example notebooks. They demonstrate how to train
|
|
custom TensorFlow.js audio models and deploy them for inference. The models
|
|
trained this way expect inputs to be spectrograms in a format consistent with
|
|
[WebAudio's `getFloatFrequencyData`](https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getFloatFrequencyData).
|
|
Therefore they can be deployed to the browser using the speech-commands library
|
|
for inference.
|
|
|
|
Specifically,
|
|
|
|
- [training_custom_audio_model_in_python.ipynb](./training_custom_audio_model_in_python.ipynb)
|
|
contains steps to preprocess a directory with audio examples stored as .wav
|
|
files and the steps in which a tf.keras model can be trained on the
|
|
preprocessed data. It then demonstrates how the trained tf.keras model can be
|
|
converted to a TensorFlow.js `LayersModel` that can be loaded with the
|
|
speech-command library's `create()` API. In addition, the notebook also shows
|
|
the steps to convert the trained tf.keras model to a TFLite model for
|
|
inference on mobile devices.
|
|
- [tflite_conversion.ipynb](./tflite_conversion.ipynb) illustrates how
|
|
an audio model trained on [Teachable Machine](https://teachablemachine.withgoogle.com/train/audio)
|
|
can be converted to TFLite directly.
|