Кто-нибудь может порекомендовать надежное программное обеспечение с открытым исходным кодом для транскрибирования английской речи в wav-файлы? Две основные программы, которые я исследовал: Sphinx и Julius , но мне так и не удалось заставить их работать, и документация для каждой из них по расшифровке файлов в лучшем случае отрывочна .
Я занимаюсь разработкой 64-битной Ubuntu 10.04, репозитории которой включают sphinx2 и julius, а также julius акустический модал voxforge для английского языка. Я сосредоточен на расшифровке файлов, а не на прямой обработке звука с микрофона, потому что я разочаровался в ожидании, что подобные проекты будут работать со звуковой системой Ubuntu. Это не удар по Ubuntu, так как я могу отлично записывать звук с помощью своего микрофона, используя Audacity, но ни одна из систем не может получить доступ к моему микрофону, поэтому я надеюсь, что смогу просто настроить их, просто прочитав файл.
Я впервые попробовал Sphinx2, из пакета Ubuntu sphinx2-bin. Несмотря на то, что пример sphinx2-demo, по-видимому, работал над расшифровкой файла, документации по конфигурации практически нет, поэтому я не уверен, как настроить его для чтения из произвольного файла wav. Аудио файл, используемый в демонстрационной версии, имеет недокументированный формат «16 КБ», на который косвенно ссылаются через 2 файла конфигурации. Существует краткая реклама, описывающая sphinx2-demo как запуск sphinx2-batch, но проверка скрипта показывает, что он на самом деле вызывает sphinx2-непрерывный. Хуже того, в документации --help для каждого скрипта перечисляется около 6 дюжин опций, и не упоминается, какие из них являются обязательными или необязательными. В целом, отсутствие документации по сфинксу и низкое качество существующей документации сводят меня с ума.
Затем я попробовал Julius, снова из пакета Ubuntu, который был неожиданно недавним (4.1), учитывая, что версия, используемая в быстром запуске Voxforge, - 3.5. Пакет, кажется, включает немного лучшую документацию и даже пример, написанный на Python (/ usr / share / doc / julius-voxforge / examples / controlapp). Прочитав документы примера, я попытался адаптировать его для чтения из файла, создав файл filelist.txt
, содержащий текст «hello.wav», относящийся к файлу с тем же именем, в котором содержится запись того, кто сказал «привет». Поместив их в один каталог, я запустил:
julius -input file -filelist filelist.txt -C julian.jconf
получение ответа:
### read waveform input
Error: adin_file: sampling rate != 16000 (8000)
Error: adin_file: error in parsing wav header at hello.wav
Error: adin_file: failed to read speech data: "hello.wav"
0 files processed
Повторная попытка с указанием абсолютных имен файлов для filelist.txt и hello.wav приводит к той же ошибке.
Я также попробовал вызов Julius, использованный в примере, для записи непосредственно с микрофона:
julius -input mic -C julian.jconf
Я вызывал это несколько раз, и ответ варьировался в зависимости от ошибки:
Cannot read /dev/dsp
и
STAT: AD-in thread created
<<< please speak >>>
В последнем случае, что бы я ни говорил в микрофон, ничего не происходит. Я не могу сказать, не может ли он по-прежнему читать микрофон или что-то читает, но просто не может транскрибировать звук.
Я не уверен, что с этим делать. Ошибки, которые я получаю, не оставляют мне много дел. Почему он не может прочитать WAV? Почему он не может читать / dev / dsp? Почему тогда он может читать / dev / dsp, но никак не реагирует?
Кто-нибудь еще имел любой успех с распознавателями речи с открытым исходным кодом, особенно в Linux?