Android application using input sound to recognize voice.
v1.0
- Kotlin 2.1.21
- Java 11
- Android SDK 34
- Gradle 8.9.3
- Kotlin Multiplatform 2.1.21
- Jetpack Compose 1.6.10
- LiteRT 1.3.0
- Python 3.8.20
- Numpy 1.23.3
- TensorFlow 2.11.0
- Keras 2.13.1
- cuda 11.2
- cuDNN 8.1.0
- Clone repository:
https://github.com/ExaggeratedRumors/demooder.git
- Download AudioWav data: Download from Kaggle.
- Unzip Wav files in the
processing/data_audiodirectory. - [optional] Run data augmentation task (use
gradlew.baton Windows):
./gradlew :processing:dataAugmentation- Run create spectrograms task (use
gradlew.baton Windows):
./gradlew :processing:createSpectrogramsOutput spectrograms are saved in data/spectrograms directory.
- Audio data augmentation: about audio data augmentation.
- Gaussian noise.
- Time stretching.
- Read WAV files according to the header scheme: wav file format.
- Audio signal resampling (check whether the signal is big-endian or little-endian): about resampling.
- Optional gaussian noise reducing.
- Convert byte data to complex.
- Signal windowing: about windowing.
- Use Short-Time Fourier Transform (STFT): about STFT, about FFT.
- Optional filtering by A-weighting or C-weighting: about weighting.
- Optional converting signal to decibels and lower spectrum.
- Read classifier model.
- Record voice signal.
- Save as WAV file.
- Down-sampling signal from 48000Hz to 16000Hz: about resampling.
- Convert byte data to complex.
- Signal windowing and filter by weighting.
- Predict.
- Convert TF model to ONNX. The model is converted to ONNX to leverage the ONNX Runtime for efficient, cross-platform inference on Android devices.
- Record voice signal.
- Downsample signal from 48000Hz to 16000Hz.
- Convert byte data to complex.
- Convert signal to spectrogram bitmap.
- Predict.
- Read data.
- Use FFT.
- Convert FFt to spectral amplitude.
- Convert to octave/thirds bands: about octave to third conversion.
- Filter by A-weighting or C-weighting.
- CUDA for training model on GPU (Nvidia graphics cards): download CUDA.
- NNAPI for mobile devices environment acceleration: about inference on Android .
- Upgrade for Conda environment during DLL initialization error for converter module:
conda install conda-forge::vs2015_runtime


