Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2019, 13:36   #1
mashulena
Новичок
Джуниор
 
Регистрация: 13.02.2019
Сообщений: 1
По умолчанию Подключение файла грамматики для распознавания речи на Python - pocketsphinx

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

Установка pocketsphinx была следующей
Код:
sudo apt-get install swig
sudo apt-get install python-dev
sudo apt-get install libpulse-dev
sudo apt install libasound2-dev
pip install pocketsphinx
Код
Код:
import os
from pocketsphinx import AudioFile, get_model_path, get_data_path

model_path = get_model_path()
data_path = get_data_path()

config = {
    'verbose': True,
    'audio_file': os.path.join(data_path, '/home/mmamonova/sphinx/audio/record-1544774411160.wav'),
    'buffer_size': 2048,
    'no_search': False,
    'full_utt': False,
    'hmm': os.path.join(model_path, 'zero_ru.cd_cont_4000'),
    'lm': False,
    'jsgf': os.path.join(model_path, 'grammar.jsgf'),
    'dict': os.path.join(model_path, 'dictionary.dic'),
}
audio = AudioFile(**config)
for phrase in audio:
    print(phrase)
выдает ошибку
Код:
Traceback (most recent call last):
 File "app.py", line 65, in <module>
    audio = AudioFile(**config)
  File "/home/mmamonova/sphinx/env/lib/python3.6/site-packages/pocketsphinx/__init__.py", line 169, in __init__
    super(AudioFile, self).__init__(**kwargs)
  File "/home/mmamonova/sphinx/env/lib/python3.6/site-packages/pocketsphinx/__init__.py", line 90, in __init__
    super(Pocketsphinx, self).__init__(config)
  File "/home/mmamonova/sphinx/env/lib/python3.6/site-packages/pocketsphinx/pocketsphinx.py", line 275, in __init__
    this = _pocketsphinx.new_Decoder(*args)
RuntimeError: new_Decoder returned -1
Эта проблема возникает только если прописан путь к файлу грамматики (jsfd). Если пользоваться стандартной языковой моделью, всё работает (но качество распознавания отвратительное).

Подскажите, как это решить и подключить грамматику?

Все действия выполняются в виртуальной среде приложения.
mashulena вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восстановление грамматики Faekus Фриланс 1 08.01.2017 23:16
Программа распознавания русской речи - Комбат denis47 Помощь студентам 10 25.06.2016 22:39
Библиотека для распознавания речи и как ею пользоваться Krasi Общие вопросы C/C++ 5 06.06.2016 14:27
Подключение файла CHM Кирф Общие вопросы Delphi 2 14.08.2012 16:40
Подключение файла BGI Crasty Общие вопросы C/C++ 0 03.04.2009 19:55