Страница 3 из 11
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Ср окт 21, 2015 10:42 am
sleepy
coolermister писал(а):Как и обещал, отписываюсь о микрофоне. Купил stelberry m30, тк шорох в Минске днем с огнем не найти. Слышит этот микрофон действительно далеко и отчетливо. Записывал и проигрывал. Но есть одно большое но, а именно просто ужасный постоянный фон. Мне пока кажется что эти помехи лезут по питанию. Если нет, то придется тренировать шумовую модель ( Из за помех, сфинкс даже отказывается запускаться. Но даже на их фоне речь слышно хорошо. Попробую по подключать его по разному, но уже днем..
Купил вчера шорох-8. На скрутках подключил. По началу не работал. Оказалось, что функция драйвера "формирования луча" портит малину. С ней микрофон вообще не работает.
А вот с другими "Подавление шумов" и подавление эхо становиться гораздо лучше.
"Подавление шумов" очень помогает! У меня микрофон лежал рядом с вентилятором, шут был не слабый, так вот данная функция вообще убирает его.
Как спаяю, проверю уже в распознавалке, тогда отпишусь.
p.s.
По ссылки на гугл диск, я периодически обновляю файлы.
Пока что там добавился текстовый файл-сборник ссылок и действия для создания распозновалки.
Скоро выложу обновление main.py - вынес все параметры во внешний ini файл и добавил параметры отключения gui. (добавлю 21.10.15 вечерком)
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Ср окт 21, 2015 5:49 pm
coolermister
Заработало) Микрофон запитал через стабилизатор напряжения, и повесил сглаживающих кондеров на выход. Но основная проблема была в рассогласовании выходов микрофона, и микрофонного входа на материнке. Решение, либо рассчитать резисторный делитель, либо отключить усиление, и уменьшить громкость в alsa) К сожалению ubuntu server не позволяет захватывать аудио с линейного входа. Результаты великолепные! Распознает команды даже из коридора, без повышения голоса. В комнате так вообще шикарно, просто сказал вслух, как обычно) Пересоставлю словарь, и грамматику, для улучшения результатов.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Ср окт 28, 2015 9:54 am
coolermister
Sleepy, не могли бы вы описать как использовали и составляли языковую модель? Я составлял по статье с хабра, и с ней у меня распознает отдельно взятые слова, или вообще ничего) И еще, вы тренировали аккустическую модель?
upd. собрал версию 5prealpha. но она почему то не пишет в stdout. То есть в конвеер. Просто в консоли выводит..
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пт окт 30, 2015 11:27 am
sleepy
coolermister писал(а):Sleepy, не могли бы вы описать как использовали и составляли языковую модель? Я составлял по статье с хабра, и с ней у меня распознает отдельно взятые слова, или вообще ничего) И еще, вы тренировали аккустическую модель?
upd. собрал версию 5prealpha. но она почему то не пишет в stdout. То есть в конвеер. Просто в консоли выводит..
Та что у меня сейчас сделана через он-лайн сервис.
http://cmusphinx.sourceforge.net/wiki/tutoriallm вот по этой инструкции.
http://www.speech.cs.cmu.edu/tools/lmtool-new.html это сам сервис.
Но я не уверен, что это правильно. Но работает.
Вообще правильно надо сделать через srilm
https://github.com/desilinguist/swigsrilm тут качаем
Но как собирать, я не знаю. Не разбирался.
А по поводу тренировки...
Я через gui сервера на пайтоне записываю под каждую фразу/слово отдельный аудио файл.
А потом другим скриптом запускаю все необходимые команды и получаю файл, который надо добавить в параметр при запуске распознавалки.
Как я понял, самое главное составить правильно предложения команд.
И либо сделать по правилам lm, которая автоматом расставляет "веса" к каждому слову, либо же написать грамматику с весами.
Вот составить правильный список команд для меня кажется самым проблемным, остальное мелочи программирования.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Вс ноя 01, 2015 11:08 am
coolermister
*** CURL error: 'Couldn't resolve host 'moderate.cleantalk.ru'' or disabled allow_url_fopen in php.ini. Antispam service cleantalk.org ***
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Вс ноя 01, 2015 9:39 pm
coolermister
sleepy, большое спасибо) Дописал исходники версии 5prealpha, теперь она выводит в stdout, и все работает) Действительно, я языковой моделью в разы лучше) Даже и тренировка не нужна.. Вы решили как нибудь проблему ложных срабатываний? Со старым микрофоном я такой проблемы не наблюдал, а вот с новым другое дело. Решение видимо именно в правильном составлении команд?
p.s. Если кого интересует новая версия пишите - выложу.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн ноя 02, 2015 6:58 am
Amarok
выкладывай
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн ноя 02, 2015 9:17 am
sleepy
coolermister, я пока отложил разработку из-за переездов

А идеи по ложным срабатываниям:
- чистка от шумов (телик) - с помощью двух микрофонов, как Вы ранее писали.
- нужно чтобы домовой мог управлять всеми звуками в доме, мог определять в какой комнате обращаются и чётко определял одно ключевое слово и чтобы оно не срабатывало от любого шума.
идея в том, чтобы говорить "домовой/алиса/эйтытам", а умный дом определял в какой комнате к нему обратились и тушил там все звуки и уже слушал команды, после чего говорим "спасибо/благодарствую" и умный дом возвращает звук обратно.
Что нужно для чистки Вы уже писали.
А для второй идеи нужен мультирум(для управления звуками)(например sdm тут на форуме есть)+управления теликом через ИК+управление прочими звуковыми приборами,
(дальше просто идея) в каждую комнату по микрофону и на каждый микрофон свой сервер распозновалки, при этому распознование передаёт не только фразу, но и номер микрофона по которому и определяем расположение.
upd: Для более точного анализа определения речи, можно ещё анализировать где вообще находятся люди. Самый просто способ через датчики движения, но лучше конечно через камеры с определением лиц с помощью библиотеки opencv. Но opencv это уже отдельная тема, к ней перейдём, как тут добьём
Вы lm как сделали? через он-лайн или через srilm ?
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн ноя 02, 2015 10:03 am
Amarok
coolermister писал(а):Заработало) Микрофон запитал через стабилизатор напряжения, и повесил сглаживающих кондеров на выход
Схему можно?
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн ноя 02, 2015 12:40 pm
coolermister
Amarok, Схема элементарная, во вложении.Но если у вас шум, главная проблема была в
Но основная проблема была в рассогласовании выходов микрофона, и микрофонного входа на материнке. Решение, либо рассчитать резисторный делитель, либо отключить усиление, и уменьшить громкость
. Такая стабилизация это больше перестраховка. Исходники приложу по позже, я их куда то дел) Думаю как доберусь, так уже и шапку обновлю.
sleepy, lm я сделал онлайн. Пытался въехать в срилм, но там вообще какая то жесть) Может быть использовать еще один микрофон например, на котором будет сфинкс в режиме поиска ключевого слова? И когда слово найдено, включает основное распознавание? Изврат конечно, но в линуксе alsa не позволяет двум программам производить захват) Походу скоро придется пересобирать опять, под ненавистный pulseaudio)
Впринципе, сейчас у меня все работает хорошо. Но это когда я один в комнате) Когда я с кем то разговариваю, начинается самопроизвольное моргание света, включение принтера, и так далее) Короче сюжет для низкобюджетного ужастика)
Для более точного анализа определения речи, можно ещё анализировать где вообще находятся люди. Самый просто способ через датчики движения, но лучше конечно через камеры с определением лиц с помощью библиотеки opencv. Но opencv это уже отдельная тема, к ней перейдём, как тут добьём

Не кисло вы замахнулись)) Если opencv юзать, можно и авторизацию по лицу сделать)