Содержание

Google Live Transcribe переводит речь в текст в реальном времени

Специально для глухих и слабослышащих людей Google разработала приложение, которое распознает речь и создает субтитры в онлайн режиме. Люди, потерявшие слух, смогут участвовать в беседах и посещать общественные мероприятия без предварительной подготовки и необходимости заказывать услуги переводчика на язык жестов. По оценкам Всемирной организации здравоохранения, в мире насчитывается 466 миллионов людей с нарушениями слуха.

Приложение Live Transcribe

Live Transcribe предназначено для транскрибации окружающей речи и создания стенограммы, которую может читать человек с нарушениями слуха. Оно автоматически переводит речь говорящего в текст на экране смартфона. Приложение работает на Google Cloud и имеет встроенный распознаватель речи на основе нейронной сети. Модель, аналогичная ранее опубликованной VGGish, обнаруживает речь и управляет сетевыми подключениями к облачному механизму автоматического распознавания.

Приложение поддерживает транскрипцию 70 языков, которые используют 80% населения планеты. Пользователь может выбрать два языка одновременно. Один из них будет основным, другой — дополнительным. Между ними можно переключаться в реальном времени. В компании работают над тем, чтобы научить приложение самостоятельно определять язык говорящего, для того чтобы человеку не нужно было переключать их.

Live Transcribe определяет уровень шума окружающей обстановки. Индикатор дает мгновенную обратную связь, чтобы пользователь мог переместить телефон ближе к говорящему. Если шум все равно превышает допустимый порог и мешает алгоритму перевести речь в текст, на экране появится клавиатура, чтобы можно было набрать сообщение вручную. Эту же клавиатуру может использовать слабослышащий человек, чтобы набирать ответы и участвовать в беседе.

Аудиозаписи и текст не сохраняются на серверах — Google позаботилась и о конфиденциальности данных пользователей. Программа использует Cloud Speech API, поэтому для работы приложения обязательно подключение к интернету.

Приложение Live Transcribe уже доступно в Play Store для тестирования и будет предустановлено на всех устройствах Pixel 3 со следующим обновлением.

Сбер представил девайс для распознавая речи сотрудников во время общения с клиентами

В рамках ПМЭФ Сбер представил SmartBadge — новый программно-аппаратный комплекс в виде бейджа для анализа общения сотрудников с клиентами.

SmartBadge разработан SberDevices и бесшовно интегрируется с системой речевой аналитики Группы ЦРТ. Система SmartBadge состоит из носимых устройств для записи диалогов (бейджей) с e-ink-дисплеем, док-станции на пять устройств, предназначенной для зарядки бейджей и скачивания записанных данных, а также программного обеспечения, осуществляющего безопасное удаленное администрирование устройств, диаризацию записи и обмен данными с сервисом речевой аналитики.

SmartBadge обладает возможностью диаризации записи, т. е. разделения диалога по ролям в виде двух аудиодорожек — речь сотрудника и клиента — для их отдельного анализа. Наличие e-ink-дисплея — еще одна особенность SmartBadge, которая позволяет организации приобретать устройства в соответствии с количеством одновременно работающих сотрудников и не присваивать каждому индивидуальный бейдж. Система SmartBadge надежно защищена от взлома и некорректного использования — причем как физически, так и программно.

Новое устройство поможет повысить качество обслуживания, обучать сотрудников, разрешать спорные ситуации, анализировать запросы клиентов, повышать продажи, лояльность клиентов и эффективность маркетинговых активностей. Для того чтобы владелец бизнеса получил не просто записи сессий обслуживания, а емкий и концентрированный анализ, ПО выполняет огромную работу по подготовке данных: происходит диаризация сигнала, преобразование речи в текст, а затем — семантический анализ текста.

Для диаризации сигнала на бейдже реализована собственная разработка SberDevices — микрофонная матрица из четырех MEMS-микрофонов. Специально выбранная конфигурация размещения микрофонов и алгоритм позволяют эффективно выделить речь сотрудника и клиента в диалоге, даже если общение происходит в шумной обстановке или на фоне музыки. После этого речевая аналитика ЦРТ преобразует диалоги в текст, анализирует множеством алгоритмов, а развитая отчетность помогает оперативно выявлять проблемные зоны. Отчёты формируются на базе анализа ключевых слов и выражений. В решении уже настроены базовые и специализированные кейсы, разработанные экспертами ЦРТ. Среди них: контроль качества обслуживания и нежелательной лексики, выявление негативной и позитивной реакций клиента, лучших и худших тактик продаж. Очевидно, что качество речевой аналитики зависит от качества распознавания речи: важно распознать, что именно сказано, даже если речь в шумах, не всегда разборчива. Технология распознавания речи ЦРТ получила международное признание от профессионалов, позволяет «понимать» даже спонтанную, не идеально четкую речь. Еще одна особенность речевой аналитики ЦРТ — самый глубокий на российском рынке анализ речи — более 50 параметров.

«SmartBadge — это максимально безопасное, удобное и простое в использовании устройство, которое можно применять в самых разных сферах — от ретейла до медицины. В устройстве от SberDevices реализовано несколько инновационных решений — в частности, возможность разделять речь сотрудника и клиента на две звуковые дорожки благодаря специально разработанной микрофонной матрице и алгоритмам диаризации, а также e-ink-экран, который делает бейдж более универсальным в использовании. SmartBadge даёт руководителю возможность напрямую оценить качество процесса обслуживания клиентов на любом уровне — от статистики по всей компании до конкретной сессии общения — и своевременно принять необходимые решения», — рассказал

Константин Круглов, старший вице-президент по новым цифровым поверхностям Сбербанка, CEO SberDevices.

«Распознавание речи от Группы ЦРТ на международном конкурсе CHiME 2020 признано лучшим в мире. Речевая аналитика ЦРТ доказала эффективность в контактных центрах по всей стране: банках, телекоме, девелоперских компаниях, ТЭК, госсекторе. Ее внедрение позволяет «слышать голос своего клиента» и развивать бизнес, основываясь на реальной обратной связи. Актуальность речевой аналитики в онлайн — телефонных каналах — сформировала запрос на её внедрение и в офлайн — офисах, точках продаж, face-to-face-аналитику. Удовлетворяя этот запрос, мы масштабировали свой успешный опыт. Теперь речевая аналитика в офлайн-каналах, фронт-офисах станет ещё более удобной. Речевая аналитика работает на русском, английском, испанском языках, в ближайших планах — арабский и другие языки. Решение будет особо актуально для среднего и крупного бизнеса», — отметил

Дмитрий Дырмовский, генеральный директор Группы компаний ЦРТ.

Формы и пропорции девайса SmartBadge, где применяется речевая аналитика, соответствуют обычному бейджу, вес устройства составляет 35 г. В процессе зарядки и скачивания данных бейджи надежно фиксированы в док-станции, что защищает устройство от несанкционированного изъятия. Для того чтобы начать использовать бейдж, сотрудник должен пройти аутентификацию по специальной RFID-метке или пропуску организации. После этого на дисплее носимого устройства отобразится его имя и должность, и бейдж автоматически освобождается из устройства.

На протяжении всего рабочего времени носимый девайс записывает диалоги сотрудника с клиентом. Устройство позволяет осуществлять запись до 16 часов без подзарядки. В случае необходимости запись можно приостановить. По возвращении бейджа в док-станцию аудиофайл в зашифрованном виде проходит анализ. После того как аудиофайл был передан на сервер аналитики, док-станция очищает память носимого устройства и выполняет его зарядку. На случай нестабильной работы сети и невозможности передать данные в облачное хранилище в док-станции предусмотрена память, которая может сохранять данные на внутреннем накопителе — до 250 часов записей со всего комплекта бейджей.

При создании программно-аппаратного комплекса SmartBadge приоритетом являются вопросы безопасности. Реализация решений, обеспечивающих эту безопасность, — от архитектуры системы до отдельных протоколов обмена данными и способов механической защиты устройств от несанкционированного извлечения из док-станции — разрабатывалась с участием команды BI.ZONE, компании по стратегическому управлению цифровыми рисками, входящей в экосистему Сбера. Основа защиты данных в устройстве — механизм использования цифровых подписей и алгоритм ассиметричного шифрования, реализованный на аппаратном уровне. Благодаря применению всего комплекса решений обеспечивается многоуровневая защита данных: даже в случае утери сотрудником устройства или его кражи злоумышленники не смогут получить доступ к чувствительной информации их клиентов. Это позволит владельцам бизнеса, которые приобретают SmartBadge, не волноваться, что данные их клиентов будут скомпрометированы и использованы в корыстных целях, что особенно важно в таких деликатных вопросах как, например, финансы или здоровье.

По материалам Сбербанка

Голосовые переводчики реального времени

Популярный справочник «Этнолог: Языки мира» в последней редакции содержит сведения о 7106 языках, однако 90% мирового населения использует лишь около ста из них. Эту сотню самых распространенных языков уже освоили на достаточно высоком уровне системы машинного перевода. Некоторые из них бесплатно помогают преодолеть языковой барьер сразу в нескольких сценариях практического применения. Они распознают иностранные надписи на фотографиях, автоматически выбирают язык оригинала, захватывают речь с микрофона и озвучивают перевод. Для обзора мы отобрали лучшие сервисы, способные переводить живую речь.

Microsoft Translator — облачный сервис машинного перевода, поддерживающий работу с текстом, голосом и изображениями. С его помощью можно автоматически переводить и озвучивать беседы с несколькими пользователями. Он предоставляется бесплатно для персонального некоммерческого использования.

Доступны мобильные версии Microsoft Translator для Windows ,Android и iOS.Также можно воспользоваться голосовым и текстовым переводчиком через веб-интерфейс.

Для компаний предусмотрена интеграция Microsoft Translator в различные бизнес-программы через библиотеку интерфейсов Cognitive Services APIs. Она может использоваться при локализации справок и веб-сервисов, в работе международного колл-центра, для автоматического перевода презентаций прямо во время вебинаров и во множестве других сценариев. Большая часть статей на собственном сайте Microsoft переведена на десятки языков при помощи MS Translator.

В последние годы становится популярным дистанционное обучение, поэтому Microsoft предоставляет специальную версию переводчика для образовательных учреждений. В ней практически отсутствуют ограничения на одновременное количество собеседников и есть отдельные инструменты для слушателей, которым требуется особый подход. В частности, для глухих и слабослышащих ведется трансляция субтитров.

С помощью MS Translator гораздо проще читать лекции студентам из разных стран, объединять учебные группы, говорящие на разных языках, и проводить конференции. Например, средняя школа Белвью (штат Вашингтон) с помощью MS Translator сегодня ведет образовательные программы более чем на 80 языках. Среди ее учеников английский является родным менее чем для 30%. До внедрения автоматического перевода их приходилось разделять на группы с обучением на испанском, корейском и китайском (диалект путунхуа) языках. Это были преобладающие варианты, но всегда находились ученики, не попадающие ни в одну из групп. Им просто приходилось отказывать ввиду нехватки переводчиков.

В ролике ниже демонстрируется функция голосового перевода MS Translator для преодоления языкового барьера и поддержания живого общения между собеседниками из разных стран.

Google Translate — мощная система перевода, работающая как онлайн, так и офлайн. В настоящее время поддерживает 103 языка в текстовом режиме и более 30 языков при использовании голосовых функций.

Благодаря интеграции Google Translate с приложением Google Lens появилась возможность переводить изображения с камеры смартфона, что сильно упрощает туризм и чтение инструкций на иностранных языках. Достаточно навести камеру на дорожный указатель, вывеску, название товара или любую другую надпись, как на экране появится перевод. Дополнительно ИИ распознает достопримечательности и показывает краткую информацию о них. Технология использует оптическое распознавание текста (OCR), поэтому иногда возникают проблемы при переводе рукописных заметок и применении стилизованных шрифтов.

Базовые функции Google Translate доступны через веб-интерфейс. У него есть возможность работать с переведенным текстом прямо в браузере: выбирать варианты из списка, быстро находить подсвеченный фрагмент в оригинале и уточнять контекст. Для перевода можно вставить текстовый фрагмент из буфера обмена, указать URL веб-страницы (в Google Chrome уже интегрирована опция перевода сайтов) или загрузить файл в одном из популярных форматов (документы MS Office, PDF, ODF, RTF, TXT).

Благодаря технологиям машинного обучения Google Translate постоянно совершенствуется. Это очень помогает при работе с устойчивыми выражениями, которые бессмысленно переводить дословно. Кроме того, искусственный интеллект автоматически выберет язык оригинала и даже диалект, если вы затрудняетесь указать его вручную. В отличие от большинства сервисов автоматизированного перевода, здесь для многих слов сразу предлагается транскрипция и возможность услышать их правильное произношение диктором.

Все расширенные функции доступны в бесплатных мобильных приложениях для Android и iOS. Среди них стоит отметить возможность текстового перевода без подключения к Интернету: достаточно заранее скачать набор словарей, предоставляемый для 59 языков.

Распознавание речи происходит преимущественно в облаке, поэтому поддержка голосового перевода в режиме живого общения пока ограничена тридцатью двумя языками. Однако в них вошли практически все распространенные языки Европы, Азии, Северной и Южной Америки.

Оптическое распознавание текста в приложениях реализовано для 38 языков и работает так же, как и в Google Lens: можно загрузить графический файл или просто навести камеру на текст для его перевода.

Если вы любите создавать рукописные заметки, приложение Google Translate поможет и в этом. Оно автоматически преобразует их в текст и переведет на любой из 93 языков. Особенно востребована эта функция в Китае, где туристы часто хотят пообщаться с монахами, давшими обет молчания. Им не запрещено писать иероглифы, в том числе на сенсорном экране. Также она пригодится для беседы со слабослышащими и глухонемыми людьми.

После установки Google Translate при выделении текста из любого приложения в контекстном меню появляется пункт «Перевести». Так вы получите мгновенный перевод без копирования текста и переключения окон.

SayHi — необычный переводчик от молодой частной компании из Уилмингтона (штат Делавэр). Это бесплатное приложение, которое не содержит рекламы и предлагает очень качественный машинный перевод более чем на 90 языков.

Приятной особенностью является его легковесность. Дистрибутив занимает всего 5,7 Мб и работает даже на старых смартфонах (требуется Android 4.4 и выше). Другая отличительная черта — возможность выбрать тип озвучки (мужской или женский голос) и настроить скорость произношения. Это бесценное качество для тех, кто изучает язык или просто не успевает за скороговоркой электронных дикторов других приложений.

Все функции перевода выполняются в облаке, поэтому SayHi нетребователен к ресурсам, но ему нужно надежное подключение. Приложение не поддерживает загрузку словарей для офлайнового использования и не работает без Интернета.

Day Translations

Иногда бесплатные сервисы не справляются. Например, плохо читается надпись, у собеседника специфическое произношение или просто требуется максимально высокое качество перевода для серьезных задач. Тогда на помощь приходят гибридные решения, сочетающие скорость систем на базе ИИ с уровнем профессиональных лингвистов.

Такой метод использует в своем одноименном онлайн-сервисе компания Day Translations Inc. Она была основана в Нью-Йорке в 2007 году, и с тех пор предлагает услуги перевода более чем на ста языках.

Вы можете использовать бесплатное приложение от Day Translationsдля получения мгновенного машинного перевода. В основном окне программы выполняется работа с текстом, а голосовой перевод устных реплик доступен на вкладке Interpret.

На момент написания этой статьи (ноябрь 2019 года) была доступна версия 2.0.2. Она оставила в целом приятное впечатление, но в ходе тестирования выявились и некоторые минусы. В частности, Day Translations не позволяет изменять вручную неуверенно распознанные слова. Программа сама подменяет их сходными по звучанию и сразу озвучивает перевод. Еще одно существенное ограничение касается работы с текстом. В бесплатной версии установлен лимит на перевод в объеме до 30 тыс. символов в сутки.

Если программа не справляется, то прямо в ней можно воспользоваться платными услугами профессиональных переводчиков. Они всегда доступны в чате и готовы помочь там, где ИИ не распознает оригинал или плохо улавливает контекст. По большому счету, это единственное преимущество программы.

Заключение

Большинству пользователей в зарубежных поездках поможет сервис Google Translate, доступный как через веб-интерфейс, так и через мобильное приложение с интеграцией функций перевода в контекстное меню. За счет офлайновых словарей он выручит и там, где нет Интернета.

Если вам требуется локализация программ, быстрый перевод презентаций или чтение лекций для зарубежных студентов, обратите внимание на Microsoft Translator. В этом сервисе доступна интеграция через API и специальные инструменты для образования.

Обладателям старых смартфонов стоит присмотреться к SayHi как самому легковесному приложению. Его функция выбора голоса и настройки скорости озвучки существенно упрощают живое общение.

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

Мобильное приложение для распознавания казахской речи разработали в РК

Проект будет бесплатным для пользователей.

Казахстанские разработчики создали мобильное приложение TezText, которое распознает устную казахскую речь и преобразовывает ее в текст, передает корреспондент BaigeNews.kz. Приложение придумано, в основном, в помощь журналистам, которые берут интервью, а потом вынуждены длительное время расписывать диалог. Разработка значительно облегчает им эту задачу.

«TezText позволяет записывать аудио в приложении, распознать казахскую речь в режиме реального времени, а также в загруженных аудиофайлах. Записывая речь через приложение, вы сможете получить мгновенный результат сразу после окончания записи. У вас будет уже распознанный текст после нажатия на кнопку «Stop». Приложение также позволит удобно взаимодействовать с уже записанными аудио. Для быстрой записи, для быстрой навигации среди записей в TezText есть возможность предпросмотра загруженных аудио. Вы можете послушать записанные аудио и нажатием на кнопку «Весь текст» увидеть полную версию распознанного предложения. Каждый, кто активно работает с медиа, создает очень много контента, будь это фото, видео или аудио, чтобы не потеряться в аудиозаписях, мы сделали функцию «Добавить в избранное». Вы можете добавлять туда наиболее важные для вас аудиозаписи. Журналисты в работе используют профессиональные диктофоны. Мы разработали функцию загрузки аудиофайлов. Вы можете загрузить аудиофайл для распознания прямо из приложения», — рассказал один из разработчиков приложения Абай Сергазиев.

Команда «Галамат Тех», создавшая этот проект, работала над ним более полугода. Финансировало их Посольство США в Казахстане. Мобильное приложение бесплатно для пользователей, его можно скачать в Play Market или AppStore.

«При сборе голосовых данных для акустической модели мы привлекли волонтеров со всего Казахстана. С их помощью мы собрали более 10 тысяч слов живой казахской речи. Средний возраст волонтеров составляет 23 года, 60 процентов из них — представители женского пола. Для корректного распознавания речи мы использовали специальные материалы: казахоязычные статьи из Википедии, из различных новостных агентств, а также из художественных произведений. В итоге нам удалось собрать более 40 миллиона предложений. Таким образом мы на самом деле добились хорошего уровня распознавания, в частности для журналистов. Задача по распознаванию речи относится к высокоинтеллектуальному и трудоемкому роду задач, поэтому за такой короткий период добиться такого распознавания на самом деле является очень хорошим результатом. В данный момент мы не остановились, также работаем над качеством распознавания и постоянно улучшаем языковую модель», — рассказал представитель «Галамат Тех» Нургаин Сакиев.

Разработчики подсчитали, что на раскадровку устного интервью журналист тратит в среднем два часа. Мобильное приложение TezText справляется с этой задачей в несколько раз быстрее. К тому же, разработка экономит не только время репортера, но и его деньги, говорят авторы проекта. Услуги транскрибатора (специалиста по декодированию аудиозаписи), к которым журналисты нередко обращаются за помощью, стоят от четырех тысяч тенге и выше.

По словам Сакиева, существуют много мобильных приложений по распознаванию русской и английской речей, но IT-продукта по декодированию казахской речи до сих пор не было.

Пишем голосового ассистента на Python

Введение


Технологии в области машинного обучения за последний год развиваются с потрясающей скоростью. Всё больше компаний делятся своими наработками, тем самым открывая новые возможности для создания умных цифровых помощников.

В рамках данной статьи я хочу поделиться своим опытом реализации голосового ассистента и предложить вам несколько идей для того, чтобы сделать его ещё умнее и полезнее.

Что умеет мой голосовой ассистент?



Шаг 1. Обработка голосового ввода


Начнём с того, что научимся обрабатывать голосовой ввод. Нам потребуется микрофон и пара установленных библиотек: PyAudio и SpeechRecognition.

Подготовим main-метод:

import speech_recognition

if __name__ == "__main__":

    # инициализация инструментов распознавания и ввода речи
    recognizer = speech_recognition.Recognizer()
    microphone = speech_recognition.Microphone()

    while True:
        # старт записи речи с последующим выводом распознанной речи 
        voice_input = record_and_recognize_audio()
        print(voice_input)

Теперь создадим метод для записи и распознавания речи. Для онлайн-распознавания нам потребуется Google, поскольку он имеет высокое качество распознавания на большом количестве языков.
def record_and_recognize_audio(*args: tuple):
    """
    Запись и распознавание аудио
    """
    with microphone:
        recognized_data = ""

        # регулирование уровня окружающего шума
        recognizer.adjust_for_ambient_noise(microphone, duration=2)

        try:
            print("Listening...")
            audio = recognizer.listen(microphone, 5, 5)

        except speech_recognition.WaitTimeoutError:
            print("Can you check if your microphone is on, please?")
            return

        # использование online-распознавания через Google 
        try:
            print("Started recognition...")
            recognized_data = recognizer.recognize_google(audio, language="ru").lower()

        except speech_recognition.UnknownValueError:
            pass

        # в случае проблем с доступом в Интернет происходит выброс ошибки
        except speech_recognition.RequestError:
            print("Check your Internet Connection, please")

        return recognized_data

А что делать, если нет доступа в Интернет? Можно воспользоваться решениями для offline-распознавания. Мне лично безумно понравился проект Vosk.
На самом деле, необязательно внедрять offline-вариант, если он вам не нужен. Мне просто хотелось показать оба способа в рамках статьи, а вы уже выбирайте, исходя из своих требований к системе (например, по количеству доступных языков распознавания бесспорно лидирует Google).
Теперь, внедрив offline-решение и добавив в проект нужные языковые модели, при отсутствии доступа к сети у нас автоматически будет выполняться переключение на offline-распознавание.

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

Таким образом, полученный код выглядит следующим образом:

Полный код для работы распознавания речи
from vosk import Model, KaldiRecognizer  # оффлайн-распознавание от Vosk
import speech_recognition  # распознавание пользовательской речи (Speech-To-Text)
import wave  # создание и чтение аудиофайлов формата wav
import json  # работа с json-файлами и json-строками
import os  # работа с файловой системой


def record_and_recognize_audio(*args: tuple):
    """
    Запись и распознавание аудио
    """
    with microphone:
        recognized_data = ""

        # регулирование уровня окружающего шума
        recognizer.adjust_for_ambient_noise(microphone, duration=2)

        try:
            print("Listening...")
            audio = recognizer.listen(microphone, 5, 5)

            with open("microphone-results.wav", "wb") as file:
                file.write(audio.get_wav_data())

        except speech_recognition.WaitTimeoutError:
            print("Can you check if your microphone is on, please?")
            return

        # использование online-распознавания через Google 
        try:
            print("Started recognition...")
            recognized_data = recognizer.recognize_google(audio, language="ru").lower()

        except speech_recognition.UnknownValueError:
            pass

        # в случае проблем с доступом в Интернет происходит попытка 
        # использовать offline-распознавание через Vosk
        except speech_recognition.RequestError:
            print("Trying to use offline recognition...")
            recognized_data = use_offline_recognition()

        return recognized_data


def use_offline_recognition():
    """
    Переключение на оффлайн-распознавание речи
    :return: распознанная фраза
    """
    recognized_data = ""
    try:
        # проверка наличия модели на нужном языке в каталоге приложения
        if not os.path.exists("models/vosk-model-small-ru-0.4"):
            print("Please download the model from:\n"
                  "https://alphacephei.com/vosk/models and unpack as 'model' in the current folder.")
            exit(1)

        # анализ записанного в микрофон аудио (чтобы избежать повторов фразы)
        wave_audio_file = wave.open("microphone-results.wav", "rb")
        model = Model("models/vosk-model-small-ru-0.4")
        offline_recognizer = KaldiRecognizer(model, wave_audio_file.getframerate())

        data = wave_audio_file.readframes(wave_audio_file.getnframes())
        if len(data) > 0:
            if offline_recognizer.AcceptWaveform(data):
                recognized_data = offline_recognizer.Result()

                # получение данных распознанного текста из JSON-строки
                # (чтобы можно было выдать по ней ответ)
                recognized_data = json.loads(recognized_data)
                recognized_data = recognized_data["text"]
    except:
        print("Sorry, speech service is unavailable. Try again later")

    return recognized_data


if __name__ == "__main__":

    # инициализация инструментов распознавания и ввода речи
    recognizer = speech_recognition.Recognizer()
    microphone = speech_recognition.Microphone()

    while True:
        # старт записи речи с последующим выводом распознанной речи
        # и удалением записанного в микрофон аудио
        voice_input = record_and_recognize_audio()
        os.remove("microphone-results.wav")
        print(voice_input)


Возможно, вы спросите «А зачем поддерживать offline-возможности?»

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

Шаг 2. Конфигурация голосового ассистента


Поскольку наш голосовой ассистент может иметь пол, язык речи, ну и по классике, имя, то давайте выделим под эти данные отдельный класс, с которым будем работать в дальнейшем.

Для того, чтобы задать нашему ассистенту голос, мы воспользуемся библиотекой для offline-синтеза речи pyttsx3. Она автоматически найдет голоса, доступные для синтеза на нашем компьютере в зависимости от настроек операционной системы (поэтому, возможно, что у вас могут быть доступны другие голоса и вам нужны будут другие индексы).

Также добавим в в main-метод инициализацию синтеза речи и отдельный метод для её проигрывания. Чтобы убедиться, что всё работает, сделаем небольшую проверку на то, что пользователь с нами поздоровался, и выдадим ему обратное приветствие от ассистента:

Полный код основы голосового ассистента (синтез и распознавание речи)
from vosk import Model, KaldiRecognizer  # оффлайн-распознавание от Vosk
import speech_recognition  # распознавание пользовательской речи (Speech-To-Text)
import pyttsx3  # синтез речи (Text-To-Speech)
import wave  # создание и чтение аудиофайлов формата wav
import json  # работа с json-файлами и json-строками
import os  # работа с файловой системой


class VoiceAssistant:
    """
    Настройки голосового ассистента, включающие имя, пол, язык речи
    """
    name = ""
    sex = ""
    speech_language = ""
    recognition_language = ""


def setup_assistant_voice():
    """
    Установка голоса по умолчанию (индекс может меняться в 
    зависимости от настроек операционной системы)
    """
    voices = ttsEngine.getProperty("voices")

    if assistant.speech_language == "en":
        assistant.recognition_language = "en-US"
        if assistant.sex == "female":
            # Microsoft Zira Desktop - English (United States)
            ttsEngine.setProperty("voice", voices[1].id)
        else:
            # Microsoft David Desktop - English (United States)
            ttsEngine.setProperty("voice", voices[2].id)
    else:
        assistant.recognition_language = "ru-RU"
        # Microsoft Irina Desktop - Russian
        ttsEngine.setProperty("voice", voices[0].id)


def play_voice_assistant_speech(text_to_speech):
    """
    Проигрывание речи ответов голосового ассистента (без сохранения аудио)
    :param text_to_speech: текст, который нужно преобразовать в речь
    """
    ttsEngine.say(str(text_to_speech))
    ttsEngine.runAndWait()


def record_and_recognize_audio(*args: tuple):
    """
    Запись и распознавание аудио
    """
    with microphone:
        recognized_data = ""

        # регулирование уровня окружающего шума
        recognizer.adjust_for_ambient_noise(microphone, duration=2)

        try:
            print("Listening...")
            audio = recognizer.listen(microphone, 5, 5)

            with open("microphone-results.wav", "wb") as file:
                file.write(audio.get_wav_data())

        except speech_recognition.WaitTimeoutError:
            print("Can you check if your microphone is on, please?")
            return

        # использование online-распознавания через Google 
        # (высокое качество распознавания)
        try:
            print("Started recognition...")
            recognized_data = recognizer.recognize_google(audio, language="ru").lower()

        except speech_recognition.UnknownValueError:
            pass

        # в случае проблем с доступом в Интернет происходит 
        # попытка использовать offline-распознавание через Vosk
        except speech_recognition.RequestError:
            print("Trying to use offline recognition...")
            recognized_data = use_offline_recognition()

        return recognized_data


def use_offline_recognition():
    """
    Переключение на оффлайн-распознавание речи
    :return: распознанная фраза
    """
    recognized_data = ""
    try:
        # проверка наличия модели на нужном языке в каталоге приложения
        if not os.path.exists("models/vosk-model-small-ru-0.4"):
            print("Please download the model from:\n"
                  "https://alphacephei.com/vosk/models and unpack as 'model' in the current folder.")
            exit(1)

        # анализ записанного в микрофон аудио (чтобы избежать повторов фразы)
        wave_audio_file = wave.open("microphone-results.wav", "rb")
        model = Model("models/vosk-model-small-ru-0.4")
        offline_recognizer = KaldiRecognizer(model, wave_audio_file.getframerate())

        data = wave_audio_file.readframes(wave_audio_file.getnframes())
        if len(data) > 0:
            if offline_recognizer.AcceptWaveform(data):
                recognized_data = offline_recognizer.Result()

                # получение данных распознанного текста из JSON-строки 
                # (чтобы можно было выдать по ней ответ)
                recognized_data = json.loads(recognized_data)
                recognized_data = recognized_data["text"]
    except:
        print("Sorry, speech service is unavailable. Try again later")

    return recognized_data


if __name__ == "__main__":

    # инициализация инструментов распознавания и ввода речи
    recognizer = speech_recognition.Recognizer()
    microphone = speech_recognition.Microphone()

    # инициализация инструмента синтеза речи
    ttsEngine = pyttsx3.init()

    # настройка данных голосового помощника
    assistant = VoiceAssistant()
    assistant.name = "Alice"
    assistant.sex = "female"
    assistant.speech_language = "ru"

    # установка голоса по умолчанию
    setup_assistant_voice()

    while True:
        # старт записи речи с последующим выводом распознанной речи
        # и удалением записанного в микрофон аудио
        voice_input = record_and_recognize_audio()
        os.remove("microphone-results.wav")
        print(voice_input)

        # отделение комманд от дополнительной информации (аргументов)
        voice_input = voice_input.split(" ")
        command = voice_input[0]

        if command == "привет":
            play_voice_assistant_speech("Здравствуй")


На самом деле, здесь бы хотелось самостоятельно научиться писать синтезатор речи, однако моих знаний здесь не будет достаточно. Если вы можете подсказать хорошую литературу, курс или интересное документированное решение, которое поможет разобраться в этой теме глубоко — пожалуйста, напишите в комментариях.

Шаг 3. Обработка команд


Теперь, когда мы «научились» распознавать и синтезировать речь с помощью просто божественных разработок наших коллег, можно начать изобретать свой велосипед для обработки речевых команд пользователя 😀

В моём случае я использую мультиязычные варианты хранения команд, поскольку у меня в демонстрационном проекте не так много событий, и меня устраивает точность определения той или иной команды. Однако, для больших проектов я рекомендую разделить конфигурации по языкам.

Для хранения команд я могу предложить два способа.

1 способ

Можно использовать прекрасный JSON-подобный объект, в котором хранить намерения, сценарии развития, ответы при неудавшихся попытках (такие часто используются для чат-ботов). Выглядит это примерно вот так:
config = {
    "intents": {
        "greeting": {
            "examples": ["привет", "здравствуй", "добрый день",
                         "hello", "good morning"],
            "responses": play_greetings
        },
        "farewell": {
            "examples": ["пока", "до свидания", "увидимся", "до встречи",
                         "goodbye", "bye", "see you soon"],
            "responses": play_farewell_and_quit
        },
        "google_search": {
            "examples": ["найди в гугл",
                         "search on google", "google", "find on google"],
            "responses": search_for_term_on_google
        },
    },
    "failure_phrases": play_failure_phrase
}

Такой вариант подойдёт тем, кто хочет натренировать ассистента на то, чтобы он отвечал на сложные фразы. Более того, здесь можно применить NLU-подход и создать возможность предугадывать намерение пользователя, сверяя их с теми, что уже есть в конфигурации.

Подробно этот способ мы его рассмотрим на 5 шаге данной статьи. А пока обращу ваше внимание на более простой вариант

2 способ

Можно взять упрощенный словарь, у которого в качестве ключей будет hashable-тип tuple, а в виде значений будут названия методов, которые будут выполняться. Для коротких команд подойдёт вот такой вариант:
commands = {
    ("hello", "hi", "morning", "привет"): play_greetings,
    ("bye", "goodbye", "quit", "exit", "stop", "пока"): play_farewell_and_quit,
    ("search", "google", "find", "найди"): search_for_term_on_google,
    ("video", "youtube", "watch", "видео"): search_for_video_on_youtube,
    ("wikipedia", "definition", "about", "определение", "википедия"): search_for_definition_on_wikipedia,
    ("translate", "interpretation", "translation", "перевод", "перевести", "переведи"): get_translation,
    ("language", "язык"): change_language,
    ("weather", "forecast", "погода", "прогноз"): get_weather_forecast,
}

Для его обработки нам потребуется дополнить код следующим образом:
def execute_command_with_name(command_name: str, *args: list):
    """
    Выполнение заданной пользователем команды и аргументами
    :param command_name: название команды
    :param args: аргументы, которые будут переданы в метод
    :return:
    """
    for key in commands.keys():
        if command_name in key:
            commands[key](*args)
        else:
            pass  # print("Command not found")


if __name__ == "__main__":

    # инициализация инструментов распознавания и ввода речи
    recognizer = speech_recognition.Recognizer()
    microphone = speech_recognition.Microphone()

    while True:
        # старт записи речи с последующим выводом распознанной речи
        # и удалением записанного в микрофон аудио
        voice_input = record_and_recognize_audio()
        os.remove("microphone-results.wav")
        print(voice_input)

        # отделение комманд от дополнительной информации (аргументов)
        voice_input = voice_input.split(" ")
        command = voice_input[0]
        command_options = [str(input_part) for input_part in voice_input[1:len(voice_input)]]
        execute_command_with_name(command, command_options)

В методы будут передаваться дополнительные аргументы, сказанные после командного слова. То есть, если сказать фразу «видео милые котики«, команда «видео» вызовет метод search_for_video_on_youtube() с аргументом «милые котики» и выдаст вот такой результат:

Пример такого метода с обработкой входящих аргументов:

def search_for_video_on_youtube(*args: tuple):
    """
    Поиск видео на YouTube с автоматическим открытием ссылки на список результатов
    :param args: фраза поискового запроса
    """
    if not args[0]: return
    search_term = " ".join(args[0])
    url = "https://www.youtube.com/results?search_query=" + search_term
    webbrowser.get().open(url)

    # для мультиязычных голосовых ассистентов лучше создать 
    # отдельный класс, который будет брать перевод из JSON-файла
    play_voice_assistant_speech("Here is what I found for " + search_term + "on youtube")

Ну вот и всё! Основной функционал бота готов. Далее вы можете до бесконечности улучшать его различными методами. Моя реализация с подробными комментариями доступна на моём GitHub.

Ниже мы рассмотрим ряд улучшений, чтобы сделать нашего ассистента ещё умнее.

Шаг 4. Добавление мультиязычности


Чтобы научить нашего ассистента работать с несколькими языковыми моделями, будет удобнее всего организовать небольшой JSON-файл с простой структурой:
{
  "Can you check if your microphone is on, please?": {
    "ru": "Пожалуйста, проверь, что микрофон включен",
    "en": "Can you check if your microphone is on, please?"
  },
  "What did you say again?": {
    "ru": "Пожалуйста, повтори",
    "en": "What did you say again?"
  },
}

В моём случае я использую переключение между русским и английским языком, поскольку мне для этого доступны модели для распознавания речи и голоса для синтеза речи. Язык будет выбран в зависимости от языка речи самого голосового ассистента.

Для того, чтобы получать перевод мы можем создать отдельный класс с методом, который будет возвращать нам строку с переводом:

class Translation:
    """
    Получение вшитого в приложение перевода строк для 
    создания мультиязычного ассистента
    """
    with open("translations.json", "r", encoding="UTF-8") as file:
        translations = json.load(file)


    def get(self, text: str):
        """
        Получение перевода строки из файла на нужный язык (по его коду)
        :param text: текст, который требуется перевести
        :return: вшитый в приложение перевод текста
        """
        if text in self.translations:
            return self.translations[text][assistant.speech_language]
        else:
            # в случае отсутствия перевода происходит вывод сообщения 
            # об этом в логах и возврат исходного текста
            print(colored("Not translated phrase: {}".format(text), "red"))
            return text

В main-методе до цикла объявим наш переводчик таким образом: translator = Translation()

Теперь при проигрывании речи ассистента мы сможем получить перевод следующим образом:

play_voice_assistant_speech(translator.get(
    "Here is what I found for {} on Wikipedia").format(search_term))

Как видно из примера выше, это работает даже для тех строк, которые требуют вставки дополнительных аргументов. Таким образом можно переводить «стандартные» наборы фраз для ваших ассистентов.

Шаг 5. Немного машинного обучения


А теперь вернёмся к характерному для большинства чат-ботов варианту с JSON-объектом для хранения команд из нескольких слов, о котором я упоминала в пункте 3. Для работы с ним нам нужно будет добавить пару методов:
def prepare_corpus():
    """
    Подготовка модели для угадывания намерения пользователя
    """
    corpus = []
    target_vector = []
    for intent_name, intent_data in config["intents"].items():
        for example in intent_data["examples"]:
            corpus.append(example)
            target_vector.append(intent_name)

    training_vector = vectorizer.fit_transform(corpus)
    classifier_probability.fit(training_vector, target_vector)
    classifier.fit(training_vector, target_vector)


def get_intent(request):
    """
    Получение наиболее вероятного намерения в зависимости от запроса пользователя
    :param request: запрос пользователя
    :return: наиболее вероятное намерение
    """
    best_intent = classifier.predict(vectorizer.transform([request]))[0]

    index_of_best_intent = list(classifier_probability.classes_).index(best_intent)
    probabilities = classifier_probability.predict_proba(vectorizer.transform([request]))[0]

    best_intent_probability = probabilities[index_of_best_intent]

    # при добавлении новых намерений стоит уменьшать этот показатель
    if best_intent_probability > 0.57:
        return best_intent

А также немного модифицировать main-метод, добавив инициализацию переменных для подготовки модели и изменив цикл на версию, соответствующую новой конфигурации:
# подготовка корпуса для распознавания запросов пользователя с некоторой вероятностью
# (поиск похожих)
vectorizer = TfidfVectorizer(analyzer="char", ngram_range=(2, 3))
classifier_probability = LogisticRegression()
classifier = LinearSVC()
prepare_corpus()

while True:
    # старт записи речи с последующим выводом распознанной речи 
    # и удалением записанного в микрофон аудио
    voice_input = record_and_recognize_audio()

    if os.path.exists("microphone-results.wav"):
        os.remove("microphone-results.wav")

    print(colored(voice_input, "blue"))

    # отделение команд от дополнительной информации (аргументов)
    if voice_input:
        voice_input_parts = voice_input.split(" ")

        # если было сказано одно слово - выполняем команду сразу 
        # без дополнительных аргументов
        if len(voice_input_parts) == 1:
            intent = get_intent(voice_input)
            if intent:
                config["intents"][intent]["responses"]()
            else:
                config["failure_phrases"]()

        # в случае длинной фразы - выполняется поиск ключевой фразы 
        # и аргументов через каждое слово,
        # пока не будет найдено совпадение
        if len(voice_input_parts) > 1:
            for guess in range(len(voice_input_parts)):
                intent = get_intent((" ".join(voice_input_parts[0:guess])).strip())
                if intent:
                    command_options = [voice_input_parts[guess:len(voice_input_parts)]]
                    config["intents"][intent]["responses"](*command_options)
                    break
                if not intent and guess == len(voice_input_parts)-1:
                    config["failure_phrases"]()

Однако, такой способ сложнее контролировать: он требует постоянной проверки того, что та или иная фраза всё ещё верно определяется системой как часть того или иного намерения. Поэтому данным способом стоит пользоваться с аккуратностью (либо экспериментировать с самой моделью).

Заключение


На этом мой небольшой туториал подошёл к концу.

Мне будет приятно, если вы поделитесь со мной в комментариях известными вам open-source решениями, которые можно внедрить в данный проект, а также вашими идеями касательно того, какие ещё online и offline-функции можно реализовать.

Документированные исходники моего голосового ассистента в двух вариантах можно найти здесь.

Пользовательское распознавание речи в PHP



Я продвинутый разработчик PHP. Я хочу сделать пользовательское приложение для распознавания речи на PHP, но не на английском, я хочу сделать его на Пенджабском. Скажите, с чего мне начать? Какого подхода вы бы придерживались? Есть много английских речевых текстовых приложений, но я хочу сделать одно из Пенджабских. Это проект моей мечты для моего родного языка.

php speech-recognition speech-to-text
Поделиться Источник Shahbaz Singh     24 сентября 2012 в 13:20

1 ответ


  • Использование System.Speech.Recognition открывает Windows распознавание речи

    Я попытался реализовать какую-то простую программу распознавания речи WinForms в C#, подобную той, что описана здесь в ответе Майкла Леви: хорошее распознавание речи API Проблема у меня в том, что каждый раз, когда я запускаю программу Windows распознавания речи открывается и также делает вещи,…

  • Android: Распознавание Речи Добавить Словарь?

    Я использую намерение распознавателя речи в Android. Есть ли способ добавить свои собственные настроенные слова или фразы в распознавание речи Android ‘dictionary’



1

Обычно для PHP я думаю о веб-приложениях. Проблема с распознаванием речи заключается в том, как вы фиксируете речь в Интернете. Для этого существуют некоторые механизмы. Chrome поддерживает распознавание речи для ввода текста. См . http://slides.html5rocks.com/#речевой ввод и http://www.filosophy.org/2011/03/talking-to-the-web-the-basics-of-html5-speech-input/ .

Они используют следующий тег для распознавания речи:

<input type=”text” speech x-webkit-speech />

Я считаю, что Chrome-единственный браузер, который в настоящее время поддерживает это. Дополнительные сведения см. в разделе Преобразование речи в текст php,javascript или flash онлайн . В других браузерах люди использовали Flash или Java на веб-странице для захвата речи и отправки ее в речевой движок для обработки.

Чтобы поддерживать определенный язык, такой как пенджаби, вам придется изучить различные доступные речевые механизмы. Я не знаю ни одного, который в настоящее время поддерживает пенджаби, но для хорошего обзора различных речевых технологий Text-to-speech (генерация голоса) и speech-to-text (распознавание голоса) APIs? может быть, это хорошее место для начала.

Поделиться Michael Levy     24 сентября 2012 в 14:07


Похожие вопросы:


Распознавание речи как услуга. (Android)

Я разрабатываю приложение android. Я мое приложение, мне нужно распознавание речи. Но мне нужно распознавание речи как услуга. Я уже создаю простое распознавание речи, в котором при нажатии на…


Google Streaming распознавание речи в Аудиопотоке Python

Я просмотрел все доступные документы Google, но не смог найти примера потокового распознавания речи в аудиопотоке в Python. В настоящее время я использую распознавание речи для Python в Django,…


Java распознавание речи API

В настоящее время я разрабатываю приложение Android, в котором мне необходимо реализовать распознавание речи. Не могли бы вы предложить ссылку, где я мог бы найти Java распознавание речи API?


Использование System.Speech.Recognition открывает Windows распознавание речи

Я попытался реализовать какую-то простую программу распознавания речи WinForms в C#, подобную той, что описана здесь в ответе Майкла Леви: хорошее распознавание речи API Проблема у меня в том, что…


Android: Распознавание Речи Добавить Словарь?

Я использую намерение распознавателя речи в Android. Есть ли способ добавить свои собственные настроенные слова или фразы в распознавание речи Android ‘dictionary’


хорошее распознавание речи API

Я работаю над проектом колледжа, в котором использую распознавание речи. В настоящее время я разрабатываю его на Windows 7 и использую пакет system.speech API, который поставляется вместе с .net, и…


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

Как реализовать Онлайн-распознавание речи через интерфейс веб-браузера. Можно ли реализовать это без использования какого-либо потокового сервера (полностью браузерного приложения)? Без создания…


Android автономное распознавание речи программно

Я хочу использовать распознавание речи в своем приложении. Начиная с android jellybean, я знаю, что системы android поддерживают автономное распознавание речи (диктовка?) ! До сих пор я могу…


Оффлайн распознавание речи, поддержку Google

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


Twilio распознавание речи: увеличьте время паузы речи, когда speechTimeout= ‘auto’

Я установил speechTimeout на ‘auto’, что означает, что Twilio остановит распознавание речи, когда в речи будет пауза. Но время паузы очень мало, и распознавание речи останавливается, даже если в…

Голос Android: Переводчик Google

Читайте дополнительно: Изучение английского языка (web to go), Английская практика .

Свыше семидесяти языков перевода. Офлайн-перевод.

Главное окно программы более полному озвучиванию поддается с применением режима изучения касанием. Комбинированные списки языков направления перевода находятся над полем редактирования. Под ним, в порядке слева направо, кнопки «Камера» (Для перевода сфотографированного текста непосредственно либо выбора изображения с текстом из галереи), «Речь» (для ввода голосом слов подлежащих переводу), «Рукописный ввод» (рисование графических образов переводимых символов). Ниже – история перевода. Над любой строкой истории допустим ряд операций. Двойное касание выделяет текущею строку и отображает близ нее связанные кнопки и меню «Еще». Повторное двойное касание копирует в буфер обмена результат перевода. Кнопки – это озвучивание переведенного слова или предложения синтезированной речью; добавление полученного перевода в разговорник. Меню наполняют пункты «Копировать», «Поделиться», «Во весь экран», «Начать чат», «Обратный перевод». Вряд ли из перечисленного что-то может нуждаться в пояснениях, кроме, пожалуй, — «Начать чат». Чатом тут назван режим программы, где два собеседника незнающие язык друг друга, могут говорить в микрофон устройства фразу на своем языке, а синтезатор речи будет озвучивать ее перевод на противоположном.
Сложности по переводу с помощью камеры обусловлены необходимостью выделять пальцем ту область фотоснимка, которую программа должна будет пропустить через собственное средство OCR перед тем, как сделать перевод. Результаты распознанного и переведенного текста доступны для TalkBack. Сам процесс выделения области никак не озвучен. Начать рисовать рамку получится после двойного касания с удержанием. Строго говоря, пользу от таких экспериментов можно ждать только гипотетическую.

Жест горизонтальной прокрутки слева направо выполняемый на главном окне, переключает на вкладку «Разговорник». Назад возвращает жест в обратную сторону.

Чтобы был возможен перевод вне онлайн, данные офлайн-словарей должны быть скачены в память устройства. Перечень доступных словарей найдете в меню «Еще», «Настройки», «Офлайн-языки». Для диктовки на русском языке в офлайн на Jelly Bean слов или фраз, предварительно необходимо скачать данные для распознавание речи: «Настройки» (устройства), «Язык и ввод», «Голосовой поиск», «Распознавание речи офлайн», «Все» (Вкладка), «Русский, Россия».

Использование интернет-синтезаторов речи Google разрешается и запрещается в настройках переводчика. Раздел «Интернет-трафик», «Синтез речи онлайн, Включить функцию синтеза речи».

Программа бесплатна.

Минусы: Кнопка затвора фотокамеры без спец. подписей.

Плюсы: Перевод SMS-сообщений.

Скачать программу из Play store.

P.S. Подкорректировал описание сообразно новому интерфейсу программы.

Хотите поделиться описанием найденной Вами программы? Для публикации Вашего оригинального текста на www.androidvoice.ru вышлите его на e-mail Олега Глинского.

Voice Note — преобразование речи в текст онлайн Voice Note

Голос в текст или речь в текст — это онлайн-система распознавания речи. Теперь вам не нужно печатать с клавиатуры, вы просто набираете диктофон или говорите. Это быстрее, чем метод набора текста. Эта система будет полезна автору, блогеру и писателю. Вам нужно подключить к системе микрофон и диктовать, а наша система бесплатно преобразует ваш голос в текст в режиме реального времени. С помощью этой системы вы можете писать книги, сообщения в блогах, статьи и даже сохранять прямо в формате Microsoft Word.Даже вы можете написать электронное письмо и отправить электронное письмо через нашу систему.

Мы уважаем конфиденциальность, поэтому вам не нужно беспокоиться о краже ваших данных, потому что ваши данные не были сохранены на сервере. Все данные сохраняются в памяти вашего компьютера.

Инструкции по использованию голоса в текст

Во-первых, подключите к компьютеру высококачественный микрофон (если у вас есть встроенный микрофон, этого может быть достаточно).

Действия, которые необходимо выполнить

  • 1.Щелкните микрофон
  • 2.Откроется всплывающее окно, чтобы разрешить веб-сайту прослушивать ваш микрофон. Нажмите «Разрешить». Это всплывающее окно открывается только один раз. После того, как вы разрешите, он больше не будет отображаться.
  • 3. Начните диктовать. Говори медленно и четко. Расставьте слова и сделайте акцент на правильной дикции для достижения лучших результатов.

Наиболее частые причины отказов:

  • 1. Микрофон не подключен должным образом или аппаратная проблема с микрофоном
  • 2. Наш сайт поддерживает только последнюю версию браузера Google Chrome.
  • 3. Разрешение на прослушивание не предоставлено
  • Chrome слушает не тот микрофон
  • 4. Чтобы исправить последние 2 проблемы, вы должны нажать на маленький значок камеры в адресной строке браузера (появится после того, как вы нажмете на микрофон), и там установите разрешение на Разрешить voicetotext.org и выберите правильный микрофон из выпадающего списка. -вниз список.
Кто может получить выгоду?

Любой, кто устал или тяжело набирает текст (например, автор и писатель) обычного набора текста с помощью клавиш, может найти голосовой текст.орг полезно. Это также будет полезно для определенных людей, которые имеют какое-либо физическое состояние или из-за возрастных проблем.

6 языковых приложений, использующих распознавание речи для всестороннего обучения

Это одно из самых больших препятствий для изучающих язык.

У меня есть все нужные книги … тонны словарных карточек … Я записался на потрясающий онлайн-курс …

Но я не могу найти никого, с кем можно было бы поговорить!

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

К счастью, решение дает технологии.

Благодаря постоянно совершенствующемуся программному обеспечению для распознавания речи , существуют приложения, которые могут дать вам мгновенную обратную связь о ваших навыках речи и произношения.

Вот шесть лучших приложений для изучающих язык с распознаванием речи, так что вы можете говорить в любое время!

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

Зачем использовать распознавание речи для изучения языка?

Прежде всего, распознавание речи может помочь вам точно настроить ваше произношение . Когда вы тренируетесь говорить самостоятельно, может быть трудно услышать, что вы делаете неправильно, поэтому наличие приложения, которое может точно определить проблемы, — это полезный способ определить, над чем вам нужно работать.

Кроме того, распознавание речи не пугает . Поскольку вы работаете не с реальным человеком, вас не смутит, если вы сделаете ошибку.Практика с приложением может сделать вас более уверенным в своих навыках и, в конечном итоге, избавить вас от пугающего фактора общения с настоящими носителями языка.

Наконец, приложения для распознавания речи предоставляют гибкий вариант обучения . Вы можете практиковаться в разговорной речи, когда захотите, без необходимости планировать время со своим собеседником.

Это означает, что вы можете немного попрактиковаться в речи, когда вы стоите в очереди в магазине, отдыхаете в постели или даже в душе (сначала убедитесь, что ваш телефон водонепроницаем).

Если вам не терпится такая разговорная практика, значит, вы изучаете иностранный язык, которому нравится иммерсивное обучение (окружение себя настоящим устным и письменным языком). FluentU — отличный вариант для домашнего погружения в , чтобы дополнить разговорные навыки , которые вы приобретете с помощью приведенных ниже приложений.

Каждое видео содержит интерактивных субтитров. — щелкните любое слово, чтобы мгновенно получить определение, родное произношение и наглядное пособие для обучения. Вы также получите дидактические карточки и упражнения, которые помогут вам вспомнить, что вы узнали, когда закончили просмотр.

Все видео сгруппированы по жанрам и уровню обучения, поэтому легко найти что-то, что подходит именно вам. Это интересный способ активно пополнить свой словарный запас, грамматику и понимание прочитанного, в то время как усваивает ваш целевой язык так, как его действительно используют носители .

Ознакомьтесь с полной видеотекой для бесплатно с пробной версией FluentU, а затем проверьте свою речь на новых словах, которые вы там найдете, с помощью приложений ниже!

Mondly

Нужна разговорная практика? Mondly может стать вашим надежным партнером по беседе без осуждения.

Основное внимание Mondly уделяет тому, чтобы помочь вам выучить общеупотребительных слов и фраз , которые вы можете использовать в реальных ситуациях, с которыми вы, вероятно, столкнетесь.

Помогая вам запоминать ключевые слова и начинать составлять фразы, Mondly проверит ваши разговорные навыки с помощью имитации разговора . Вы услышите подсказку от носителя языка. Слова и их перевод также появятся на экране. Оттуда у вас будет список вариантов ответов, которые вы действительно можете сказать на свое устройство.

Распознавание речи Mondly направлено на улучшение вашего произношения путем прослушивания ваших слов и фраз и предоставления вам обратной связи для правильной и ясной речи.

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

Babbel

Если у вас мало времени, но вы хотите посвятить много времени изучению языка, вы можете попробовать Babbel.

Babbel стремится обучать вас языку на 10-15-минутных ежедневных уроках . Он охватывает популярные темы, такие как бизнес, путешествия, покупки, питание и транспорт, чтобы полученные навыки можно было использовать в реальном мире.

Функция распознавания речи Babbel появляется во время просмотра словарного запаса. Вы увидите написанное слово и его английское значение, а также сможете воспроизвести его произношение. Оттуда у вас есть возможность произнести слово самостоятельно.Ваша цель — подражать произношению, которое вы слышали .

Если у вас хорошее произношение, вы получите новое слово. Если нет, у вас есть еще четыре шанса, прежде чем приложение продолжит работу, независимо от вашего произношения.

Babbel предлагает 14 языков , включая испанский, французский, немецкий, русский, итальянский и английский.

AudioNote

Хотя AudioNote не предназначен для изучающих иностранные языки, он может быть вашим секретным оружием для совершенствования вашего произношения.

AudioNote, как вы уже догадались, занимается созданием аудиозаметок. Это означает, что вы говорите в свое устройство, пока приложение записывает то, что вы сказали.

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

Одной из наиболее полезных функций для изучающих язык является связывание аудио и текста .Вы можете воспроизводить звук, который вы говорили, поскольку приложение выделяет транскрипцию, чтобы показать, где вы находитесь. Это упрощает определение слов, которые вы произнесли неправильно. Вы также можете нажать на свои заметки, если хотите услышать определенные слова, которые вы сказали.

AudioNote доступен на английском, французском, немецком, итальянском и испанском языках.

Busuu

Есть еще 10 минут сегодня? Busuu может помочь наполнить его знаниями в области изучения языков.

Busuu не только предоставит вам уроки грамматики, словарный запас и разговоры с носителями языка, но также поможет вам улучшить свой акцент с помощью упражнений на распознавание речи .

В этих упражнениях вы слышите носителя языка и повторяете за ним. Затем приложение сообщит вам, правильно ли вы произнесли подсказки .

Уровни варьируются от начального до свободного. Busuu предлагает 12 языков , включая арабский, китайский, английский, французский, немецкий, итальянский, японский, польский, португальский, русский, испанский и турецкий.

Rocket Languages ​​

Конечно, Rocket Languages ​​предлагает множество интерактивных материалов, которые помогут вам выучить язык.Конечно, он разработан таким образом, чтобы вы могли учиться в удобном для вас темпе и в любое время, которое у вас есть. Но давайте перейдем к самому пикантному: действиям по распознаванию речи.

Rocket Languages ​​предлагает распознавание речи для тысяч фраз . Вам будет представлено написанное слово или фразу и ее перевод на английский язык. Для языков, в которых не используется латинский алфавит, , также будет указана транслитерация , чтобы вам было немного проще.

Затем вы можете произнести это слово или фразу, и приложение сообщит вам о вашем произношении.

Rocket Languages ​​предлагает 12 иностранных языков , включая испанский, португальский, французский, итальянский, немецкий, китайский, корейский, русский, арабский и японский языки.

Rosetta Stone

Если вам нравятся языковые приложения и / или программное обеспечение, скорее всего, вы слышали о Rosetta Stone. Наверное, много. Но не переставайте читать!

Rosetta Stone может многое предложить изучающим языки, поэтому неудивительно, что их приложение предлагает первоклассное распознавание речи.Фактически, их функция распознавания речи имеет собственное зарегистрированное название торговой марки: TruAccent ™.

Он направлен на то, чтобы помочь вам улучшить свой акцент, практикуя общеупотребительные слова и фразы и читая вслух короткие рассказы .

Эта технология не только проверяет правильность используемых слов и фраз, но также сравнивает вашу речь с речью носителя языка , чтобы вы могли мгновенно оценить, какие слова вы произносили хорошо, а какие можно было бы использовать. еще немного работы.

Вы даже можете сравнить длину волны звука с длиной волны носителя языка для сверхточной настройки. Кроме того, Rosetta Stone будет отслеживать ваш прогресс и позволит вам увидеть, как ваше произношение улучшилось с течением времени .

Rosetta Stone предлагает более 20 языков , включая китайский, японский, корейский, португальский, арабский, испанский, итальянский, французский и немецкий.

Так что говорите с этими шестью приложениями с распознаванием речи!

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

И еще кое-что …

Если вам понравится идея учиться в свободное время, не выходя из смарт-устройства с реальным контентом на аутентичном языке, вам понравится FluentU.

С FluentU вы выучите настоящие языки, на которых говорят носители языка. На FluentU есть множество видеороликов, которые вы можете увидеть здесь:

Экран просмотра приложений FluentU.

На FluentU есть интерактивные подписи, которые позволяют нажать на любое слово, чтобы увидеть изображение, определение, аудио и полезные примеры.Теперь контент на родном языке доступен благодаря интерактивным транскриптам.

Что-то не уловил? Вернись и послушай еще раз. Пропустил слово? Наведите указатель мыши на субтитры, чтобы мгновенно просмотреть определения.

Словарь словаря песни Карлоса Бауте.

Вы можете выучить весь словарный запас из любого видео в «режиме обучения» FluentU. Проведите пальцем влево или вправо, чтобы увидеть больше примеров для слова, которое вы изучаете.

На FluentU есть тесты для каждого видео

А FluentU всегда отслеживает словарный запас, который вы изучаете.Это дает вам дополнительную возможность попрактиковаться в трудных словах и напоминает вам, когда пришло время повторить то, что вы узнали. Вы получите действительно индивидуальный опыт.

Начните использовать веб-сайт FluentU на своем компьютере или планшете или, что еще лучше, загрузите приложение FluentU из магазина iTunes или Google Play.

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

Если вам понравился этот пост, что-то подсказывает мне, что вам понравится FluentU, лучший способ изучать языки с помощью реальных видео.

Зарегистрируйтесь бесплатно!

Возможные модели, преимущества и влияние

«Обратная связь» заключалась в том, чтобы показать мне, какие

слов я сказал «хорошо» (зеленым цветом), а над какими

нужно было поработать (красный). Кажется, что

не объясняет, в чем конкретно заключается проблема

с моей речью, так что я не являюсь мудрее

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

, чтобы убедиться »(Gifford, 2013).

Velawoods English, курс самообучения от

Velawoods и Cambridge University Press, использует распознавание речи

от Carnegie Speech, чтобы дать

студентам отзывы об их высказываниях и

произношения. Он предоставляет игровую среду

, в которой учащийся взаимодействует с

символами, как в SpeakingPal. В этом случае курс

более структурирован и язык представлен

практикуется в разговорах с персонажами —

с ответами учащихся, проверяемыми распознаванием речи

.

2.4.3 Самостоятельные занятия

Оба описанных выше примера имеют тенденцию к

подкреплению критики деятельности, основанной на ASR,

, а именно, что это приводит к тому, что студенты

говорят сами по себе. Однако для многих учеников

самостоятельные занятия являются единственным способом получить у

достаточно времени для изучения языка и знания языка

, чтобы добиться прогресса, либо потому, что они

не могут посещать занятия, либо их учебные часы ограничены

( е.грамм. в средних школах).

Как отмечалось выше, ASR может использоваться для получения диагностической информации

о проблемах с произношением с помощью упражнений CAPT

, и для многих учеников только это

станет желанной поддержкой в ​​их обучении, создавая уверенность в разговоре

, когда они видят их правильное произношение

распознается механизмом ASR.

Распознавание речи может помочь учащимся разговаривать

, даже если партнер не доступен.

Учащийся в одиночку диктует текст или разыгрывает

диалог, данный учителем, диктуя его на устройство

. Система ASR предоставляет письменный результат,

, который ученик затем может просмотреть и исправить, а

поделиться с учителем для проверки.

2.4.4 Классная / коммуникативная деятельность

ASR может использоваться для совместной деятельности, такой как

, например, рассказывание историй. Учащиеся рассказывают историю, диктуя своему устройству

.Пара или группа разрабатывают рассказ, и

один ученик берет на себя роль диктора, чтобы обеспечить точность пользователя

. Другие студенты редактируют полученный текст и проверяют точность и соответствие

, используя онлайн-словари

.

ASR может использоваться для задач разговора, где, например,

ученики в парах пишут диалог, а

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

. Процесс чтения письменных выходных данных

механизма ASR предоставляет учащимся цикл обратной связи

по произношению и речи

структуры, позволяя им размышлять о том, что они сказали

; если механизм ASR распознает то, что они сказали,

, то это, скорее всего, произносится правильно, но

учащимся все равно необходимо проанализировать, является ли

грамматически правильным и уместным в терминах дискурса

.Если он не распознается, то то, что было сказано

, скорее всего, было неправильно произнесено

, и это можно улучшить и изменить.

Если письменный результат проверяется средством проверки орфографии

и средством проверки грамматики (как в Microsoft Word)

учащиеся могут получить дополнительную конструктивную обратную связь по лексике

и выбору грамматики, а также могут улучшить свою производительность

. Учащиеся в парах могут использовать голосовой поиск Google

, чтобы найти информацию для письменного задания

— например, найти информацию об истории своего города или страны

— и проверить, что их голосовое выступление

дает ожидаемый результат поиска

полученные результаты.

Аналогичным образом, пары / группы студентов могут использовать цифровых помощников

, к которым у них есть доступ (например, Siri на телефонах

или устройствах Alexa), чтобы практиковаться в запросе и обработке

информации в реальных сценариях.

2.5 Синтез речи

В этой статье были затронуты разработки в области автоматического распознавания речи

. Но распознавание

речи — это, конечно, только одна сторона дела.

Компьютеры могут слушать, понимать и использовать то, что мы говорим

, по крайней мере, до определенной степени (например,

).грамм. для целей перевода

) — но могут ли они ответить?

Следующий этап технологического развития, который

мы можем наблюдать, — это помощь компьютерам

воспроизводить речь, чтобы обеспечить диалог между

учащимся и компьютером, где компьютер

реагирует на голосовой ввод от ученика. В контексте научной фантастики

мы ожидаем, что люди и

компьютеры смогут общаться. Мы еще не достигли

на данном этапе, поэтому нереально ожидать, что

людей и компьютеров могут вести естественные

разговоров или что изучающие язык могут говорить на компьютере

и ожидать подробного ответа.

Однако в этом направлении делаются успехи,

и вполне возможно, что компьютерная речь

достаточно хорошо развита для некоторых простых сценариев изучения языка

, которые будут использоваться таким образом. Компьютеры

уже давно могут создавать речь, используя программное обеспечение «синтез речи

», также известное как механизмы преобразования текста в речь

(TTS). При этом используются базовые функции аудио

компьютера для создания устного вывода

из письменного текста.В одной из моделей преобразования текста в речь

компьютер использует записи очень

коротких сегментов человеческой речи, которые можно комбинировать

для создания предложений. Это обычно можно услышать

, например, в транспортных сообщениях.

Более мощная модель — это когда компьютер

создает звуковые волны, имитирующие человеческую речь,

, используя те же аудиосистемы, которые позволяют проигрывать музыку

. Это более гибко, так как любой текст может быть

‘Распознавание речи может помочь

учащимся говорить,

даже без партнера

50 Обучение, языковая и культурная подготовка, язык и культура 51

DOI: 10.29366 / 2017tlc.1.1.3

rudn.tlcjournal.org

Автоматическое распознавание речи в изучении языка: потенциальные модели, преимущества и влияние

Майкла Кэрриера

Обучение, язык и культура

Volume 1 Issue 1, 2017

Распознавание речи для обучения | Темы LD

Примечания

Щелкните ссылку «Сноски» выше, чтобы скрыть эти сноски.

i Nuance Communications. (2009). Dragon NaturallySpeaking: Помогает всем ученикам полностью раскрыть свой потенциал.Март 2009 г. Белая книга, Nuance Communications.

ii Хиггинс, Э.Л., и Раскинд, М.Х. (2000). Разговор, чтобы читать: влияние систем непрерывного и дискретного распознавания речи на чтение и правописание детей с ограниченными возможностями обучения. Журнал технологий специального образования , 15 (1), 19-30; Хиггинс, Э. И Раскинд, М. (1995). Компенсирующая эффективность распознавания речи на успеваемость письменной композиции у учащихся высших учебных заведений с нарушением обучаемости. Ежеквартально с ограниченными возможностями обучения , 18 (2), 159-174; Макартур, К.А. (2009). Размышления об исследованиях письма и технологий для борющихся писателей. Исследование нарушений обучаемости & Практика , 24 (2), 93-103.

iii Брюс, К. Эдмундсон, А., Коулман, М. (2003). Написание голосом: исследование использования системы распознавания голоса в качестве вспомогательного средства письма для мужчины с афазией. Международный журнал расстройств языка и общения , 38 (2), 131-148.

iv Chiu, T.L., Liou, H.C., Yeh, Y. (2007). Исследование устной деятельности в Интернете, усиленное автоматическим распознаванием речи для обучения в колледже EFL. Изучение языков с помощью компьютера , 20 (3), 209-233; Джонс, Г., Сквайрс, Т., Хикс, Дж. (2007–2008 гг.). Сочетание распознавания речи / обработки естественного языка с трехмерной средой онлайн-обучения для создания распределенного аутентичного и локального изучения разговорного языка. Журнал систем образовательных технологий , 36 (4), 375-392.

против Фрейтас Д., Курупетроглу Г. (2008). Речевые технологии для слепых и слабовидящих. Технологии и инвалидность, 20, 135-156.

vi Яна Р. (2009). Как технологии для инвалидов становятся мейнстримом. BusinessWeek , 4149, 58-60. ; Лор, С., и Маркофф, Дж. (24 июня 2010 г.). Умнее, чем вы думаете: компьютеры учатся слушать, а некоторые отвечают. New York Times , получено с http://www.nytimes.com/2010/06/25/science/25voice.html? ref = наука; Монаган, П. (2010). Дизайн для людей с ограниченными возможностями станет нормой. Хроника высшего образования , 56 (2), B6-B7.

vii Брюс, К. Эдмундсон, А., Коулман, М. (2003). Написание голосом: исследование использования системы распознавания голоса в качестве вспомогательного средства письма для мужчины с афазией. Международный журнал расстройств речи и общения , 38 (2), 131-148 .; Чиу, Т.Л., Лиу, Х.С., Йе, Ю. (2007). Исследование устной деятельности в Интернете, усиленное автоматическим распознаванием речи для обучения в колледже EFL. Изучение языков с помощью компьютера , 20 (3), 209-233; Фрейтас, Д., Курупетроглу, Г. (2008). Речевые технологии для слепых и слабовидящих. Технологии и инвалидность, 20, 135-156; Гарднер, Т. (2008). Распознавание речи для учащихся с ограниченными возможностями в письменной форме. Физические нарушения: образование и сопутствующие услуги , 26 (2), 43-53; Хиггинс, Э.Л., Раскинд, М. (2004). Основанные на распознавании речи и автоматические программы, помогающие учащимся с серьезными проблемами чтения и правописания. Анналы дислексии , 54 (2), 365-392; Ханикатт, Л. (2003). Исследование использования программного обеспечения для распознавания голоса. Компьютеры и состав , 20, 77-95; Джонс, Г., Сквайрс, Т., Хикс, Дж. (2007–2008 гг.). Сочетание распознавания речи / обработки естественного языка с трехмерной средой онлайн-обучения для создания распределенного аутентичного и локального обучения языку, Journal of Educational Technology Systems , 36 (4), 375-392; Макартур, К.А. (2009). Размышления об исследованиях письма и технологий для борющихся писателей. Исследования и практика нарушения обучаемости , 24 (2), 93-103.

viii Хиггинс, Э.Л., Раскинд, М.Х. (2004). Основанные на распознавании речи и автоматические программы, помогающие учащимся с серьезными проблемами чтения и правописания. Анналы дислексии , 54 (2), 365-392; Ханикатт, Л. (2003). Исследование использования программного обеспечения для распознавания голоса. Компьютеры и состав , 20, 77-95.

ix Gardner, T.J. (2008). Распознавание речи для учащихся с ограниченными возможностями в письменной форме. Физические нарушения: образование и сопутствующие услуги , 26 (2), 43-53 .; Хиггинс, Э.Л., Раскинд, М. (2004). Основанные на распознавании речи и автоматические программы, помогающие учащимся с серьезными проблемами чтения и правописания. Анналы дислексии , 54 (2), 365-392; Нюанс коммуникации. (2009). Dragon NaturallySpeaking: помочь всем ученикам полностью раскрыть свой потенциал. Март 2009 г. Белая книга, Nuance Communications.

x Гарднер, Т.Дж. (2008). Распознавание речи для учащихся с ограниченными возможностями в письменной форме. Физические нарушения: образование и сопутствующие услуги , 26 (2), 43-53.

xi Хиггинс, Э.Л., Раскинд, М.Х. (2004). Основанные на распознавании речи и автоматические программы, помогающие учащимся с серьезными проблемами чтения и правописания. Annals of Dyslexia , 54 (2), 365-392 .; Нюанс коммуникации. (2009). Dragon NaturallySpeaking: помочь всем ученикам полностью раскрыть свой потенциал. Белая книга за март 2009 г .; Nuance Communications .; Петерсон-Карлан, Г., Хуркейд, Дж., & Parette, P. (2008). Обзор вспомогательных технологий и навыков письма для учащихся с ограниченными физическими и образовательными возможностями. Физические нарушения: образование и сопутствующие услуги , 26 (2), 13-32.

xii Каверли, округ Колумбия (2008). Techtalk: Вспомогательные технологии для письма. Журнал развивающего обучения , 31 (3), 36-37.

xiii Gardner, T.J. (2008). Распознавание речи для учащихся с ограниченными возможностями в письменной форме. Физические нарушения: образование и сопутствующие услуги , 26 (2), 43-53.

xiv Gardner, T.J. (2008). Распознавание речи для учащихся с ограниченными возможностями в письменной форме. Физические нарушения: образование и сопутствующие услуги , 26 (2), 44.

xv Chiu, T.L., Liou, H.C., Yeh, Y. (2007). Исследование устной деятельности в Интернете, усиленное автоматическим распознаванием речи для обучения в колледже EFL. Изучение языков с помощью компьютера , 20 (3), 209-233.

xvi Nuance Communications 2009; Сильвер-Пакилья, Х. (2006). Доступ и преимущества: Вспомогательные технологии в повышении грамотности взрослых. Журнал по вопросам грамотности подростков и взрослых 50 (2), 114-25.

xvii Хиггинс, Э.Л., Раскинд, М. (2004). Основанные на распознавании речи и автоматические программы, помогающие учащимся с серьезными проблемами чтения и правописания. Анналы дислексии , 54 (2), 365-392.

xviii Nuance Communications.(2009). Dragon NaturallySpeaking: Помогает всем ученикам полностью раскрыть свой потенциал. Март 2009 г. Белая книга, Nuance Communications.

xix Ханикатт, Л. (2003). Исследование использования программного обеспечения для распознавания голоса. Компьютеры и состав , 20, 77-95.

xx Хиггинс, Э.Л., и Раскинд, М.Х. (2000). Разговор, чтобы читать: влияние систем непрерывного и дискретного распознавания речи на чтение и правописание детей с ограниченными возможностями обучения. Журнал технологий специального образования , 15 (1), 19-30.

xxi Lohr, S, & Markoff, J. (24 июня 2010 г.). Умнее, чем вы думаете: компьютеры учатся слушать, а некоторые говорят в ответ. Нью-Йорк Таймс . Получено с http://www.nytimes.com/2010/06/25/science/25voice.html?ref=science.

xxii Яна Р. (2009). Как технологии для инвалидов становятся мейнстримом. BusinessWeek , 4149, 58-60; Монаган, П. (2010). Дизайн для людей с ограниченными возможностями станет нормой. Хроника высшего образования , 56 (2), B6-B7.

Приложение для изучения английского языка ELSA получает 15 миллионов долларов в рамках серии B для международного роста и своей платформы B2B — TechCrunch

Разговорная речь — одна из самых сложных частей в изучении нового языка, особенно если вам не с кем регулярно практиковаться. ELSA — это приложение, которое с помощью технологии распознавания речи помогает исправить произношение. Компания ELSA, базирующаяся в Сан-Франциско и Хошимине, объявила сегодня о привлечении инвестиций серии B на сумму 15 миллионов долларов, возглавляемых VI (Vietnam Investments) Group и SIG.Среди других участников были вернувшиеся инвесторы из фонда Google Gradient Ventures, ориентированного на искусственный интеллект, SOSV и Monk’s Hill Ventures, а также Endeavour Catalyst, Globant Ventures и U2’s The Edge (Дэвид Эванс).

Капитал будет использован для расширения операций ELSA в Латинской Америке и создания масштабируемой платформы B2B, позволяющей компаниям и образовательным организациям предлагать услуги по обучению в приложении сотрудникам или студентам. Основанная в 2015 году компания ELSA, что означает англоязычный речевой помощник, сейчас насчитывает более 13 миллионов пользователей.Последним раундом финансирования стала серия A на 7 миллионов долларов, объявленная в 2019 году.

Помимо Латинской Америки, ELSA также сосредоточится на расширении во Вьетнаме, Индии и Японии, где в прошлом году был высокий спрос. Компания недавно установила партнерские отношения с IDP, одним из владельцев широко используемого теста по английскому языку IELTS, который теперь рекомендует ELSA для подготовки к экзаменам. ELSA также сотрудничает с языковыми школами во Вьетнаме, такими как IMAP и Speak Up, платформой онлайн-обучения YOLA и корпоративными клиентами, включая Kimberly Clark, Intel и ATAD.

Соучредитель

ELSA и главный исполнительный директор Ву Ван сказал TechCrunch, что многие пользователи хотят улучшить свои знания английского языка, чтобы найти работу и увеличить свой потенциал заработка. По ее словам, во Вьетнаме, Индии и Бразилии люди с более высоким уровнем владения английским языком могут зарабатывать в два-три раза больше, чем их коллеги.

«Эта мотивация вызывает большой спрос у нашего сообщества изучающих английский язык во Вьетнаме, Индии и Бразилии, особенно во время COVID-19, когда мы наблюдаем огромный интерес и со стороны Латинской Америки», — добавил Ван.

Отзыв о произношении английского языка ELSA

Во Вьетнаме, откуда родился Ван, изучающие английский язык тратят большую часть своего располагаемого дохода на онлайн- или офлайн-обучение английскому языку. «Однако большинству изучающих английский язык все еще трудно улучшить свои разговорные навыки, потому что другие люди их не понимают или боятся говорить на нем», — сказала она. ELSA был разработан, чтобы предоставить им доступный ресурс, который поможет улучшить их произношение и уверенность при разговоре по-английски.

Другие приложения, ориентированные на английское произношение, включают FluentU и Say It.Ван сказал, что одним из основных преимуществ ELSA является запатентованная технология AI для распознавания голоса.

«Уникальность нашего ИИ заключается в том, что мы собрали наибольший объем данных с акцентом на английском голосе от миллионов пользователей, которые мы использовали для обучения нашей модели ИИ за последние несколько лет, что дает нам более высокую точность распознавания и понимания. носители английского языка во всем мире, для которых английский язык не является родным », — сказала она. «Для сравнения, другие существующие технологии распознавания голоса могут хорошо понимать носителей языка, но им трудно понять сообщества изучающих английский язык с иностранным акцентом.”

Вместо того, чтобы предоставлять отзывы об отдельных словах, приложение ELSA также исправляет отдельные звуки и предоставляет пользователям подробную информацию о том, как улучшить их произношение, включая «очень продвинутые функции просодической речи, такие как интонация, ритм и беглость, чтобы помочь им говорить по-английски более естественно, что-то, что наши конкуренты не предлагают », — добавил Ван.

Демонстрация тембров преобразования текста в речь (TTS)

I ReadSpeaker

Лучшие в отрасли голоса TTS

В ReadSpeaker мы стремимся создавать высококачественные голоса TTS.Фактически, экспертные сторонние отраслевые обозреватели оценивают голосовую связь ReadSpeaker TTS на английском языке (США) как самую точную на рынке. Восторженные отзывы, которые мы получаем от наших клиентов, подтверждают, что мы поставляем самые лучшие решения TTS для успешных онлайн, офлайн, встроенных и серверных приложений по всему миру. Наше стремление предоставлять выдающиеся решения TTS стало возможным благодаря нашему бескомпромиссному производственному процессу, призванному гарантировать уровень качества, который заслужил доверие клиентов ReadSpeaker TTS из разных стран и рынков.

Как создаются наши TTS-голоса

Чтобы создать речевой образ, мы отбираем и записываем профессиональные голосовые персонажи. В результирующей речевой базе данных каждое высказывание сегментируется на отдельные части, такие как телефоны, слоги и слова. Затем мы применяем технику, называемую синтезом выбора единиц (USS). USS выбирает сегменты (единицы) речи, которые можно «склеить» вместе таким образом, чтобы получить высококачественную синтетическую речь.

После того, как голосовой талант выбран, он или она работает с нашей командой разработчиков голосового управления в течение нескольких недель.Для записей используется разнообразный сценарий, содержащий все звуковые паттерны языка, находящегося в разработке. Команда внимательно следит за процессом записи, чтобы проверить соответствие произношения, акцентуации и стиля.

На втором этапе создания голоса TTS к записям речи добавляется расширенная разметка. Аннотируются каждое слово, фонема и ударение, а также некоторые другие аспекты. Техническая команда творит чудеса над этим процессом, используя мощную комбинацию технологий искусственного интеллекта и машинного обучения на больших объемах данных для оптимизации аннотаций.Наши современные методики дополняются лингвистическим опытом нашей команды. Полученная база данных используется механизмом ReadSpeaker TTS для преобразования текста в речь, произносимую голосом TTS.

Так рождается новый голосовой образ ReadSpeaker TTS. Однако на этом процесс не заканчивается. Одной из уникальных характеристик ReadSpeaker является постоянный процесс совершенствования. Благодаря системе высококачественной обратной связи и тщательной проверке качества экспертами, говорящими на родном языке, недостатки постоянно исправляются.

Параллельно ReadSpeaker работает над будущим преобразования текста в речь, разрабатывая методы, основанные на глубоком обучении. Вместо USS этот революционный метод включает сопоставление лингвистических свойств с акустическими характеристиками с использованием глубоких нейронных сетей (DNN). Этот метод использует итеративный процесс обучения, чтобы минимизировать объективно измеримые различия между предсказанными акустическими характеристиками и наблюдаемыми акустическими характеристиками в обучающей выборке. Одним из преимуществ нового метода DNN TTS является то, что акустическая база данных может быть намного меньше, чем для голоса USS.Это позволяет быстрее, чем когда-либо, разрабатывать новые умные голоса ReadSpeaker TTS с еще более реалистичной, выразительной речью и настраиваемой интонацией.

Если ваша стратегия состоит в том, чтобы предложить эксклюзивный клиентский опыт, и вы хотите поднять привлекательность вашего бренда на новый уровень, один из самых эффективных способов выделиться — это использовать собственный голос, чтобы представлять вас. Индивидуальный голос выделяет ваш бренд и создает прочную связь с вашими клиентами через различные точки взаимодействия.Если предпочитаемая знаменитость или другой талант лучше всего отражает ваш бренд, и вы хотите иметь возможность использовать их голос в любое время, когда вам это нужно, ReadSpeaker может создать собственный голос TTS на основе нашего передового механизма речи, чтобы обеспечить мгновенную узнаваемость вашего бренда в голосовой пользовательский интерфейс.

SpeechRecognition · PyPI

Библиотека для распознавания речи с поддержкой нескольких механизмов и API, онлайн и офлайн.

Quickstart: pip установить SpeechRecognition.См. Раздел «Установка» для получения более подробной информации.

Чтобы быстро опробовать его, запустите python -m speech_recognition после установки.

Требования

Для использования всех функций библиотеки у вас должно быть:

  • Python 2.6, 2.7 или 3.3+ (обязательно)
  • PyAudio 0.2.11+ (требуется, только если вам нужно использовать микрофонный вход, микрофон)
  • PocketSphinx (требуется только в том случае, если вам нужно использовать распознаватель Sphinx, распознаватель_instance.распознать_сфинкс)
  • Клиентская библиотека Google API для Python (требуется, только если вам нужно использовать Google Cloud Speech API, распознаватель_instance.recognize_google_cloud)
  • Кодировщик FLAC (требуется, только если система не на базе x86 Windows / Linux / OS X)

Следующие требования являются необязательными, но в некоторых ситуациях могут улучшить или расширить функциональность:

  • В Python 2 и только в Python 2 некоторые функции (например, распознаватель_instance.признать_bing) будет работать медленнее, если у вас не установлен Monotonic for Python 2 .
  • При использовании CMU Sphinx вы можете установить дополнительные языковые пакеты для поддержки таких языков, как международный французский или китайский.

В следующих разделах подробно рассказывается о каждом требовании.

PyAudio (для пользователей микрофонов)

PyAudio требуется тогда и только тогда, когда вы хотите использовать микрофонный вход (микрофон). Требуется PyAudio версии 0.2.11+, поскольку в более ранних версиях известны ошибки управления памятью при записи с микрофонов в определенных ситуациях.

Если не установлен, все в библиотеке по-прежнему будет работать, за исключением попытки создания экземпляра объекта Microphone вызовет ошибку AttributeError.

Инструкции по установке на сайте PyAudio довольно хороши — для удобства они кратко изложены ниже:

  • В Windows установите PyAudio с помощью Pip: выполните pip install pyaudio в терминале.
  • В дистрибутивах Linux, производных от Debian (например, Ubuntu и Mint), установите PyAudio с помощью APT: выполните sudo apt-get install python-pyaudio python3-pyaudio в терминале.
    • Если версия в репозиториях слишком старая, установите последнюю версию с помощью Pip: выполните sudo apt-get install portaudio19-dev python-all-dev python3-all-dev && sudo pip install pyaudio (замените pip на pip3, если используя Python 3).
  • В OS X установите PortAudio с помощью Homebrew: brew install portaudio. Затем установите PyAudio с помощью Pip: pip install pyaudio.
  • В других системах на основе POSIX установите пакеты portaudio19-dev и python-all-dev (или python3-all-dev, если используется Python 3) (или их ближайшие эквиваленты) с помощью диспетчера пакетов по вашему выбору, а затем установите PyAudio. используя Pip: pip install pyaudio (замените pip на pip3 при использовании Python 3).

Пакеты PyAudio wheel для распространенных 64-битных версий Python в Windows и Linux включены для удобства в каталог сторонних / в корне репозитория. Для установки просто запустите pip install wheel, а затем pip install ./third-party/WHEEL_FILENAME (замените pip на pip3 при использовании Python 3) в корневом каталоге репозитория.

PocketSphinx-Python (для пользователей Sphinx)

PocketSphinx-Python требуется тогда и только тогда, когда вы хотите использовать распознаватель Sphinx (распознаватель_instance.признать_сфинкс).

Пакеты колеса PocketSphinx-Python для 64-разрядных версий Python 2.7, 3.4 и 3.5 в Windows включены для удобства в каталог сторонних /. Для установки просто запустите pip install wheel, а затем pip install ./third-party/WHEEL_FILENAME (замените pip на pip3 при использовании Python 3) в папке SpeechRecognition.

В Linux и других системах POSIX (например, OS X) следуйте инструкциям в разделе «Сборка PocketSphinx-Python из исходных текстов» в Примечаниях по использованию PocketSphinx для получения инструкций по установке.

Обратите внимание, что версии, доступные в большинстве репозиториев пакетов, устарели и не будут работать с языковыми данными из пакета. Рекомендуется использовать входящие в комплект пакеты wheel или собрать из исходников.

См. Примечания по использованию PocketSphinx для получения информации об установке языков, компиляции PocketSphinx и создании языковых пакетов из сетевых ресурсов. Этот документ также включен в ссылку / pocketsphinx.rst.

Клиентская библиотека Google API для Python (для пользователей Google Cloud Speech API)

Клиентская библиотека Google API для Python требуется тогда и только тогда, когда вы хотите использовать Google Cloud Speech API (распознаватель_instance.распознать_google_cloud).

Если не установлен, все в библиотеке по-прежнему будет работать, за исключением вызова распознавателя_instance.recognize_google_cloud вызовет ошибку RequestError.

Согласно официальным инструкциям по установке, рекомендуется использовать Pip: выполнить pip install google-api-python-client (при использовании Python 3 замените pip на pip3).

Кроме того, вы можете выполнить установку полностью в автономном режиме из исходных архивов в папке./ Third-party / Исходный код клиентской библиотеки Google API для Python и ее dependencies / каталог.

FLAC (для некоторых систем)

Кодировщик FLAC необходим для кодирования аудиоданных для отправки в API. Если вы используете Windows (x86 или x86-64), OS X (только Intel Mac, OS X 10.6 или новее) или Linux (x86 или x86-64), это уже в комплекте с этой библиотекой — вам не нужно устанавливать ничего .

В противном случае убедитесь, что у вас есть инструмент командной строки flac, который часто доступен через системный менеджер пакетов.Например, обычно это будет sudo apt-get install flac для производных от Debian или brew install flac для OS X с помощью Homebrew.

Монотонный для Python 2 (для более быстрых операций в некоторых функциях на Python 2)

На Python 2 и только на Python 2, если вы не установите библиотеку Monotonic для Python 2, некоторые функции будут работать медленнее, чем могли бы (хотя все будет работать правильно).

В Python 3 функциональность этой библиотеки встроена в стандартную библиотеку Python, что делает ее ненужной.

Это связано с тем, что монотонное время необходимо для правильной обработки истечения срока действия кэша перед лицом изменений системного времени и других проблем, связанных со временем. Если функция монотонного времени недоступна, то такие вещи, как запросы токенов доступа, не будут кэшироваться.

Для установки используйте Pip: выполните монотонную установку pip install в терминале.

Устранение неисправностей

Распознаватель пытается распознать речь, даже когда я не говорю или после того, как закончил говорить.

Попытайтесь увеличить значение распознавателя_instance.energy_threshold свойство. Это в основном то, насколько чувствителен распознаватель, когда должно начаться распознавание. Более высокие значения означают, что он будет менее чувствительным, что полезно, если вы находитесь в шумной комнате.

Это значение полностью зависит от вашего микрофона или аудиоданных. Универсального значения не существует, но хорошие значения обычно находятся в диапазоне от 50 до 4000.

Также проверьте настройки громкости вашего микрофона. Если он слишком чувствителен, микрофон может улавливать много окружающего шума.Если он слишком нечувствителен, микрофон может отклонять речь как просто шум.

Распознавателю не удается распознать речь сразу после того, как он впервые начинает слушать.

Свойство распознавателя_instance.energy_threshold, вероятно, установлено на значение, которое слишком велико для начала, а затем автоматически настраивается на более низкое значение с помощью динамической регулировки порога энергии. Прежде чем он достигнет хорошего уровня, энергетический порог становится настолько высоким, что речь просто считается окружающим шумом.

Решение состоит в том, чтобы уменьшить этот порог или заранее вызвать распознаватель_instance.adjust_for_ambient_noise, который автоматически установит хорошее значение порога.

Распознаватель не понимает мой язык / диалект.

Попробуйте установить язык распознавания на свой язык / диалект. Чтобы сделать это, см. Документацию для распознавателя_instance.recognize_sphinx, распознавателя_instance.recognize_google, распознавателя_instance.recognize_wit, распознавателя_instance.признать_bing, распознаватель_экземпляр.recognize_api, распознаватель_экземпляр.recognize_houndify и распознаватель_экземпляр.recognize_ibm.

Например, если ваш язык / диалект — британский английский, лучше использовать в качестве языка «en-GB», чем «en-US».

Распознаватель зависает на распознавателе_instance.listen; в частности, когда он вызывает Microphone.MicrophoneStream.read.

Обычно это происходит, когда вы используете плату Raspberry Pi, которая сама по себе не имеет возможности ввода звука.Это приводит к тому, что микрофон по умолчанию, используемый PyAudio, просто блокируется, когда мы пытаемся его прочитать. Если вы используете Raspberry Pi, вам понадобится звуковая карта USB (или USB-микрофон).

После этого измените все экземпляры Microphone () на Microphone (device_index = MICROPHONE_INDEX), где MICROPHONE_INDEX — это аппаратный индекс микрофона.

Чтобы выяснить, каким должно быть значение MICROPHONE_INDEX, запустите следующий код:

 импортировать распознавание речи как SR
для индекса имя в перечислении (sr.Microphone.list_microphone_names ()):
    print ("Микрофон с именем \" {1} \ "найден для` Microphone (device_index = {0}) `" .format (index, name))
 

Будет напечатано что-то вроде следующего:

 Микрофон с именем "HDA Intel HDMI: 0 (hw: 0,3)" обнаружен для `Microphone (device_index = 0)`
Микрофон с именем "HDA Intel HDMI: 1 (hw: 0,7)" обнаружен для `Microphone (device_index = 1)`
Микрофон с именем "HDA Intel HDMI: 2 (hw: 0,8)" обнаружен для `Microphone (device_index = 2)`
Микрофон с названием "Blue Snowball: USB Audio (hw: 1,0)" обнаружен для `Microphone (device_index = 3)`
Микрофон с именем "hdmi" найден для `Microphone (device_index = 4)`
Обнаружен микрофон с именем "pulse" для `Microphone (device_index = 5)`
Микрофон с именем default обнаружен для `Microphone (device_index = 6)`
 

Теперь, чтобы использовать микрофон Snowball, вы должны изменить Microphone () на Microphone (device_index = 3).

Вызов микрофона () выдает ошибку IOError: Нет доступного устройства ввода по умолчанию.

Как говорится в ошибке, программа не знает, какой микрофон использовать.

Для продолжения либо используйте микрофон (device_index = MICROPHONE_INDEX, …) вместо микрофона (…), либо установите микрофон по умолчанию в вашей ОС. Вы можете получить возможные значения MICROPHONE_INDEX, используя код в записи об устранении неполадок прямо над этим.

Примеры кода вызывают UnicodeEncodeError: кодек ascii не может кодировать символ при запуске.

Когда вы используете Python 2, и в вашем языке используются символы, отличные от ASCII, а терминал или файловый объект, который вы печатаете, поддерживает только ASCII, возникает ошибка при попытке записать символы, отличные от ASCII.

Это связано с тем, что в Python 2 распознавание_instance.recognize_sphinx, распознаватель_instance.recognize_google, распознаватель_instance.recognize_wit, распознаватель_instance.recognize_bing, распознавание_instance.recognize_api, распознаватель_instance.recognize_houndify, признание_houndify.Признание_ibm возвращает строки юникода (u «что-то»), а не байтовые строки («что-то»). В Python 3 все строки являются строками Unicode.

Чтобы печать строк Unicode работала и в Python 2, замените все операторы печати в своем коде на следующую форму:

 распечатать SOME_UNICODE_STRING
 

со следующим:

 print SOME_UNICODE_STRING.encode ("utf8")
 

Однако это изменение предотвратит работу кода в Python 3.

Программа не запускается при компиляции с помощью PyInstaller.

Начиная с версии 3.0 PyInstaller, SpeechRecognition поддерживается из коробки. Если при компиляции программы с помощью PyInstaller возникают странные проблемы, просто обновите PyInstaller.

Вы можете легко сделать это, запустив pip install —upgrade pyinstaller.

В Ubuntu / Debian я получаю раздражающий вывод в терминале, говорящий что-то вроде «bt_audio_service_open: […] В соединении отказано» и другие.

Ошибка «bt_audio_service_open» означает, что у вас есть аудиоустройство Bluetooth, но поскольку физическое устройство в настоящее время не подключено, мы не можем его использовать — если вы не используете микрофон Bluetooth, это можно игнорировать. Если да, и звук не работает, дважды проверьте, действительно ли ваш микрофон подключен. Кажется, нет простого способа отключить эти сообщения.

Информацию об ошибках вида «ALSA lib […] Неизвестный PCM» см. В этом ответе StackOverflow.В основном, чтобы избавиться от ошибки вида «Неизвестные карты PCM.pcm.rear», просто закомментируйте pcm.rear cards.pcm.rear в /usr/share/alsa/alsa.conf, ~ / .asoundrc и /etc/asound.conf.

Для «jack server не запущен или не может быть запущен» или «connect (2) call to / dev / shm / jack-1000 / default / jack_0 failed (err = No such file or directory)» или «попытка подключения к отказ сервера », они вызваны попыткой ALSA подключиться к JACK и могут быть проигнорированы. В настоящее время я не знаю ни одного простого способа отключить эти сообщения, кроме [полного отключения печати при включении микрофона] (https: // github.ru / Uberi / Speech_recognition / issues / 182 # issuecomment-266256337).

В OS X я получаю сообщение ChildProcessError о том, что не удалось найти системный конвертер FLAC, даже если он установлен.

Установка FLAC для OS X непосредственно из исходного кода не сработает, поскольку она неправильно добавляет исполняемые файлы в путь поиска.

Установка FLAC с помощью Homebrew гарантирует правильное обновление пути поиска. Сначала убедитесь, что у вас установлен Homebrew, а затем запустите brew install flac, чтобы установить необходимые файлы.

Разработка

Чтобы взломать эту библиотеку, сначала убедитесь, что у вас есть все требования, перечисленные в разделе «Требования».

  • Большая часть кода библиотеки находится в Speech_recognition / __ init__.py.
  • Примеры находятся в каталоге examples /, а демонстрационный скрипт — в speech_recognition / __ main__.py.
  • Двоичные файлы кодировщика FLAC находятся в каталоге распознавание_ речи /.
  • Документацию можно найти в каталоге reference /.
  • Сторонние библиотеки, служебные программы и справочные материалы находятся в стороннем каталоге /.

Чтобы установить / переустановить библиотеку локально, запустите python setup.py install в корневом каталоге проекта.

Перед выпуском номер версии перетаскивается в README.rst и speech_recognition / __ init__.py. Теги версий затем создаются с помощью git config gpg.program gpg2 && git config user.signingkey DB45F6C431DE7C2DCD99FF7

2258A4063489 && git tag -s VERSION_GOES_HERE -m «Version VERSION_GOES_HERE».

Релизы выполняются путем запуска make-release.sh VERSION_GOES_HERE для сборки пакетов исходного кода Python, подписания их и загрузки в PyPI.

Тестирование

Для запуска всех тестов:

 python -m unittest обнаружить --verbose
 

Тестирование также выполняется TravisCI автоматически при каждом нажатии. Чтобы настроить среду для автономного / локального тестирования, подобного Travis, в системе, подобной Debian:

 sudo docker run --volume "$ (pwd): / speech_recognition" --interactive --tty quay.io / travisci / travis-python: последний / bin / bash
su - travis && cd / speech_recognition
sudo apt-get update && sudo apt-get install swig libpulse-dev
pip install --user pocketsphinx monotonic && pip install --user flake8 rstcheck && pip install --user -e.
python -m unittest discover --verbose # запускать модульные тесты
python -m flake8 --ignore = E501, E701 Speech_recognition примеры тестов setup.py # игнорировать ошибки для длинных строк и строк с несколькими операторами
python -m rstcheck README.rst ссылка / *.rst # убедитесь, что RST правильно сформирован
 

Исполняемые файлы FLAC

Включенный исполняемый файл flac-win32 является официальным 32-разрядным двоичным файлом Windows FLAC 1.3.2.

Включенные исполняемые файлы flac-linux-x86 и flac-linux-x86_64 созданы из исходного кода FLAC 1.3.2 с помощью Manylinux, чтобы гарантировать его совместимость с широким спектром дистрибутивов.

Созданные исполняемые файлы FLAC должны воспроизводиться побитно. Чтобы перестроить их, запустите в каталоге проекта в системе, подобной Debian, следующую команду:

 # скачать и извлечь исходный код FLAC
cd сторонний
sudo apt-get install --yes docker.io

# собираем FLAC внутри образа Docker Manylinux i686
tar xf flac-1.3.2.tar.xz
sudo docker run --tty --interactive --rm --volume "$ (pwd): / root" quay.io/pypa/manylinux1_i686:latest bash
    cd /root/flac-1.3.2
    ./configure LDFLAGS = -static # флаги компилятора для создания статической сборки
    делать
выход
cp flac-1.3.2 / SRC / flac / flac ../speech_recognition/flac-linux-x86 && sudo rm -rf flac-1.3.2 /

# построить FLAC внутри образа Docker Manylinux x86_64
tar xf flac-1.3.2.tar.xz
sudo docker run --tty --interactive --rm --volume "$ (pwd): / root" quay.io / pypa / manylinux1_x86_64: последний bash
    cd /root/flac-1.3.2
    ./configure LDFLAGS = -static # флаги компилятора для создания статической сборки
    делать
выход
cp flac-1.3.2 / SRC / flac / flac ../speech_recognition/flac-linux-x86_64 && sudo rm -r flac-1.3.2 /
 

Включенный исполняемый файл flac-mac извлечен из xACT 2.39, который представляет собой интерфейс для FLAC 1.3.2, который удобно включает двоичные файлы для всех его кодировщиков. В частности, это копия xACT 2.39 / xACT.app / Contents / Resources / flac в xACT2.39.zip.

Авторы

 Убери  (Энтони Чжан)
бобсайшилол
арвиндч  (Арвинд Чембарпу)
kevinismith  (Кевин Смит)
haas85
DelightRun 
Maverickagm
kamushadenes  (Камус Хаденес)
sbraden  (Сара Брейден)
tb0hdan (Богдан Туркиневич)
Тиникс  (Стив Догерти)
биди <бродерик[email protected]> (Бродерик Карлин)
 

Пожалуйста, сообщайте об ошибках и предложениях в системе отслеживания проблем!

Как цитировать эту библиотеку (стиль APA):

Чжан, А. (2017). Распознавание речи (Версия 3.8) [Программное обеспечение]. Доступно по адресу https://github.com/Uberi/speech_recognition#readme.

Как цитировать эту библиотеку (стиль Чикаго):

Чжан, Энтони. 2017. Распознавание речи (версия 3.8).

Также ознакомьтесь с API Python Baidu Yuyin, который основан на более старой версии этого проекта и добавляет поддержку Baidu Yuyin.Обратите внимание, что Baidu Yuyin доступен только в Китае.

Лицензия

Авторские права 2014-2017 Энтони Чжан (Uberi). Исходный код этой библиотеки доступен в Интернете на GitHub.

SpeechRecognition предоставляется по лицензии BSD с тремя пунктами. Дополнительную информацию см. В файле LICENSE.txt в корневом каталоге проекта.

Для удобства все официальные дистрибутивы SpeechRecognition уже включают копии необходимых уведомлений об авторских правах и лицензий.В своем проекте вы можете просто указать , что информацию о лицензировании SpeechRecognition можно найти в README SpeechRecognition, и убедиться, что SpeechRecognition виден пользователям, если они хотят его видеть .

SpeechRecognition распространяет исходный код, двоичные файлы и языковые файлы из CMU Sphinx. Эти файлы имеют лицензию BSD и могут распространяться до тех пор, пока правильно сохраняются уведомления об авторских правах. См. Speech_recognition / pocketsphinx-data / * / LICENSE * .txt и сторонний / LICENSE-Sphinx.txt для получения сведений о лицензии для отдельных частей.

SpeechRecognition распространяет исходный код и двоичные файлы из PyAudio. Эти файлы лицензированы MIT и могут распространяться до тех пор, пока правильно сохраняются уведомления об авторских правах. Подробную информацию о лицензии см. В файле Third-party / LICENSE-PyAudio.txt.

SpeechRecognition распространяет двоичные файлы из FLAC — распознавание речи / flac-win32.exe, распознавание речи / flac-linux-x86 и распознавание речи / flac-mac. Эти файлы распространяются под лицензией GPLv2 и могут распространяться до тех пор, пока выполняются условия GPL.Двоичные файлы FLAC представляют собой совокупность отдельных программ, поэтому эти ограничения GPL не применяются к библиотеке или вашим программам, которые используют библиотеку, только к самому FLAC.