Оффлайн распознавание речи. PocketSphinx.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение Sas » Чт сен 08, 2016 11:05 pm

xsash писал(а): У меня на микрофоне были шумы от блока питания (при экспериментах на десктопе), в итоге запитывал от кроны, Sas, может у Вас так же блок питания шумит?
Шумит все. Сейчас запитал от отдельного бп, но наводки от малины и упсов идут на экранированную юсб звуковуху и шнур микрофона+ звуковуха без линейного входа, а микрофон я порядочно усилил отдельной микросхемой и пожал все это на микрофонный вход. Думаю вынести звуковуху подальше от малин и упса ну, а пока убираю шумы sox`ом. Получается так себе конечно,но лучше чем с шумами
sirius23
Сообщения: 1
Зарегистрирован: Сб сен 17, 2016 2:37 am
Благодарил (а): 8 раз
Поблагодарили: 0

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение sirius23 » Сб сен 17, 2016 7:13 pm

Думаю делать сценарий с брелком, нажатие клавиши перевод комнаты в режим тишины остановка текущего сценария, потом команда на выполнение, и продолжение снятие с паузы выполнения сценария
sheitan
Сообщения: 12
Зарегистрирован: Вс окт 16, 2016 9:15 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение sheitan » Пн окт 17, 2016 8:10 pm

Подскажите, теоретически к сфинксу можно прикрутить сигнал с микрофона IP камеры, а с нескольких (скажем 10) шт, что бы он постоянно их слушал?
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение tarasfrompir » Вт окт 18, 2016 12:43 pm

Конечно это можно
Вот из покетсфинкса
Arguments list definition:

[NAME] [DEFLT] [DESCR]
-adcdev Name of audio device to use for input.
-agc none Automatic gain control for c0 ('max', 'emax', 'noise', or 'none') уровень шума
-agcthresh 2.0 Initial threshold for automatic gain control

А с 10 нада запускать клоны
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение tarasfrompir » Чт янв 19, 2017 8:19 am

есть словари ударений русского и украинского языков
по 2, 5 млн словоформ примерно
куда положить ?
PS
нашел куда приткнуть
https://cloud.mail.ru/public/3S35/WsWec2WyB
ПС2
Суржик именно украинско-русский.
Предпочтение такое было
Спасибо нам ПОМОЖЕТ..!
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение coolermister » Вт фев 28, 2017 7:07 pm

Приветствую форумчан. Рад что за время моего отсутствия тема заглохла не до конца) Я снова начал заниматься распознаванием, теперь я опять уперся в несколько проблем. Во первых, требуется получить качественный сигнал, для эксперментов я купил пару советских электретных микрофонов, мкэ 2 и мкэ 100, с микрофонами типа шорох, или аналогичных, качество не достаточное. Так что снова пробовать буду на новых. Следующая беда требует безотлогательного решения, прошу помощи знатоков linux. Т.к. распознавание требует высокочастотный процессор, как я писал где то в районе 5й страницы, я могу запустить его только на сервере. А звук захватывать сервером я не могу, а там где могу, стоит intel atom тормозной) Вопрос и задача, как по сети захватывать звук с этой материнки на intel atom, и передавать его на сервер? Теоретически можно сделать как то через pulseaudio, но у меня так и не вышло его настроить. У меня почти все готово, так что чем быстрее я смогу пробросить звук по сети, тем быстрее выложу более менее готовое решение..
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение sergejey » Чт мар 02, 2017 10:02 am

coolermister писал(а):Приветствую форумчан. Рад что за время моего отсутствия тема заглохла не до конца) Я снова начал заниматься распознаванием, теперь я опять уперся в несколько проблем. Во первых, требуется получить качественный сигнал, для эксперментов я купил пару советских электретных микрофонов, мкэ 2 и мкэ 100, с микрофонами типа шорох, или аналогичных, качество не достаточное. Так что снова пробовать буду на новых. Следующая беда требует безотлогательного решения, прошу помощи знатоков linux. Т.к. распознавание требует высокочастотный процессор, как я писал где то в районе 5й страницы, я могу запустить его только на сервере. А звук захватывать сервером я не могу, а там где могу, стоит intel atom тормозной) Вопрос и задача, как по сети захватывать звук с этой материнки на intel atom, и передавать его на сервер? Теоретически можно сделать как то через pulseaudio, но у меня так и не вышло его настроить. У меня почти все готово, так что чем быстрее я смогу пробросить звук по сети, тем быстрее выложу более менее готовое решение..
Рад, что вы вернулись -- тема интересная :)
А что если на одном компьютере записывать фразу в файл и отправлять на другой для распознавания?
Я тут с переменным успехом кое-какие эксперименты ставлю и решил в такой последовательности процесс построить:
1. Слушать "эфир" на предмет записи фразы в файл (распознаём уровень шума; начинаем запись при превышение; заканчиваем через 2 секунды после понижения уровня)
2. Пытаемся распознать файл с помощью PocketSphinx (как минимум на предмет наличия ключевой фразы)
3. (опционально) При наличии ключевой фразу пытаемя распознать файл через гугл API

Пункты 1 и 3 я более или менее реализовал (rpi3, usb-камера с микрофоном), разве что без пункта 2 я отправляю все "фразы" в гугл, что меня не устраивает. Видел, что pocketsphinx может распознавать не в реальном времени, а выдавать результат по записанному файлу, но ещё не пробовал. И вообще, возможно всё это будет слишком медленно, но пока не попробуешь не узнаешь :)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение coolermister » Сб мар 04, 2017 12:37 pm

И я рад вас видеть)
А что если на одном компьютере записывать фразу в файл и отправлять на другой для распознавания?
Это все оочень долго, у меня даже сейчас задержки по 2,5 секунды..) Пробовать сейчас именно резать на файлы, я не горю желанием, да и это не спортивно, и необходимость в этом отпала))
Потому что наконец то я поборол передачу звука по сети) Притом в обе стороны) Сейчас дооформлю все до более менее адекватного состояния, выложу для начала сюда, а может даже отдельно ветку создам, по передаче звука по сети) Ибо сделано оно на java. Сейчас как раз занимаюсь тем что бы оно компилилось одинаково и под виндой, и под linux)
Использует стандартный системный capture, и playback. Вот только что тестил между виндой и сервером(linux), работает))
Вариаций много, а по уровню шума начинать распознавать тоже тема) В alsa полно разных плагинов, например она может писать с микрофона в файл) Писать как я понял начинает, когда с файла начинается чтение. А по поводу sphinx действительно, есть у него такой режим) Только я подзабыл как он работает(
Если интересно, распишу подробнее)
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение coolermister » Вс мар 05, 2017 4:40 pm

upd2. реализовал выбор устройства захвата, из списка доступных. Для получения списка доступных и справки, просто запускать без параметров. C windows вроде захватывает, с виртуальной аудиокарты тоже, а вот с микрофона под linux нет, по крайней мере у меня.. Если кто не равнодушен, прошу потестить, отписаться мб мне в личку, или сюда..
upd. не очень рабочее. C pulseaudio не проверял, под alsa не захватывает звук с реальных устройств, только с виртуальных. Очевидно, надо как то сделать выбор микшера, но пока прогресса в этом нет. Где все java программисты?)
И так, выкладываю рабочее решение передачи звука по сети) Если о технических подробностях, работает через консоль, протокол Rtp. Приложение обеспечивает двустороннюю передачу звука, с устройства захвата одного компьютера, на устройство воспроизведения второго компьютера, и наоборот соответственно.
http://gitlab.ivaninc.me/root/network-sound тут страница проекта, с ссылкой на git. Там же описано как компилить, использовать, там же описано что делать, если нужно работать с alsa.
Если надо, подробнее опишу компиляцию под линуксом, артифакты наверное под винду буду сам выкладывать)
Параметр BYTES_IN_ONE_RTP_PACKET по дефолту равен 512. При 1024 ощутимая задержка, но слабые устройства перестают цокать. Если пакет меньше 512, задержки нет вообще, но устройства должны быть помощнее, что бы успевать большое количество пакетов обрабатывать.
Оформить в отдельную ветку?) И надо вики там делать, или еще что то расписывать? Так же могу расписать как с помощью этой штуки пробрасывать звук на сервер, в котором нет аудиокарты, и выложу конфиги alsa. Пока я занят самим распознаванием, не хочу распыляться
Последний раз редактировалось coolermister Пн мар 06, 2017 11:21 pm, всего редактировалось 3 раза.
За это сообщение автора coolermister поблагодарил:
Amarok (Вс мар 05, 2017 5:45 pm)
Рейтинг: 1.16%
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение coolermister » Вс мар 05, 2017 10:37 pm

В резерве.
Ответить