Keyword spotting program for the Luganda Language
----- Welcome to KWS -----
This program is an implementation of the small footprint keyword spotter system described by google.
It attempts to ease the process of formatting audios and extracting useful training information from them,
as well as training of a convolutional neural network.
--------------------------
REQUIREMENTS
The program was run and tested on the following platforms:
A. Ubuntu Linux 18.04
B. Python 3.6.7
Package Version
----------------------------- --------------
argcomplete 1.9.4
argparse 1.1
auditok 0.1.5
dash 0.39.0
dash-core-components 0.44.0
dash-daq 0.1.0
dash-html-components 0.14.0
dash-renderer 0.20.0
dash-table 3.6.0
h5py 2.9.0
Keras 2.2.4
Keras-Applications 1.0.7
Keras-Preprocessing 1.0.9
numpy 1.16.2
PyAudio 0.2.11
pydub 0.23.1
PyQt5 5.11.3
PyQt5-sip 4.19.13
qtconsole 4.4.3
scikit-learn 0.20.2
scipy 1.2.1
sox 1.3.7
tensorflow 1.13.1
tensorflow-estimator 1.13.0
--------------------------
HOW TO USE
A. PREPARING THE AUDIO DATA
1. Copy all audios to be used for training/testing into kws/tokens folder (create it if it doesn't exist).
2. Split these audios into training and test folders, with each word in its own folder.
- Copy tokens into kws/tokens/{label}/test and kws/tokens/{label}/train.
**The label used for training the audios is the name of the keyword.
3. Make sure the folder names or the audio files do not have any whitespace (replace with underscores "_")
- There is a utility program in kws/scripts/sh called renamer.sh that can rename all files by their folder n …