- Управляем Linux-десктопом с помощью голосовых команд
- Пингвин! Лежать!
- Учим linux понимать голосовые команды
- КАК: Голосовое распознавание состояния Linux — 2021
- Сравниваем системы Smart TV (Октябрь 2021).
- Table of Contents:
- Параметры Linux
- Freespeech-VR
- PocketSphinx
- VoiceNote II
- Dictanote
- Диктовка и почта
- Разговоры и разговоры
- Резюме
- Что такое оптическое распознавание символов (OCR)?
- Как использовать голосовое управление на IPhone и IPod Touch
- Как сделать голосовое управление в PowerPoint
Управляем Linux-десктопом с помощью голосовых команд
Вчера я рассказывал о том, как научить свой Linux-десктоп проговаривать различную информацию, сегодня я хочу несколько расширить начатую тему и рассказать о системах распознования речи, с помощью которых можно научить машину понимать простые голосовые команды.
Чтобы научить Linux понимать проговариваемые слова, применяются системы распознавания речи (CMU), наиболее известная и работоспособная из которых носит имя Sphinx. Разработкой этого движка занимается университет Карнеги-Меллона, хотя отдельные доработки также производили сотрудники Массачусетского технологического института и корпорация Sun Microsystems. Качество распознавания «Сфинкса» еще далеко от идеала, он постоянно дает сбои и совершенно не способен разобрать слитную речь. Однако его возможностей вполне достаточно для организации системы исполнения простых голосовых команд, что и демонстрируют такие проекты, как Gnome Voice Control и PerlBox.
Альтернатива Sphinx — движок Julius японского происхождения. По качеству распознавания Julius не уступает Sphinx, однако имеет два изъяна: а) отсутствие хорошей акустической модели для английского языка (для русского более-менее нормальной нет и для Sphinx), что означает гораздо более низкое качество распознавания (в конце статьи я расскажу, как обойти эту проблему), и б) он использует внешний движок генерации акустической модели (обучения) HTK, разрабатываемый под руководством Microsoft в Кэмбридже (а это значит, что движок хоть и открыт, но использовать его можно только в личных целях).
Для систем синтеза существует масса различных оберток, упрощающих использование. Для Sphinx это уже не развиваемый PerlBox и созданный в рамках Google Summer Of Code апплет для среды Gnome под названием Gnome Voice Control. Отличная графическая оболочка для Julius — программа Simon, написанная с использованием библиотеки Qt4.
Пингвин! Лежать!
Перед тем, как перейти к установке и настройке системы распознавания речи следует уяснить, что ни один из открытых движков, будь то Sphinx, Julius или какой-то менее известный проект, не способен на 100% верно разобрать речь, даже если она будет принадлежать актеру с хорошо поставленным голосом. Однако при правильной тренировке программы (которая также включает в себя и подгонку под особенности произношения конкретного человека) ее вполне можно научить корректно распознавать простые двух-словные команды почти в 100% случаев.
И вот здесь нас ждет очень неприятный сюрприз: наиболее известная и распространенная CMU Sphinx (которая, кстати, имеет целых четыре параллельно развиваемых версии, одна из которых написана на Java) до сих пор находится в стадии «вечной альфы», пользоваться которой (не говоря уже о тренировке) обычному пользователю довольно затруднительно. Существует, конечно, утилита Gnome Voice Control, существенно упрощающая процесс общения с программой, но работает она только в Gnome. Поэтому мы воспользуемся Julius, который хоть и имеет некоторые проблемы, но очень прост в использовании.
Julius есть в репозиториях многих дистрибутивов, поэтому его не придется собирать из исходников. В Ubuntu для установки достаточно выполнить команду:
Чтобы научить Julius понимать английский язык, понадобятся файлы акустической модели, содержащие статистическое представление звуков, которые может воспринимать движок. Акустическая модель строится путем обработки звуковых файлов (с начитанными человеком фрагментами текстов) специальными программами (например, из пакета HTK). Наиболее правильно самому наговорить эти фрагменты и, таким образом, научить движок распознавать свой голос (в том числе, интонацию и ошибки произношения) и словосочетания, которые нужны именно вам. Тогда процент правильного распознавания будет стремиться к значению 100. Однако все это сложно, требует определенной подготовки и времени, поэтому пока мы ограничимся акустической моделью, распространяемой с сайта www.voxforge.org. Для этого надо установить пакет julius-voxforge:
Теперь можно приступить к настройке, которая фактически включает в себя только процесс создания словаря: списка слов, который должен уметь распознавать движок, и объяснение того, как эти слова могут между собой сопоставляться. Нужно это для двух целей: во-первых, движок должен знать произношение слов и понимать их, а во-вторых, сократив словарь всего до нескольких фраз, мы значительно повысим качество распознавания. Для простоты возьмем стандартные словари, распространяемые вместе с пакетом julius-voxforge:
Просмотрев файл sample.voca, вы заметите, что он содержит совсем небольшой список слов, таких как call, get, dial и т.д., а также их фонетическое представление (что-то вроде транскрипции), файл sample.grammar содержит правила, в каких комбинациях эти слова могут быть использованы. Не беспокойтесь, если он кажется непонятным, это нормально :).
Попробуем изменить файлы так, чтобы подогнать их под нашу задачу, которой будет… допустим, управление аудиоплеером. Итак, откройте файл sample.voca и добавьте в него следующее (удалив прежнее содержимое):
В файл sample.grammar поместите строку:
Все это значит, что движок должен понимать словосочетания, которые состоят из: тишина (NS_B), слов «do» (ID), «play», «next», «prev» или «silence» (COMMAND), тишина (NS_E). Говоря проще, вы можешь сказать «Do play», и машина вас поймет, в то время как слова «Hello World» будут для него инопланетным языком. Хорошая особенность короткого словаря в том, что, даже если вы скажете что-то вроде «Du pray», движок, скорее всего, распознает это как «Do play», а не как-нибудь иначе (в английском десятки и сотни слов звучат почти одинаково).
Теперь, не выходя из каталога, выполните команду для генерации файлов sample.dfa sample.term и sample.dict:
Это все. Можете протестировать julius с помощью команды:
После появления строки » >>» начинайте говорить определенные выше фразы. Чтобы движок правильно их понял, говорите слитно, как это делают англоговорящие (голоса которых и были использованы для создания акустической модели voxforge), без перерыва между словами. При таком способе произношения движок работает на удивление хорошо, лично у меня ни одного сбоя на 10 фраз. Если вы полуте худшие результаты, стоит поработать над произношением и купить хороший микрофон.
Конечно, пока от программы мало толку, поэтому мы должны создать Dialog manager, то есть, программу (скрипт), которая будет отвечать за перевод голосовых команд в команды на исполнение. К счастью, сделать это просто, достаточно прицепить на выход Julius стандартный ввод скрипта, который будет обрабатывать печатаемые программой фразы. Например, скрипт для управления audacious на языке python может выглядеть так:
Сохраните его под именем command.py и запускайте julius следующим образом:
Интернет телефония — это выгодный и современный способ общения без использования традиционных телефонных линий. SIP-телефония позволит вам увеличить число исходящих линий, расширить количество внутренних номеров, пользоваться конференцсвязью, а также записывать телефонные разговоры.
Источник
Учим linux понимать голосовые команды
А почему бы не научить своего пингвина понимать нашу речь? Причём не просто понимать, а ещё выполнять команды… да проще простого. Т.к. гугл открыл свой api для распознавания речи всем желающим, то для успеха нам нужно не более 2-х кб кода.
Практически всю работу уже сделал Andrey_B я лишь слегка поломал улучшил скрипт. Но всё равно, возможно, что придётся изрядно повозиться с настройками.
В первую очередь нам нужно будет установить пакеты: sox, flac и php5-curl
Далее понадобится 4 файла, все их можно скачать по этой ссылке. Закидываю на дропбокс, ибо там мне удобнее обновлять скрипт.
Распаковываем их в любую папку, но файл mic лучше поместить в
/bin, иначе придётся менять в нём путь. Остальные 3 файла(vocom, texttocmd.php и say.php) должны лежать в одной папке.
Затем запускаем в терминале файл vocom (./vocom).
И пробуем, что-нибудь произнести в микрофон.
Должно получится примерно так:
Меняем громкость с помощью голосовых команд
Если ничего не происходит, а видите только мигающий курсор, и в папке появился звуковой файл, значит барахлит чувствительность микрофона. Остановить скрипт можно нажав Cntrl+Z.
В скрипте vocom есть значения вида silence 1 0.3 3% 1 0.3 3%. 0,3 отвечает за параметр тишины. Если его поднять, то программа должна, по идее, прекратить запись и продолжить выполнения скрипта. Я не смог этого добиться… видимо мой микрофон совсем убит. Выход был найден следующий: я повесил скрипт mic, который включает или отключает микрофон, на клавишу клавиатуры. Как это сделать можно почитать здесь, внизу статьи.
Скрипт настроен под мои настройки, возможно у каждого они будут свои. Во время подбора оптимальных параметров я пользовался:
Выглядело это так:
Для удобства можно в скрипт vocom добавить ключ -S, что бы видеть уровень микрофона и процесс записи.
Допустим с микрофоном вы разобрались, осталось научить linux выполнять наши команды. обратимся к файлу texttocmd.php .
Отыщем в нём следующие строки:
Не сложно догадаться, как добавить сюда новые команды. Следует отметить, что команда сработает, только при наличии всех последовательностей букв, которые перечислены через запятую. Например можно сказать: «Проверь, не пришли ли новые письма на почту» и выполнится команда «thunderbird». Но на одно слово «почта» скрипт не отреагирует.
Как же лучше пользоваться этим голосовым управлением? Если вы не так часто разговариваете по микрофону, то файл» vocom» можно закинуть в автозагрузку, а активировать команды запуском скрипта «mic», который висит на клавише. Хотя для для обычного пользователя отдавать команды голосом — это скорее просто развлекаловка. Но возможно вы сможете найти лучшее применение, чем я.
Примерно подобные скрипты используются в системе «умный дом». Но есть и более простые варианты, которым не нужен гугловский распознаватель, например, управление освещением беспроводное голосом. Пользоваться таким устройством не сложнее, чем приготовить пареную репу.
Источник
КАК: Голосовое распознавание состояния Linux — 2021
Сравниваем системы Smart TV (Октябрь 2021).
Table of Contents:
Я трачу много времени на исследования статей, и нередко я думаю о предмете статьи, когда хожу на вокзал или когда и вообще.
Однажды вечером, прогуливаясь в 1,5 милях от станции, я подумал: «Было бы неплохо, если бы я мог записать то, что я хотел сказать, а затем автоматически ее транскрибировать в текстовый файл, который я мог бы редактировать и форматировать позже», ,
Я потратил много долгих часов на различные варианты, доступные для распознавания голоса и диктовки, включая запись непосредственно через микрофон с использованием программного обеспечения диктовки в Linux, запись файла в формат MP3 или WAV и преобразование его через командную строку, а также использование Chrome и приложения для Android.
Эта статья освещает мои результаты после нескольких дней каторжных работ.
Параметры Linux
Попытка найти диктовку и программное обеспечение для распознавания голоса в Linux не так проста, как могло бы быть, и доступные варианты не настолько умны.
На этой странице википедии есть список возможных вариантов, включая CMU Sphinx, Julius и Simon.
Я использую SparkyLinux, который основан на тестировании Debian на данный момент, и могу сказать, что единственным пакетом распознавания голоса, доступным в репозиториях, является Sphinx.
На родные программы Linux, которые я в конечном итоге пытался, были PocketSphinx, который я использовал для преобразования WAV-файлов в текст и Freespeech-VR, который является приложением python, которое позволяет записывать прямо с микрофона.
Я также попробовал несколько приложений Chrome, включая VoiceNote II и Dictanote.
Наконец, я попробовал приложения для Android «Диктовка и электронная почта» и «Talk And Talk Dictation».
Freespeech-VR
Freespeech-VR недоступен в стандартных репозиториях. Я загрузил файлы здесь.
После загрузки и извлечения содержимого zip-файла я открыл терминал и перешел в папку, в которую были извлечены файлы. Я набрал следующую команду, чтобы открыть freespeech-vr.
sudo python freespeech-vr
У меня есть пара наушников с довольно приличным микрофоном и довольно четким южным английским акцентом.
В окне freespeech-vr появился следующий текст:
Добро пожаловать в единичные собаки исхода Сегодня Уверяем, как управляемые тесты нужно проверять Когда на текст Используется системный способ Речь я по одному каждый был только в а Чтобы надеяться на то, чтобы остаться и на одно из цыплят золотистое как система Ea, когда это мое имя, следующий из них вызывает телефон. Этот файл. Достаточно достаточно, чтобы телефон делал в Hands-Space. Сфинкс. Going. Это не телефоны, которые будут доступны. Обученные и инструменты. Использование речи. Когда вы закончите. Say A used file Last a рассказ А И использовать по Когда это так, как успех Этот Linux был таким, Как избежать
Я хотел бы сейчас сказать, что это не сайт Unit Of Dogs, и ни в коем случае я не упоминал ничего общего с Золотыми цыплятами. Я действительно пытался описать процесс использования программного обеспечения для распознавания голоса.
Я пробовал программное обеспечение несколько раз, включая изменение высоты тона и скорости, но точность была плохой.
PocketSphinx
PocketSphinx может использовать WAV-файл и преобразовывать его в текст с помощью командной строки. PocketSphinx доступен через репозитории Debian и должен быть доступен для большинства дистрибутивов.
Основная проблема, которую я нашел с PocketSphinx, заключается в том, что вам практически необходима определенная степень в понятиях распознавания голоса, языковых файлов, словарей и способах обучения системы.
После установки PocketSphinx вы должны перейти на веб-сайт CMU Sphinx и прочитать как можно больше информации. Вам также необходимо загрузить следующий файл модели.
- Американская модель английского языка
(Если вы не являетесь носителем английского языка, выберите подходящую для вас модель языка).
Документацию для PocketSphinx и Sphinx в целом трудно понять для мирянина, но из того, что я могу разглядеть, файлы словарей используются для предоставления списка возможных слов, а языковые модели имеют список потенциальных произношений.
Чтобы проверить PocketSphinx, я использовал запись собственного голоса, фрагмент из альбома Al Pacino в «Адвокат дьяволов» и фрагмент из «Morgan Freeman». Дело в том, чтобы попробовать разные голоса, и для меня нет никого, кто мог бы рассказать историю так же ясно, как Морган Фримен, и никто не поставляет такую линию, как Аль Пачино.
Для работы PocketSphinx необходим WAV-файл, и он должен быть в определенном формате. Если файл находится в формате MP3, используйте команду ffmpeg для преобразования в WAV-формат:
ffmpeg -i inputfilename.mp3 -acodec pcm_s16le -ar 16000 outputfilename.wav
Для запуска PocketSphinx используйте следующую команду:
pocketsphinx_continuous -dict /usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic -infile voice2.wav -lm cmusphinx-5.0-ru-us.lm 2> voice2.log
pocketsphinx_continuous принимает WAV-файл и преобразует его в текст.
В команде выше pocketsphinx предлагается использовать файл словаря «/usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic» с языковой моделью «cmusphinx-5.0-ru-us.lm». Файл, преобразованный в текст, называется voice2.wav (это запись, которую я сделал с моим голосом). Наконец, 2> помещает весь подробный вывод, который вам не обязательно нужен, в файл voice2.log. Фактические результаты теста отображаются в окне терминала.
Результаты, используя мой голос, выглядят следующим образом:
добро пожаловать в следующий, о том, что на этой неделе не было проблем, о том, какое программное обеспечение для распознавания через минуту
Результаты не так ужасны, как у freespeech-vr, но до сих пор не используются. Затем я попытался использовать PocketSphinx с Al Pacino, но это не дало никаких результатов.
Наконец я попытался использовать голос Моргана Фримена из фильма «Брюс Всемогущий», и вот результаты:
000000000: мы будем на ней000000001: все это круто, да, в тот день, когда прямо сейчас, да, это самое большее, что мы были живы. Я часть горячего000000002: в лифте, который является ключевым из бит бейсбола или знает, что делать в жизни000000003: какие будут восстанавливаться000000004: они не пишут000000005: у меня есть000000006: вы должны быть правилами000000007: Я ждал тебя000000008: и он узнал здесь, что это была иллюстрация, была рождественская вечеринка убийцы000000009: получается один из способов написать o. я думал, что некоторые из них всегда носят000000010: как объединившаяся проблема не даст ему хорошего, я оценил их в тот момент, когда мы не все, что вы думаете, что я нахожусь в мире, будут дома, и я видел это000000011: отец, у которого есть это000000012: что много об этом000000013: делает это000000014: все, что вы, которые не падают много000000015: прямо осенью000000016: хорошо держись за меня000000017: Это несчастный, если я тоже думаю, что у них будет то, что все, что вышло замуж, не было нам, мне нравится, в отличие от этого
Мой тест вряд ли можно считать научным, и разработчики PocketSphinx могут заявить, что я неправильно использую программное обеспечение. Существует также технология, называемая голосовым обучением, которая может использоваться для создания лучших словарей и языковых файлов.
Мое главное мнение заключается в том, что это слишком сложно для обычного повседневного использования.
VoiceNote II
VoiceNote II — это приложение Chrome, в котором используется API распознавания Google Voice.
Если вы используете браузер Chrome или Chromium, вы можете установить VoiceNote II через интернет-магазин.
Значки на VoiceNote II выложены странным образом, так как вам нужно настроить язык в нижней части окна, а кнопка редактирования также находится внизу, однако кнопка записи находится в верхнем правом положении.
Первое, что вам нужно сделать, это выбрать язык, и это можно достичь, щелкнув значок мира.
Чтобы начать запись, щелкните значок микрофона и начните говорить в микрофон. Для достижения наилучших результатов я нашел, что говорить медленно было ключевым, так что у программного обеспечения была бы возможность идти в ногу со временем.
Результаты не были такими большими, как показано ниже:
Приветствуем и приветствуем подключение. Go-Travels.com сегодняшние статьи о преобразовании голоса в текст dunelm farrell рецессии 2008 в качестве конверсий, и он сказал, что хорошо поддерживает лучший способ, которым я нашел голосовой текстовый аддон, чтобы показать пакет 2014debian или rpm, чтобы открыть его тип голоса для речи, чтобы текст открыл его, если вы хотите выбрать vs выбрал в эдинбургском французском немецком, чтобы вы нашли время в объединенном королевском дворе в море, в то время как вы закончили писать свой текст в виде текстового файла для его успеха, и это очень стандартный английский акцент с юга Англии для этого, но я собираюсь в textvia this torrentalong с фактическим документом, и вы можете видеть ошибки, которые заставляют вас слушать друзей
Dictanote
Dictanote — это еще одно приложение для Chrome, которое можно использовать для целей диктовки и показало, что оно более интуитивное, но результаты не были лучше, чем VoiceNote II.
Я использовал только демоверсию Dictanote, которая мешает вам создавать новые документы, но позволяет вам разговаривать над текстом, который уже находится в редакторе. Я смог проверить распознавание голоса, но результаты были не лучше, чем VoiceNote II, поэтому я не подписался на версию pro.
Диктовка и почта
«Dictation And Mail» — приложение для Android, которое использует собственный API распознавания голоса Google.
Результаты «Диктовки и почты» были намного лучше, чем любая другая программа, предпринятая до этого момента.
привет, добро пожаловать в Linux lifewire., сегодня мы говорим о преобразовании звука в текст
Трюк с «Диктовкой и письмом» заключается в том, чтобы говорить медленно и произносить так же, как вы можете с ровным акцентом.
После того, как вы закончите говорить, вы можете отправить результаты по электронной почте себе.
Разговоры и разговоры
Другое приложение для Android, которое я пробовал, было «Talk and Talk Dictation».
Интерфейс для этого приложения был лучшим из связки, и распознавание голоса работало очень хорошо. После записи диктовки я смог поделиться результатами различными способами, в том числе по электронной почте.
Добро пожаловать в linux Go-Travels.com сегодня мы говорим о преобразовании речи в текст
Как вы можете видеть, текст выше настолько очевиден, насколько вы можете ожидать. Говорить медленно — это ключ.
Резюме
У Native Linux есть какой-то способ в отношении распознавания голоса и, в частности, диктовки. Есть некоторые приложения, которые используют Google Voice API, но они еще не перечислены в репозиториях.
Приложения ChromeOS немного лучше, но, безусловно, лучшие результаты были достигнуты с помощью моего телефона Android. Возможно, у телефона есть лучший микрофон, и поэтому программное обеспечение для распознавания голоса имеет больше шансов на конверсию.
Чтобы распознавание голоса стало действительно полезным, оно должно быть более интуитивно понятным, если требуется меньше настроек. Вам не нужно возиться с языковыми моделями и словарями, чтобы сделать его понятным.
Я признателен, однако, что все искусство распознавания голоса является очень сложным, потому что у каждого свой голос, и в одной стране так много диалектов из региона в регион, не беспокоясь о сотнях языков, используемых во всем мире.
Поэтому мой анализ заключается в том, что программное обеспечение для распознавания голоса все еще работает.
Что такое оптическое распознавание символов (OCR)?
Узнайте, что такое оптическое распознавание символов (OCR) и как оно работает, чтобы облегчить чтение документов на компьютерах.
Как использовать голосовое управление на IPhone и IPod Touch
Siri может быть самой известной функцией голосовой активации iPhone, но если вам не нравится Siri, попробуйте Voice Control на вашем iPhone.
Как сделать голосовое управление в PowerPoint
Записывайте аудио на слайды PowerPoint, чтобы создавать озвучки, которые можно воспроизводить в автономном слайд-шоу, таком как киоск или видео.
Источник