Reconocimiento de voz de un extremo a otro utilizando RNN-Transducer en Tensorflow 2.0
Este modelo de reconocimiento de voz se basa en el trabajo de investigación Streaming End-to-end Speech Recognition For Mobile Devices de Google y se implementa en Python 3 usando Tensorflow 2.0.
Para configurar su entorno, ejecute el siguiente comando:
git clone --recurse https://github.com/noahchalifour/rnnt-speech-recognition.git
cd rnnt-speech-recognition
pip install tensorflow==2.2.0 # or tensorflow-gpu==2.2.0 for GPU support
pip install -r requirements.txt
./scripts/build_rnnt.sh # to setup the rnnt loss
Puede encontrar y descargar el conjunto de datos de Common Voice aquí
Antes de poder entrenar un modelo en el conjunto de datos de Common Voice, primero debe convertir todos los tipos de archivos de audio mp3 a wav. Hágalo ejecutando el siguiente comando:
NOTA: asegúrese de tener
ffmpeg
instalado en su computadora, ya que lo usa para convertir mp3 a wav.
./scripts/common_voice_convert.sh <data_dir> <# of threads>
python scripts/remove_missing_samples.py
--data_dir <data_dir>
--replace_old
Después de convertir todos los mp3 a wav que necesita para preprocesar el conjunto de datos, puede hacerlo ejecutando el siguiente comando:
python preprocess_common_voice.py
--data_dir <data_dir>
--output_dir <preprocessed_dir>
Para entrenar un modelo simple, ejecute el siguiente comando:
python run_rnnt.py
--mode train
--data_dir <path to data directory>