Я хочу создать небольшую «диалоговую систему» на основе фонемы, которая слушает речь, преобразует ее в строку фонем (как бы ни было неправильно это не имеет значения), обрабатывает/сохраняет эти и воспроизводит их обратно на фонеме. Я стремлюсь использовать либо фестиваль/mbrola с ним, либо espeak. все работает на малине pi (проект называется лепет pi).Задание пути к акустической модели в pocketsphinx
я следовал по-настоящему хорошие инструкции здесь: https://wolfpaulus.com/jounal/embedded/raspberrypi2-sr/
и я также получить хорошее признание с помощью команды:
pocketsphinx_continuous -hmm /usr/local/share/pocketsphinx/model/en-us/en-us -lm 3199.lm -dict 3199.dic -samprate 16000/8000/48000 -inmic yes
теперь я прочитал эту статью о признании фонемы здесь на SourceForge сайт: http://cmusphinx.sourceforge.net/wiki/phonemerecognition
и также понял, что, очевидно, prealpha5 имеет новый двоичный формат. статья о фонеме распознавани гласит, что в основном английская фонема распознавань является частью пакета установки по умолчанию, и, таким образом, предлагает проверить его с помощью:
pocketsphinx_continuous -infile test/data/goforward.raw -hmm en-us -allphone model/en-us/en-us-phone.lm.dmp -backtrace yes -beam 1e-20 -pbeam 1e-20 -lw 2.0
я считать, что фонема статья относится к более старым версиям (карманный) сфинкс, так как он отсылая к .dmp вместо .bin файла и расширением, так что я пробовал:
pocketsphinx_continuous -infile test/data/goforward.raw -hmm en-us -allphone model/en-us/en-us-phone.lm.bin -backtrace yes -beam 1e-20 -pbeam 1e-20 -lw 2.0
, но я получил следующее сообщение об ошибке:
ERROR: "acmod.c", line 83: Folder 'en-us' does not contain acoustic model definition 'mdef'
глядя на en-us, на самом деле есть только .dict, .lm.bin и файл телефона. и другой каталог en-us, содержащий файл mdef, а также несколько других. копирование его не помогает.
so, что делать? удалить установку prealpha5 и установить версию 4? или я могу скачать нужный файл где-нибудь?
хорошо, поэтому ваш намек был в правильном направлении, я думаю. Фактически en-us/en-us не работает, но модель/en-us/en-us привела к запуску программы до тех пор, пока «INFO: continu.c (303): pocketsphinx_continuous COMPILED ON», а затем она занимает около 40 секунд на малине pi 2, и я получаю список телефонов. так, YEAH это работает! но: вау, это так медленно! Я читал, что он загружает 130 тыс. слов, это делает его медленным? могу ли я обрезать файл .dict на верхние 10k (если они отсортированы по частоте)? –
assadollahi
Фонетическое признание медленное, потому что оно рассматривает огромное количество вариантов. Вы можете добавить параметр командной строки '-allphone_ci yes' для аргументов командной строки, чтобы сделать его более быстрым, но менее точным. Словарь из 130 тыс. Слов не имеет значения. –
WOW! это намного быстрее! большое спасибо! – assadollahi