Size: a a a

Распознавание речи

2019 February 26

ММ

Мария Мамонова in Распознавание речи
здравствуйте
такой вопрос: пробую запустить пример для живой речи (
со своими файлами грамматики и словарем) с официального сайта pocketsphinx https://pypi.org/project/pocketsphinx/

import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
speech = LiveSpeech(
   verbose=True,
   sampling_rate=16000,
   buffer_size=2048,
   no_search=False,
   full_utt=False,
   hmm=os.path.join(model_path, 'cmusphinx-ru-5.2'),
   lm=False,
   jsfg=os.path.join(model_path, 'grammar.jsgf'),
   dic=os.path.join(model_path, 'dictionary.dic')
)
for phrase in speech:
   print(phrase)

при запуске получаю ошибку

Traceback (most recent call last):
 File "app.py", line 18, in <module>
   for phrase in speech:
 File "/home/mmamonova/speach2text-commands-sphinx-livespeech/env/lib/python3.6/site-packages/pocketsphinx/__init__.py", line 212, in iter
   with self.start_utterance():
 File "/home/enosikova/anaconda3/lib/python3.6/contextlib.py", line 81, in enter
   return next(self.gen)
 File "/home/mmamonova/speach2text-commands-sphinx-livespeech/env/lib/python3.6/site-packages/pocketsphinx/__init__.py", line 97, in start_utterance
   self.start_utt()
 File "/home/mmamonova/speach2text-commands-sphinx-livespeech/env/lib/python3.6/site-packages/pocketsphinx/pocketsphinx.py", line 337, in start_utt
   return _pocketsphinx.Decoder_start_utt(self)
RuntimeError: Decoder_start_utt returned -1

благодаря verbose=True видно также
ERROR: "pocketsphinx.c", line 947: No search module is selected, did you forget to specify a language model or grammar?

как это решить? всё подключено, вроде, корректно, файлы также нормальные, рабочие. в чем проблема?
источник

NS

Nikolay Shmyrev in Распознавание речи
Покажите полный вывод пожалуйста
источник

ММ

Мария Мамонова in Распознавание речи
источник

NS

Nikolay Shmyrev in Распознавание речи
jsfg=os.path.join(model_path, 'grammar.jsgf'),
должно быть
источник

NS

Nikolay Shmyrev in Распознавание речи
jsgf=os.path.join(model_path, 'grammar.jsgf'),
источник

ММ

Мария Мамонова in Распознавание речи
Ох.. спасибо
источник

ММ

Мария Мамонова in Распознавание речи
дополнила код до

import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
speech = LiveSpeech(
   verbose=False,
   sampling_rate=16000,
   buffer_size=2048,
   no_search=False,
   full_utt=False,
   hmm=os.path.join(model_path, 'cmusphinx-ru-5.2'),
   lm=False,
   jsgf=os.path.join(model_path, 'grammar.jsgf'),
   dic=os.path.join(model_path, 'dictionary.dic')
)
print("Say something!")
for phrase in speech:
   print(phrase)

а на выходе только
Say something!

и ничего больше, что бы я ни говорила
почему?..
источник

NS

Nikolay Shmyrev in Распознавание речи
Мария Мамонова
дополнила код до

import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
speech = LiveSpeech(
   verbose=False,
   sampling_rate=16000,
   buffer_size=2048,
   no_search=False,
   full_utt=False,
   hmm=os.path.join(model_path, 'cmusphinx-ru-5.2'),
   lm=False,
   jsgf=os.path.join(model_path, 'grammar.jsgf'),
   dic=os.path.join(model_path, 'dictionary.dic')
)
print("Say something!")
for phrase in speech:
   print(phrase)

а на выходе только
Say something!

и ничего больше, что бы я ни говорила
почему?..
verbose лучше не выключать, тогда виднее будет
источник

ММ

Мария Мамонова in Распознавание речи
Смотрела с ним, ошибок нет
источник

NS

Nikolay Shmyrev in Распознавание речи
Ну а что написано-то?
источник
2019 February 27

ММ

Мария Мамонова in Распознавание речи
источник

NS

Nikolay Shmyrev in Распознавание речи
микрофон выключен скорее всего
источник

ММ

Мария Мамонова in Распознавание речи
точно включен (проверяла), если только не подхватывается почему-то
источник

NS

Nikolay Shmyrev in Распознавание речи
rawlogdir="/tmp" можно добавить и послушать файлы, в них будет тишина.
источник

AO

Andrei Obyortyshev in Распознавание речи
Здравствуйте.

Есть usb-микрофон, хотел протестировать его сначала с pocketsphinx_continuous.
Запускаю командой sudo pocketsphinx_continuous -inmic yes -adcdev /dev/ttyACM1, имею вывод:
INFO: continuous.c(307): pocketsphinx_continuous COMPILED ON: Feb 27 2019, AT: 10:43:22

Audio ioctl(SYNC) failed: Inappropriate ioctl for device
FATAL: "continuous.c", line 245: Failed to open audio device

dmesg утверждает, что Product: STM32 AUDIO Streaming in FS Mode. Думал дело в этом, но настройку этого режима со стороны pocketsphinx что то нигде не нашёл.
Подскажите, пожалуйста, в какую сторону смотреть
источник

NS

Nikolay Shmyrev in Распознавание речи
ldd `which pocketsphinx_continuous` должен показать, с какой звуковой библиотекой собран pocketsphinx.
источник

AO

Andrei Obyortyshev in Распознавание речи
Вижу вот такое: ldd which pocketsphinx_continuous
 linux-vdso.so.1 (0x00007ffea7bb6000)
 libpocketsphinx.so.3 => /usr/local/lib/libpocketsphinx.so.3 (0x00007fdef52f0000)
 libsphinxbase.so.3 => /usr/local/lib/libsphinxbase.so.3 (0x00007fdef50a3000)
 libsphinxad.so.3 => /usr/local/lib/libsphinxad.so.3 (0x00007fdef4ea0000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdef4aaf000)
 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdef4711000)
 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdef44f2000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fdef5740000)

Что из этого именно звуковая библиотека мне не очень понятно, если честно :)
источник

NS

Nikolay Shmyrev in Распознавание речи
oss библиотека
источник

NS

Nikolay Shmyrev in Распознавание речи
что за плата что за микрофон?
источник

AO

Andrei Obyortyshev in Распознавание речи
источник