All Projects → sovse → Rus-SpeechRecognition-LSTM-CTC-VoxForge

sovse / Rus-SpeechRecognition-LSTM-CTC-VoxForge

Licence: Apache-2.0 license
Распознавание речи русского языка используя Tensorflow, обучаясь на базе Voxforge

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to Rus-SpeechRecognition-LSTM-CTC-VoxForge

Automatic speech recognition
End-to-end Automatic Speech Recognition for Madarian and English in Tensorflow
Stars: ✭ 2,751 (+5402%)
Mutual labels:  end-to-end, lstm, speech-recognition
Rnn ctc
Recurrent Neural Network and Long Short Term Memory (LSTM) with Connectionist Temporal Classification implemented in Theano. Includes a Toy training example.
Stars: ✭ 220 (+340%)
Mutual labels:  lstm, speech-recognition, ctc
Speech-Recognition
End-to-end Automatic Speech Recognition for Madarian and English in Tensorflow
Stars: ✭ 21 (-58%)
Mutual labels:  end-to-end, lstm, speech-recognition
Tensorflow end2end speech recognition
End-to-End speech recognition implementation base on TensorFlow (CTC, Attention, and MTL training)
Stars: ✭ 305 (+510%)
Mutual labels:  end-to-end, speech-recognition, ctc
Espnet
End-to-End Speech Processing Toolkit
Stars: ✭ 4,533 (+8966%)
Mutual labels:  end-to-end, speech-recognition
DSTC6-End-to-End-Conversation-Modeling
DSTC6: End-to-End Conversation Modeling Track
Stars: ✭ 56 (+12%)
Mutual labels:  end-to-end, lstm
Espresso
Espresso: A Fast End-to-End Neural Speech Recognition Toolkit
Stars: ✭ 808 (+1516%)
Mutual labels:  end-to-end, speech-recognition
Rnn Transducer
MXNet implementation of RNN Transducer (Graves 2012): Sequence Transduction with Recurrent Neural Networks
Stars: ✭ 114 (+128%)
Mutual labels:  end-to-end, speech-recognition
Speech Transformer Tf2.0
transformer for ASR-systerm (via tensorflow2.0)
Stars: ✭ 90 (+80%)
Mutual labels:  end-to-end, speech-recognition
End2end Asr Pytorch
End-to-End Automatic Speech Recognition on PyTorch
Stars: ✭ 175 (+250%)
Mutual labels:  end-to-end, speech-recognition
kospeech
Open-Source Toolkit for End-to-End Korean Automatic Speech Recognition leveraging PyTorch and Hydra.
Stars: ✭ 456 (+812%)
Mutual labels:  end-to-end, speech-recognition
ctc-asr
End-to-end trained speech recognition system, based on RNNs and the connectionist temporal classification (CTC) cost function.
Stars: ✭ 112 (+124%)
Mutual labels:  speech-recognition, ctc
kosr
Korean speech recognition based on transformer (트랜스포머 기반 한국어 음성 인식)
Stars: ✭ 25 (-50%)
Mutual labels:  end-to-end, speech-recognition
Wav2letter
Facebook AI Research's Automatic Speech Recognition Toolkit
Stars: ✭ 5,907 (+11714%)
Mutual labels:  end-to-end, speech-recognition
wav2letter
Facebook AI Research's Automatic Speech Recognition Toolkit
Stars: ✭ 6,026 (+11952%)
Mutual labels:  end-to-end, speech-recognition
E2e Asr
PyTorch Implementations for End-to-End Automatic Speech Recognition
Stars: ✭ 106 (+112%)
Mutual labels:  end-to-end, speech-recognition
Pytorch Kaldi
pytorch-kaldi is a project for developing state-of-the-art DNN/RNN hybrid speech recognition systems. The DNN part is managed by pytorch, while feature extraction, label computation, and decoding are performed with the kaldi toolkit.
Stars: ✭ 2,097 (+4094%)
Mutual labels:  lstm, speech-recognition
Icdar 2019 Sroie
ICDAR 2019 Robust Reading Challenge on Scanned Receipts OCR and Information Extraction
Stars: ✭ 202 (+304%)
Mutual labels:  lstm, ctc
Kospeech
Open-Source Toolkit for End-to-End Korean Automatic Speech Recognition.
Stars: ✭ 190 (+280%)
Mutual labels:  end-to-end, speech-recognition
End-to-End-Mandarin-ASR
End-to-end speech recognition on AISHELL dataset.
Stars: ✭ 20 (-60%)
Mutual labels:  end-to-end, speech-recognition

Rus_speech_recognition_LSTM_CTC_VoxForge

#MFCC

Это маленькая модель для автоматического распознавание речи русского языка, обученная на корпусе данных VoxForge( 2,9 ГБ). Она использует два слоя B-LSTM( рекурентная сеть с «длинной кратковременной памятью») по 128 нейронов и функцию потерь CTC (Нейросетевая темпоральная классификация).

Проверить работу можно запустив файл example.ipynd , он переводит речь из двух аудио файлов с мужским и женским голосом в текст из обучающей выборки. Затем можно попробовать распознать речь с микрофона.

Для начала обучения надо скачать с VoxForge репозитория данные на локальную машину, этим занимается файл download_voxforge_data.ipynd . На диске должно быть свободно минимум 3Гб.

Файл train_lstm_ctc_voxforge_rus.ipynd обучает модель нейронной сети и сохраняет чекпоинты в папку \checkpoint1. По умолчанию, в этой папке лежит предобученная модель на 699 эпохе.

Add-my-wav.ipynb - Добовляет примеры txt и wav файлов надиктованные на Ваш локальный микрофон (использует pyaudio ). В нем надо набрать фразу на клавиатуре на русском языке, а затем произнести её в микрофон.

Алгоритм работы: Звуковой фаил wav формата разбивается на части по 10 мс, и преобразуется в 13 Mel Frequency Cepstral Coefficients (MFCCs) , они подаются на вход нейронной сетки, на выходе буквы русского алфавита + пробел и + пустой символ. Во время обучения оптимизируется функция потерь CTC.

PNCC

Другой вариант подготовки фич для распознавания речи, использовать коэффициенты PNCC (Power-Normalized Cepstral Coefficients) . При подготовки их используются фильтры, поэтому они более шумозащищеные. Прочитать про них можно в статье http://www.cs.cmu.edu/~robust/Papers/OnlinePNCC_V25.pdf Файл PNCC.ipnb преобразовывает wav файлы в коэффициенты PNCC и сохраняет их на диске, для последующего обучения модели с шумопонижением. Правдо вычисляются они дольше чем MFCC. Файл train-PNCC.ipynb обучает модель нейронной сети и сохраняет чекпоинты в папку \chekpoint3. По умолчанию, в этой папке лежит предобученная модель на 310 эпохе.

Проверить работу можно запустив файл example-PNCC.ipynd , он переводит речь из двух аудио файлов с мужским и женским голосом в текст из обучающей выборки. Затем можно попробовать распознать речь с микрофона.

Requirements

  • Python 2.7+
  • Jupyter Notebook
  • Tensorflow 1.0+
  • Keras
  • python_speech_features
  • numpy
  • scipy

An russian end-to-end model for Automatic Speech Recognition(ASR) on a small VoxForge dataset. It uses a CTC loss function and 2 layer B-LSTM Network.

Start by first running the "download_voxforge_data.ipynd" this downloads the data from the VoxForge repository for the specific speaker "Aaron". More data can be downloaded by making minor changes in the script.

Now, run the "train_lstm_ctc_voxforge_rus" to get the input features for speech recognition, Mel Frequency Cepstral Coefficients (MFCCs) are extracted. They are assembled into a batched format with the target character level annotations for subsequent training

uses 2 layer bidirectional LSTM network to predict the transcriptions from the audio features. Every 1 epochs, an example batch is decoded and printed for comparision with the target.

Contact [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].