Tensorflowasr
Сквозное модель распознавания речи, основанная на конформерной версии Tensorflow 2, и RTF CPU (скорость в реальном времени) составляет около 0,1
Текущая ветвь - это версия V2, которая является структурой CTC+Translate
Добро пожаловать в использование и ошибки с обратной связью
Пожалуйста, смотрите версию старой версии V1
Результаты обучения Aishell-1:
Офлайн -результаты
| Имя | Параметр Количество | Китайский цир | Количество тренировочных раундов | онлайн/офлайн | Тестовые данные | Метод декодирования |
|---|---|---|---|---|---|---|
| Венет (конформер) | 9,5 м | 6,48% | 100 | Оффлайн в автономном режиме | Aishell1-test | ctc_greedy |
| Wenet (трансформатор) | 9,7 м | 8,68% | 100 | Оффлайн в автономном режиме | Aishell1-test | ctc_greedy |
| Wenet (Paraformer) | 9,0 м | 6,99% | 100 | Оффлайн в автономном режиме | Aishell1-test | paraformer_greedy |
| Funasr (paraformer) | 9,5 м | 6,37% | 100 | Оффлайн в автономном режиме | Aishell1-test | paraformer_greedy |
| Funasr (конформер) | 9,5 м | 6,64% | 100 | Оффлайн в автономном режиме | Aishell1-test | ctc_greedy |
| Funasr (e_branchformer) | 10,1 м | 6,65% | 100 | Оффлайн в автономном режиме | Aishell1-test | ctc_greedy |
| Repo (ConformERCTC) | 10,1 м | 6,8% | 100 | Оффлайн в автономном режиме | Aishell1-test | ctc_greedy |
Результаты потоковой передачи
| Имя | Параметр Количество | Китайский цир | Количество тренировочных раундов | онлайн/офлайн | Тестовые данные | Метод декодирования |
|---|---|---|---|---|---|---|
| Wenet (U2 ++ Conformer) | 10,6 м | 8,18% | 100 | Онлайн | Aishell1-test | ctc_greedy |
| Wenet (U2 ++ трансформатор) | 10,3 м | 9,88% | 100 | Онлайн | Aishell1-test | ctc_greedy |
| Repo (StreamingConformerctc) | 10,1 м | 7,2% | 100 | Онлайн | Aishell1-test | ctc_greedy |
| Репо (Chunkconformer) | 10,7 м | 8,9% | 100 | Онлайн | Aishell1-test | ctc_greedy |
TTS: https://github.com/z-yq/tensorflowtts
Nlu: -
Бот: -
Без данных вы можете достичь определенного уровня эффекта ASR.
TTS для ASR: данные обучения являются Aishell1 и Aishell3, а тип данных более подходит для ASR.
Советы:
Всего 500 звуков
Поддерживается только на китайском языке
Если текст, который должен быть синтезирован, имеет знаки препинания, пожалуйста, удалите их вручную
Если вы хотите добавить паузы, добавьте SIL в середине текста
Шаг 1: Подготовьте список текста, который будет синтезирован, если назван Text.List, EGS:
这是第一句话
这是第二句话
这是一句sil有停顿的话
...
Шаг 2: Загрузите модель
Ссылка: https://pan.baidu.com/s/1den1pmj4olkrkw8ceqruna код извлечения: c0tp
Оба должны быть загружены и помещены в каталог ./augmentations/tts_for_asr/models
Шаг 3: затем запустите скрипт в корневом каталоге:
python . / augmentations / tts_for_asr / tts_augment . py - f text . list - o save_dir - - voice_num 10 - - vc_num 3в:
-f -список, подготовленный шагом1
-О путь корпуса, используемый для спасения синтетики, рекомендуемый абсолютный путь.
-voice_num, сколько тонов используется для синтеза каждого предложения
-vc_num Сколько раз может быть улучшено с помощью преобразования тона на предложение
После завершения пробега каталог WAVS.
Ссылаясь на библиотеку Librosa, уровень извлечения функции речевого спектра реализуется с использованием TF2.
Или вы можете использовать лист с меньшим количеством параметров.
использовать:
mel_layer_type: Melspectrogram #Spectrogram/leaf
trainable_kernel: True #support train model,not recommend
Проект CPP, основанный на ONNX, был обновлен.
См. Cppinference Onnx для деталей
Схема вывода Python на основе ONNX, см. Вывод Python для деталей
Теперь поддерживает потоковую конформерную структуру.
В настоящее время есть два способа реализации:
Block Confermer + Global CTC
Cunk Confermer + CTC Picker
Все результаты были протестированы в наборе данных AISHELL TEST .
RTF (скорость в режиме реального времени) тестируется на одноядерных задачах декодирования процессора .
ЯВЛЯЮСЬ:
| Название модели | Mel Layer (используйте/поезда) | связь | код | Данные поезда | Phoneme Cer (%) | Размер параметров | RTF |
|---|---|---|---|---|---|---|---|
| ConformErctc (ы) | Верно/Неверно | pan.baidu.com/s/1k6miy1ynglrt0cb-xsqqag | 8S53 | Aishell-1 (50 эпох) | 6.4 | 10 м | 0,056 |
| StreamingConformerctc | Верно/Неверно | pan.baidu.com/s/1rc0x7loiexaac0gnhurkhw | ZWH9 | Aishell-1 (50 эпох) | 7.2 | 15 м | 0,08 |
| Chunkconformer | Верно/Неверно | pan.baidu.com/s/1o_x6777wuywnld-8snbydxg | UJMG | Aishell-1 (50 эпох) | 11.4 | 15 м | 0,1 |
Вад:
| Название модели | связь | код | Данные поезда | размер параметров | RTF |
|---|---|---|---|---|---|
| 8K_ONLINE_VAD | pan.baidu.com/s/1ag9vwtxiqw4c2agf-6nigg | OFC9 | openslr данные с открытым исходным кодом | 80K | 0,0001 |
Punc:
| Название модели | связь | код | Данные поезда | акк | размер параметров | RTF |
|---|---|---|---|---|---|---|
| Puncmodel | pan.baidu.com/s/1gtvrkyie2cabfiqbn9bhaw | 515t | Данные NLP с открытым исходным кодом | 95% | 600K | 0,0001 |
использовать:
Конвертировать модель в файл ONNX в test_asr.py и поместите ее в Pythoninerence
Добро пожаловать, чтобы присоединиться, обсудить и делиться вопросами. Если у вас в группе более 200 человек, добавьте примечание «Tensorflowasr».

Последние обновления
pip install tensorflow-gpu 可以参考https://www.bilibili.com/read/cv14876435if you need use the default phonemeFor LAS structure,pip install tensorflow-addonspip install rir-generatorpip install onnxruntime or pip install onnxruntime-gpu Подготовьте train_list и test_list.
Формат ASR_TRAIN_LIST , где « t» нажимает, рекомендуется записать в текстовый файл, используя программу, The Path + ' T' + Text
wav_path = "xxx/xx/xx/xxx.wav"
wav_label = "这是个例子"
with open ( 'train.list' , 'w' , encoding = 'utf-8' ) as f :
f . write ( wav_path + ' t ' + wav_label + ' n ' ) :Например, Train.List получил:
/opt/data/test.wav 这个是一个例子
......
Ниже приведен формат подготовки данных обучающих данных (не требуется) для VAD и препинания восстановления:
vad_train_list формат:
wav_path1
wav_path2
……
Например:
/opt/data/test.wav
Внутренняя логика обработки обучения VAD зависит от энергии в качестве образцов обучения, поэтому убедитесь, что подготовка к обучению, который вы готовите, записывается в тихих условиях.
punc_train_list формат:
text1
text2
……
В том же формате, что и LM, текст на каждой строке содержит пунктуацию.
например:
这是:一个例子哦。 √(正确格式)
这是:“一个例子哦”。 ×(错误格式)
这是:一个例子哦“。 ×(错误格式)
Загрузите предварительно обученную модель Bert для подготовки моделей восстановления пунктуации.
https://pan.baidu.com/s/1_HDAhfGZfNhXS-cYoLQucA extraction code: 4hsa
Измените файл конфигурации am_data.yml (./asr/configs), чтобы установить некоторые параметры обучения и изменить параметр name в модели Yaml (например: ./asr/configs/conformer.yml), чтобы выбрать структуру модели.
Затем выполните команду:
python train_asr.py --data_config ./asr/configs/am_data.yml --model_config ./asr/configs/ConformerS.yml Когда вы хотите протестировать, вы можете обратиться к демо stt написанную в ./test_asr.py .
python . / test_asr . py Вы также можете использовать тестер для тестирования данных в больших количествах для проверки производительности вашей модели:
осуществлять:
python eval_am.py --data_config ./asr/configs/am_data.yml --model_config ./asr/configs/ConformerS.ymlВ этом скрипте будет показано несколько индикаторов Ser/cer/del/ins/sub
6. Чтобы обучить VAD или модель восстановления пунктуации, пожалуйста, обратитесь к вышеуказанным шагам.
Если вы хотите использовать свою собственную фонему, вам нужен соответствующий метод преобразования в am_dataloader.py .
def init_text_to_vocab ( self ): #keep the name
def text_to_vocab_func ( txt ):
return your_convert_function
self . text_to_vocab = text_to_vocab_func #here self.text_to_vocab is a function,not a call Не забудьте начать с <S> и </S> , например:
<S>
</S>
de
shì
……
Обратитесь к следующим отличным проектам:
https://github.com/usimarit/tiramisuasr
https://github.com/noahchalifour/warp-ransducer
https://github.com/paddlepaddle/deepspeech
https://github.com/baidu-research/warp-ctc
Мы разрешаем и благодарим вас за использование этого проекта для академических исследований, коммерческого производства продукции и т. Д., Но ему запрещено торговать этот проект как товар.
В целом, почти модели здесь лицензированы в соответствии с Apache 2.0 для всех стран мира.
Разрешить и спасибо за использование этого проекта для академических исследований, производства коммерческих продуктов, позволяющих неограниченному коммерческому и некоммерческому использованию.
Тем не менее, запрещено торговать этот проект как товар.