Механизм распознавания речи. Системы автоматического распознавания речи

Как хорошо было раньше! Позвонив в справочную, можно было побеседовать с девушкой-оператором и даже назначить ей свидание. Теперь же на том конце провода слышится приятный, но неживой женский голос, предлагающий набрать 1 для получения такой-то информации, 2 - для связи с тем-то, 3 - для выхода в меню и т.д. Все чаще доступ к информации контролируется системой, а не человеком. В этом есть своя логика: однообразная, неинтересная работа выполняется не человеком, а машиной. И для пользователя процедура получения информации упрощается: назвал определенный набор цифр - получил нужную информацию.

ак же работает такая система? Давайте попробуем разобраться.

Двумя основными типами программ для распознавания речи являются:

Программы для диктовки — ввод текста и цифровых данных.

Сразу оговоримся, что системы Text-to-speech и speech-to-text, то есть переводящие текст в устную речь и наоборот, мы рассматривать не будем. Ограничимся только системами автоматического распознавания команд, или голосовыми навигаторами.

САРР — что это такое?

истемы автоматического распознавания речи (САРР) - это элемент процесса обработки речи, назначение которого - обеспечить удобный диалог между пользователем и машиной. В широком понимании речь идет о системах, которые осуществляют фонемное декодирование речевого акустического сигнала при произношении речевых сообщений свободным стилем, произвольным диктором, без учета проблемной ориентации и ограничений на объем словаря. В узком смысле САРР облегчают решение частных задач, накладывая некоторые ограничения на требования к распознаванию естественно звучащей речи в классическом его понимании. Таким образом, диапазон разновидностей САРР простирается от простых автономных устройств и детских игрушек, которые способны распознавать или синтезировать раздельно произносимые слова, цифры, города, имена и т.п., до суперсложных систем распознавания естественно звучащей речи и ее синтеза для использования, например, в качестве секретаря-референта (IBM VoiceType Simply Speaking Gold).

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

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

Обычно САРР используется в таких системах, как телефонные приложения, встроенные системы (системы набора номера, работа с карманным компьютером, управление автомобилем и т.д.), мультимедийные приложения (системы обучения языку).

Голосовые ключи

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

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

Немного истории

оединенные Штаты Америки, конец 60-х годов XX века: «Три», - сказал Валтер Кронкит (Walter Cronkite), ведущий научно-популярной программы «XXI век», во время демонстрации новейших разработок в области распознавания речи. Компьютер распознал это слово как «четыре». «Идиот», - пробормотал Валтер. «Этого слова нет в словаре», - ответил компьютер.

Хотя первые разработки в области распознавания речи относятся еще к 1920-м годам, первая система была создана только в 1952 году компанией Bell Laboratories (сегодня она входит в состав Lucent Technologies). А первая коммерческая система была создана еще позже: в 1960 году IBM объявила о разработке такой системы, но на рынок программа так и не вышла.

Затем, в 1970-х годах, авиакомпания Eastern Airlines в США установила дикторозависимую систему отправки багажа: оператор называл пункт назначения - и багаж отправлялся в путь. Однако из-за количества допущенных ошибок система так и не прошла испытательный срок.

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

Сегодня в этом направлении работают уже не десятки, а сотни исследовательских коллективов в научных и учебных заведениях, а также в крупных корпорациях. Об этом можно судить по таким международным форумам ученых и специалистов в области речевых технологий, как ICASSP, EuroSpeech, ICPHS и др. Результаты работы, на которую, как у нас образно говорят, «навалились всем миром», трудно переоценить.

Уже в течение нескольких лет голосовые навигаторы, или системы распознавания команд, успешно применяются в различных областях деятельности. Например, call-центр OmniTouch, поставленный Ватикану компанией Alcatel, использовался для обслуживания мероприятий, проходивших в рамках празднования 2000-летия Христа. Паломник, звонивший в call-центр, излагал свой вопрос, и система автоматического распознавания речи «выслушивала» его. Если система определяла, что вопрос задан по часто встречающейся теме, например о расписании мероприятий или адресах гостиниц, то включалась предварительно сделанная запись. При необходимости уточнить вопрос предлагалось речевое меню, в котором голосом надо было указать один из пунктов. Если же система распознавания определяла, что предварительно записанного ответа на заданный вопрос нет, то происходило соединение паломника с оператором-человеком.

В Швеции не так давно была открыта автоматическая телефонная справочная служба, использующая программу распознавания речи компании Philips. За первый месяц работы службы Autosvar, которая начала действовать без официального объявления, ее услугами воспользовались 200 тыс. клиентов. Человек должен набрать определенный номер и после ответа автоматического секретаря назвать интересующий его раздел информационного справочника.

Новая услуга предназначена в основном для частных клиентов, которые предпочтут ее из-за значительно меньшей стоимости услуг. Служба Autosvar является первой системой такого рода в Европе (в США испытания аналогичной службы в компании AT&T были начаты в декабре прошлого года).

Вот несколько примеров использования этой технологии в США.

Риэлтеры часто обращаются к услугам компании Newport Wireless. Когда риэлтер проезжает на машине по улице и видит возле какого-нибудь дома табличку «Продается», он звонит в Newport Wireless и запрашивает сведения о доме с таким-то номером, находящемся на такой-то улице. Автоответчик приятным женским голосом рассказывает ему о метраже дома, дате постройки и владельцах. Вся эта информация находится в базе данных Newport Wireless. Риэлтерам остается только выдать сообщение клиенту. Абонентская плата - около 30 долл. в месяц.

Джули, виртуальный агент компании Amtrak, обслуживает железнодорожных пассажиров с октября 2001 года. Она по телефону сообщает о расписании поездов, об их прибытии и отправлении, а также производит бронирование билетов. Джули - это продукт компании SpeechWorks Software и Intervoice Hardware. Она уже увеличила показатель удовлетворенности пассажиров на 45%; 13 из 50 клиентов получают всю нужную информацию из «уст» Джули. Раньше компания Amtrak использовала тоновую систему справки, однако показатель удовлетворенности тогда был меньше: всего 9 клиентов из 50.

В Amtrak признаются, что свою цену (4 млн. долл.) Джули окупила за 12-18 месяцев. Она позволила не нанимать на работу целую команду служащих. А British Airways экономит 1,5 млн. долл. в год, используя технологию от Nuance Communications, которая тоже автоматизирует справочную службу.

Недавно Sony Computer Entertainment America представила Socom - первую видеоигру, в которой игроки могут отдавать устные приказы бойцам из «Deploy grenades». В игре стоимостью 60 долл. применена технология ScanSoft. В прошлом году было продано 450 тыс. таких игр, что сделало Socom безусловным лидером продаж компании.

В дорогих автомобилях типа Infinity и Jaguar уже несколько лет используется устный контроль за панелью управления: радио, температурный режим и навигационная система понимают голос владельца машины и беспрекословно слушаются хозяина. Но сейчас технология распознавания голоса начинает применяться и в машинах среднего класса. Так, с 2003 года Honda Accord имеет встроенный голосовой определитель от IBM. Он называется ViaVoice и является частью навигационной системы за 2000 долл. По сообщению компании-поставщика, одна пятая часть покупателей Honda Accord сделала выбор в пользу модели с голосовой системой навигации.

Даже в медицине технология распознавания голоса нашла свое место. Уже разработаны аппараты осмотра желудка, послушные голосу врача. Правда, эти аппараты, по словам специалистов, пока еще несовершенны: у них замедленная реакция на приказы врача. Но все еще впереди. В Мемфисе VA Medical Center вложил 277 тыс. долл. в программу Dragon, позволяющую врачам и медсестрам надиктовывать информацию в базу данных компьютера. Вероятно, скоро не нужно будет мучиться, чтобы разобрать в медицинской карте почерк врача.

Уже сотни крупных компаний используют технологию распознавания голоса в своей продукции или в услугах; в их числе - AOL, FedEx, Honda, Sony, Sprint, T. Rowe Price, United Airlines и Verizo. По оценкам экспертов, рынок голосовой технологии достиг в 2002 году порядка 695 млн. долл., что на 10% выше, чем в 2001 году.

Авиакомпания United Airways внедрила автоматическую справочную службу еще в 1999 году. Автоматические системы обработки телефонных звонков эксплуатируются такими компаниями, как инвестиционный банк Charles Schwab & Co, розничная сеть Sears, сеть супермаркетов Roebuck. Американские операторы беспроводной связи (AT&T Wireless и Sprint PCS) уже больше года используют подобные программы и предоставляют услуги голосового набора. И хотя сейчас лидером по количеству call-центров такого типа является Америка, в последнее время выгоду от систем распознавания речи начали осознавать и в Европе. Например, швейцарская служба железных дорог уже предоставляет своим немецкоязычным пассажирам услуги, аналогичные тем, что предлагает United Airways.

Прогнозы аналитиков

егодня технологии распознавания речи считаются одними из наиболее перспективных в мире. Так, по прогнозам американской исследовательской компании Cahners In-Stat, мировой рынок ПО распознавания речи к 2005 году увеличится с 200 млн. до 2,7 млрд. долл. По мнению же фирмы Datamonitor, объем рынка голосовых технологий будет расти в среднем на 43% в год: с 650 млн. долл. в 2000 году до 5,6 млрд. долл. в 2006-м (рис. 1). Эксперты, сотрудничающие с медиакорпорацией CNN, отнесли распознавание речи к одной из восьми наиболее перспективных технологий нынешнего года. А аналитики из IDC заявляют, что к 2005 году распознавание речи вообще вытеснит с рынка все остальные речевые технологии (рис. 2).

Основные сложности

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

Однако более чем полувековая работа над различными САРР дала свои плоды. Практически любая современная система может работать в нескольких режимах. Во-первых, она может быть зависимой или независимой от диктора. Зависимая от диктора система требует специального обучения под конкретного пользователя, чтобы точно распознавать то, что он говорит. Для обучения системы пользователю надо произнести несколько определенных слов или фраз, которые система проанализирует и запомнит результаты. Этот режим обычно используется в системах диктовки, когда с системой работает один пользователь.

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

Во-вторых, системы делятся на работающие только с изолированными командами и на способные распознавать связную речь. Распознавание речи является значительно более сложной задачей, чем распознавание отдельно произносимых слов. Например, при переходе от распознавания изолированных слов к распознаванию речи при словаре в 1000 слов процент ошибок увеличивается с 3,1 до 8,7, кроме того, для обработки речи требуется в три раза больше времени.

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

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

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

Размер используемого словаря - важная составляющая САРР. Очевидно, что чем больше словарь, тем выше вероятность того, что система ошибется. Во многих современных системах есть возможность или дополнять словари по мере необходимости новыми словами, или подгружать новые словари. Обычный уровень ошибок для дикторонезависимой системы с изолированным произнесением команд - около 1% для словаря в 100 слов, 3% - для словаря в 600 слов и 10% - для словаря в 8000 слов.

Предложения современного рынка САРР

а рынке сегодня представлены CАРР различных компаний. Рассмотрим некоторые из них.

Aculab

Точность узнавания 97%.

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

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

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

Продукт доступен на базе Windows NT/2000, Linux и Sun SPARC Solaris.

Babear SDK Version 3.0

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

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

Система работает на базе Windows 98 (SE)/NT 4.0/2000/CE, Mac OS X и Linux.

Loquendo ASR

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

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

Входит в состав продукта Loquendo Speech Suite вместе с системой text-to-speech и программой Loquendo VoiceXML Interpreter, поддерживающей использование различных голосов и языков.

Система работает на базе MS Windows NT/2000, UNIX и Linux.

LumenVox

Дикторонезависимая система, не требующая обучения, но после адаптации под конкретного пользователя результаты распознавания становятся гораздо лучше: точность распознавания превышает 90%.

Поддерживает различные форматы аудиофайлов: (u-law 8 кГц, РСМ 8 кГц, РСМ 16 кГц). Не имеет жестких требований к аппаратным ресурсам. Работает на базе Windows NT/2000/XP и Linux.

Требования к системе (на базе Windows):

Windows NT 4.0 c Service Pack 6a, Windows 2000 или Windows XP Pro;

Минимальный размер памяти 512 Mбайт.

Требования к системе (на базе Red Hat Linux):

Red Hat Linux 7.2;

Intel Pentium III 800 MГц или выше;

Объем памяти 256 Mбайт;

Размер диска 17 Mбайт (после декомпрессии).

Nuance

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

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

Работает на базе Windows 2000 и Linux.

SPIRIT

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

Это автоматическая система распознавания речи, обеспечивающая высокое качество распознавания даже в сильно зашумленной среде. Система может быть легко настроена на работу в одном из двух режимов: распознавание фраз с фиксированным числом команд (произнесение отдельных команд, режим PIN-кода) и распознавание фраз с произвольным числом команд (слитное произнесение команд, «режим связной речи»). Есть возможность поиска ключевых слов. Данное решение работает в условиях аддитивного нестационарного шума. Требуемое соотношение «сигнал/шум» до 0 дБ в «режиме PIN-кода» и до +15 дБ в режиме связной речи.

Задержка распознавания — 0,2 с. Параметры акустического канала: полоса пропускания в пределах 300-3500 Гц. Адаптация к акустической среде производится по фрагментам шума суммарной длиной не менее 3 с.

Для «режима PIN-кода»:

Словарь — 50 команд;

Вероятность правильного распознавания - 95-99% при SNR = 0…6 дБ;

Требуемые акустические условия: аддитивный широкополосный статичный шум с SNR (отношение «сигнал/шум») >= 15 дБ.

Для режима распознавания связной речи:

Словарь — 12 слов /цифр;

Вероятность правильного распознавания цепочки слов - 98-99%.

Специфика: адаптация к произвольным шумам.

Автоматическая система распознавания речи от SPIRIT доступна в форме приложения для PC под MS Windows или ассемблерного кода. По запросу клиентов решение может быть портировано на любую DSP- или RISC-платформу.

VoiceWare

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

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

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

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

Новые слова могут быть добавлены в словарь.

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

VoiceWare поддерживает американский английский и корейский языки; китайский и японский - в разработке.

Система работает на базе Windows 95/98/NT 4.0, UNIX и Linux.

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


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

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

Speechpad.ru

Русскоязычный онлайн сервис распознавания речи. Имеет подробную инструкцию по работе на русском языке.

  • поддержку 7 языков (русский, украинский, английский, немецкий, французский, испанский, итальянский)
  • загрузку для транскрибации аудио или видео файла (поддерживаются ролики с YouTube)
  • синхронный перевод на другой язык
  • поддержку голосового ввода знаков препинания и перевода строки
  • панель кнопок (смена регистра, перевод на новую строку, кавычки, скобки и т.п.)
  • наличие персонального кабинета с историей записей (опция доступна после регистрации)
  • наличие плагина к Google Chrome для ввода текста голосом в текстовом поле сайтов (называется «Голосовой ввод текста — Speechpad.ru»)

Dictation.io

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

Основной функционал сервиса:

  • поддержка 30 языков, среди которых присутствуют даже венгерский, турецкий, арабский, китайский, малайский и пр.
  • автораспознавание произношения знаков препинания, перевода строки и пр.
  • возможность интеграции со страницами любого сайта
  • наличие плагина для Google Chrome (называется «VoiceRecognition»)

В деле распознавания речи самое важное значение имеет именно качество перевода речи в текст. Приятные «плюшки» и вохможности – не более чем хороший плюс. Так чем же могут похвастаться в этом плане оба сервиса?

Сравнительный тест сервисов

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

Ниже представлен результат перевода речи в текст каждым сервисом (ошибки обозначены красным цветом):

Как видим, оба сервиса практически с одинаковыми ошибками справились с распознаванием речи. Результат весьма неплохой!

Теперь для теста возьмем отрывок из письма красноармейца Сухова (к/ф «Белое солнце пустыни»):

Отличный результат!

Как видим, оба сервиса весьма достойно справляются с распознаванием речи – выбирайте любой! Похоже что они даже используют один и тот же движок — уж слижком схожие у них оказались допущенные ошибки по результатам тестов). Но если Вам необходимы дополнительные функции типа подгрузки аудио / видео файла и перевода его в текст (транскрибация) или синхронного перевода озвученного текста на другой язык, то Speechpad будет лучшим выбором!


Кстати вот как он выполнил синхронный перевод фрагмента поэмы Некрасова на английский язык:

Ну а это краткая видео инструкция по работе со Speechpad, записанная самим автором проекта:

Друзья, понравился ли Вам данный сервис? Знаете ли Вы более качественные аналоги? Делитесь своими впечатлениями в комментариях.

  • Tutorial

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

Пролог

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

Таким вот образом механические колебания превращаются в набор чисел, пригодный для обработки на современных ЭВМ.

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

Давайте разберемся, как, собственно, это самое «сопоставление» может быть реализовано.

Входные данные

Допустим у нас есть некоторый файл/поток с аудиоданными. Прежде всего нам нужно понять, как он устроен и как его прочесть. Давайте рассмотрим самый простой вариант - WAV файл.

Формат подразумевает наличие в файле двух блоков. Первый блок - это заголовка с информацией об аудиопотоке: битрейте, частоте, количестве каналов, длине файла и т.д. Второй блок состоит из «сырых» данных - того самого цифрового сигнала, набора значений амплитуд.

Логика чтения данных в этом случае довольно проста. Считываем заголовок, проверяем некоторые ограничения (отсутствие сжатия, например), сохраняем данные в специально выделенный массив.

Распознавание

Чисто теоретически, теперь мы можем сравнить (поэлементно) имеющийся у нас образец с каким-нибудь другим, текст которого нам уже известен. То есть попробовать «распознать» речь… Но лучше этого не делать:)

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

Поэтому мы пойдем несколько иным путём.

Фреймы

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

Фреймы являются более подходящей единицей анализа данных, чем конкретные значения сигнала, так как анализировать волны намного удобней на некотором промежутке, чем в конкретных точках. Расположение же фреймов “внахлёст” позволяет сгладить результаты анализа фреймов, превращая идею фреймов в некоторое “окно”, движущееся вдоль исходной функции (значений сигнала).

Опытным путём установлено, что оптимальная длина фрейма должна соответствовать промежутку в 10мс, «нахлёст» - 50%. С учётом того, что средняя длина слова (по крайней мере в моих экспериментах) составляет 500мс - такой шаг даст нам примерно 500 / (10 * 0.5) = 100 фреймов на слово.

Разбиение слов

Первой задачей, которую приходится решать при распознавании речи, является разбиение этой самой речи на отдельные слова. Для простоты предположим, что в нашем случае речь содержит в себе некоторые паузы (промежутки тишины), которые можно считать “разделителями” слов.

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

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

Как вы уже догадались, речь сейчас пойдёт о последнем пункте:) Начнём с того, что энтропия - это мера беспорядка, “мера неопределённости какого-либо опыта” (с). В нашем случае энтропия означает то, как сильно “колеблется” наш сигнал в рамках заданного фрейма.

  • предположим, что наш сигнал пронормирован и все его значения лежат в диапазоне [-1;1];
  • построим гистограмму (плотность распределения) значений сигнала фрейма:
рассчитаем энтропию, как ;

И так, мы получили значение энтропии. Но это всего лишь ещё одна характеристика фрейма, и для того, что бы отделить звук от тишины, нам по прежнему нужно её с чем-то сравнивать. В некоторых статьях рекомендуют брать порог энтропии равным среднему между её максимальным и минимальным значениями (среди всех фреймов). Однако, в моём случае такой подход не дал сколь либо хороших результатов.
К счастью, энтропия (в отличие от того же среднего квадрата значений) - величина относительно самостоятельная. Что позволило мне подобрать значение её порога в виде константы (0.1).

Тем не менее проблемы на этом не заканчиваются:(Энтропия может проседать по середине слова (на гласных), а может внезапно вскакивать из-за небольшого шума. Для того, что бы бороться с первой проблемой, приходится вводить понятие “минимально расстояния между словами” и “склеивать” близ лежачие наборы фреймов, разделённые из-за проседания. Вторая проблема решается использованием “минимальной длины слова” и отсечением всех кандидатов, не прошедших отбор (и не использованных в первом пункте).

Если же речь в принципе не является “членораздельной”, можно попробовать разбить исходный набор фреймов на определённым образом подготовленные подпоследовательности, каждая из которых будет подвергнута процедуре распознавания. Но это уже совсем другая история:)

И так, мы у нас есть набор фреймов, соответствующих определённому слову. Мы можем пойти по пути наименьшего сопротивления и в качестве численной характеристики фрейма использовать средний квадрат всех его значений (Root Mean Square). Однако, такая метрика несёт в себе крайне мало пригодной для дальнейшего анализа информации.

Вот тут в игру и вступают Мел-частотные кепстральные коэффициенты (Mel-frequency cepstral coefficients). Согласно Википедии (которая, как известно, не врёт) MFCC - это своеобразное представление энергии спектра сигнала. Плюсы его использования заключаются в следующем:

  • Используется спектр сигнала (то есть разложение по базису ортогональных [ко]синусоидальных функций), что позволяет учитывать волновую “природу” сигнала при дальнейшем анализе;
  • Спектр проецируется на специальную mel-шкалу , позволяя выделить наиболее значимые для восприятия человеком частоты;
  • Количество вычисляемых коэффициентов может быть ограничено любым значением (например, 12), что позволяет “сжать” фрейм и, как следствие, количество обрабатываемой информации;

Давайте рассмотрим процесс вычисления MFCC коэффициентов для некоторого фрейма.

Представим наш фрейм в виде вектора , где N - размер фрейма.

Разложение в ряд Фурье

Первым делом рассчитываем спектр сигнала с помощью дискретного преобразования Фурье (желательно его “быстрой” FFT реализацией).

То есть результатом будет вектор следующего вида:

Важно понимать, что после этого преобразования по оси Х мы имеем частоту (hz) сигнала, а по оси Y - магнитуду (как способ уйти от комплексных значений):

Расчёт mel-фильтров

Начнём с того, что такое mel. Опять же согласно Википедии, mel - это “психофизическая единица высоты звука”, основанная на субъективном восприятии среднестатистическими людьми. Зависит в первую очередь от частоты звука (а так же от громкости и тембра). Другими словами, эта величина, показывающая, на сколько звук определённой частоты “значим” для нас.

Преобразовать частоту в мел можно по следующей формуле (запомним её как «формула-1»):

Обратное преобразование выглядит так (запомним её как «формула-2»):

График зависимости mel / частота:

Но вернёмся к нашей задаче. Допустим у нас есть фрейм размером 256 элементов. Мы знаем (из данных об аудиоформате), что частота звука в данной фрейме 16000hz. Предположим, что человеческая речь лежит в диапазоне от hz. Количество искомых мел-коэффициентов положим M = 10 (рекомендуемое значение).

Для того, что бы разложить полученный выше спектр по mel-шкале, нам потребуется создать “гребёнку” фильтров. По сути, каждый mel-фильтр это треугольная оконная функция , которая позволяет просуммировать количество энергии на определённом диапазоне частот и тем самым получить mel-коэффициент. Зная количество мел-коэффициентов и анализируемый диапазон частот мы можем построить набор таких вот фильтров:

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

Но мы опять отвлеклись. И так для нашего случая диапазон интересующих нас частот равен . Согласно формуле-1 в на мел-шкале этот диапазон превращается в .

m[i] =

Обратите внимание, что на мел-шкале точки расположены равномерно. Переведём шкалу обратно в герцы с помощью формулы-2:

h[i] =

Как видите теперь шкала стала постепенно растягиваться, выравнивая тем самым динамику роста “значимости” на низких и высоких частотах.

Теперь нам нужно наложить полученную шкалу на спектр нашего фрейма. Как мы помним, по оси Х у нас находится частота. Длина спектра 256 - элементов, при этом в него умещается 16000hz. Решив нехитрую пропорцию можно получить следующую формулу:

f(i) = floor((frameSize+1) * h(i) / sampleRate)

Что в нашем случае эквивалентно

f(i) = 4, 8, 12, 17, 23, 31, 40, 52, 66, 82, 103, 128

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

Применение фильтров, логарифмирование энергии спектра

Применение фильтра заключается в попарном перемножении его значений со значениями спектра. Результатом этой операции является mel-коэффициент. Поскольку фильтров у нас M, коэффициентов будет столько же.

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

Косинусное преобразование

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

В данном случае используется DCTII без каких-либо домножений на (scale factor).

Теперь для каждого фрейма мы имеем набор из M mfcc-коэффициентов, которые могут быть использованы для дальнейшего анализа.

Примеры код для вышележащих методов можно найти .

Алгоритм распознавания

Вот тут, дорогой читатель, тебя и ждёт главное разочарование. В интернетах мне довелось увидеть множество высокоинтеллектуальных (и не очень) споров о том, какой же способ распознавания лучше. Кто-то ратует за Скрытые Марковские Модели, кто-то - за нейронные сети, чьи-то мысли в принципе невозможно понять:)

В любом случае немало предпочтений отдаётся именно СММ , и именно их реализацию я собираюсь добавить в свой код… в будущем:)

На данный момент, предлагаю остановится на гораздо менее эффективном, но в разы более простом способе.

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

Теперь возьмем в руки айфон/андроид и пройдёмся по L коллегам с просьбой продиктовать эти слова под запись. Далее поставим в соответствие (в какой-нибудь локальной БД или простом файле) каждому слову L наборов mfcc-коэффициентов соответствующих записей.

Это соответствие мы назовём “Модель”, а сам процесс - Machine Learning! На самом деле простое добавление новых образцов в базу имеет крайне слабую связь с машинным обучением… Но уж больно термин модный:)

Теперь наша задача сводится к подбору наиболее “близкой” модели для некоторого набора mfcc-коэффициентов (распознаваемого слова). На первый взгляд задачу можно решить довольно просто:

  • для каждой модели находим среднее (евклидово) расстояние между идентифицируемым mfcc-вектором и векторами модели;
  • выбираем в качестве верной ту модель, среднее расстояние до которой будет наименьшим;

Однако, одно и тоже слово может произносится как Андреем Малаховым, так и каким-нибудь его эстонским коллегой. Другими словами размер mfcc-вектора для одного и того же слова может быть разный.

К счастью, задача сравнения последовательностей разной длины уже решена в виде Dynamic Time Warping алгоритма. Этот алгоритм динамическо программирования прекрасно расписан как в буржуйской Wiki , так и на православном Хабре .

Единственное изменение, которое в него стоит внести - это способ нахождения дистанции. Мы должны помнить, что mfcc-вектор модели - на самом деле последовательность mfcc-“подвекторов” размерности M, полученных из фреймов. Так вот, DTW алгоритм должен находить дистанцию между последовательностями эти самых “подвекторов” размерности M. То есть в качестве значений матрицы расстояний должны использовать расстояния (евклидовы) между mfcc-“подвекторами” фреймов.

Эксперименты

У меня не было возможности проверить работу данного подхода на большой “обучающей” выборке. Результаты же тестов на выборке из 3х экземпляров для каждого слова в несинтетических условиях показали мягко говоря нелучший результат - 65% верных распознаваний.

Тем не менее моей задачей было создание максимального простого приложения для распознавания речи. Так сказать “proof of concept” :) Добавить метки

  • 9. Фонологические позиции. Сильные и слабые фонемы.
  • 10. Позиционные чередования гласных фонем. Количественная и качественная редукция гласных фонем.
  • 11. Позиционные чередования согласных фонем. Ассимиляция и диссимиляция по глухости/звонкости и по твердости/мягкости.
  • 12. Исторические чередования фонем.
  • 13. Падение редуцированных гласных фонем и последствия этого явления.
  • 14. Чередования, связанные с историей носовых звуков в древнерусском языке.
  • 15. Палатализация заднеязычных.
  • 17. Фонетическая транскрипция. Фонематическая транскрипция
  • 18. Слог. Слогораздел. Типы слогов.
  • 19. Фонетическое слово. Ударение
  • 20. Речевой такт. Интонация
  • 21. Ударение. Интонационные конструкции
  • 21. Фраза. Интонация
  • 22. Понятие об орфоэпии
  • 23. Основные правила русского литературного произношения.
  • 24. Произношение гласных под ударением. Произношение безударных гласных.
  • 25. Произношение отдельных согласных звуков.
  • 26. Произношение групп согласных.
  • 27. Произношение некоторых грамматических форм.
  • 28. Произношение некоторых аббревиатур. Особенности произношения иноязычных слов.
  • 29. Трудные случаи усвоения ударения в русском языке.
  • 30. Развитие русского литературного произношения.
  • 31. Грамматическое кодирование
  • 32. Семантическое кодирование. Двухаргументные (временные признаки): причинность.
  • 33. Семантическое кодирование. Двухаргументные (временные признаки): следствие, результат, цель.
  • 34. Семантическое кодирование. Двухаргументные (временные признаки): превращение, изменение
  • 35. Семантическое кодирование. Двухаргументные (временные признаки): взаимодействие, группировка, общность, объединение
  • 36. Семантическое кодирование. Двухаргументные (временные признаки): разделение, влияние, условие, вхождение.
  • 37. Семантическое кодирование. Двухаргументные (временные признаки): соответствие, управление, подчинение, зависимость.
  • 38. Семантическое кодирование. Одноаргументные (постоянные признаки):свойство, необходимость, возможность, вероятность, есть, нет.
  • 39. Семантическое кодирование. Одноаргументные (постоянные признаки): истинность, ложность.
  • Семантический код. Его цели. Предназначение. Принцип построения. Возможности.
  • Предназначение семантического кода. Термин «смысл».
  • Предназначение семантического кода. Текст. Информация. Гипертекст в освоении информации.
  • 43. Грамматический и семантический анализ при семантическом кодировании.
  • 44. Русский семантический словарь сочетаемости и ассоциативный словарь при семантическом кодировании.
  • Предназначение семантического кода. Системный изоморфизм.
  • Предназначение семантического кода. Принцип необходимого и достаточного.
  • Предназначение семантического кода. Связность классов и подклассов
  • 48. Предназначение семантического кода. Принцип иерархичности/ неиерархичности.
  • 49. Предназначение семантического кода. Системная метафоричность.
  • 50. Ситуативный (ситуационный) семантический код.
  • 51. Семантическое кодирование. Выравнивающе-толковательный код. Матрешный код.
  • 52. Основные задачи и ключевые понятия речевого интерфейса.
  • 53. Исторический обзор проблемы распознавания и синтеза речи.
  • 54. Системы автоматического синтеза речи. Практические приложения речевого интерфейса.
  • 55. Системы автоматического распознавания речи. Практические приложения речевого интерфейса.
  • 56. Лингвистические основы речевого интерфейса. Использование лингвистики в реализации речевых систем.
  • 57. Структура речевого сигнала. Анализ и синтез. Спектрально-временные характеристики речевого сигнала.
  • 58. Информационная и модуляционная структура речевого сигнала.
  • 59. Методы синтеза речевого сигнала. Обобщенные математические модели описания речевых сигналов.
  • 60. Методы синтеза речевого сигнала. Геометрическая модель речевого тракта.
  • 61. Методы синтеза речевого сигнала. Формантная модель.
  • 62. Компиляционные методы синтеза речевого сигнала.
  • 63. Методы анализа речевого сигнала.
  • 64. Метод цифровой фильтрации речевого сигнала. Спектральный анализ с использованием алгоритмов бпф. Метод цифровой фильтрации
  • Спектральный анализ с использованием алгоритмов бпф
  • 65. Спектральный анализ на основе линейного предсказания. Формантно-параметрическое описание речевого сигнала. Спектральный анализ на основе линейного предсказания
  • Формантно-параметрическое описание речевого сигнала
  • 66. Метод кепстральных коэффициентов. Особенности восприятия речи. Свойства рецептивного восприятия речи человеком. Метод кепстральных коэффициентов
  • 67. Свойства рецептивного восприятия речевых сигналов. Природа слуховых (фонетических) признаков речевого сигнала. Свойства рецептивного восприятия речевых сигналов
  • Природа слуховых (фонетических) признаков речевого сигнала
  • 68. Свойства восприятия минимальных смыслоразличительных элементов речи
  • 69. Синтез речи по тексту. Структура синтезатора речи по тексту.
  • Структура синтезатора речи по тексту Ключевые понятия:
  • 70. Лингвистический процессор. Предварительная обработка текста. Пофразовая обработка текста.
  • Предварительная обработка текста
  • Пофразовая обработка текста
  • 71. Пословная обработка теста. Пример работы лингвистического процессора. Пословная обработка текста
  • Пример работы лингвистического процессора
  • 72. Просодический процессор
  • 73.Фонетический процессор. Артикуляторно-фонетический процессор. Формантный фонетический процессор.
  • 74. Аллофонный фонетический процессор. Акустический процессор.
  • 75. Аппроксимация геометрии речевого такта. Акустический процессор, основанный на компиляционных методах синтеза речи.
  • 76. Классификация систем автоматического распознавания речи. Методы автоматического распознавания речи.
  • 77. Классификация методов распознавания речи.
  • 78. Метод динамического программирования.
  • 79. Метод скрытых марковских моделей.
  • Под системами автоматического распознавания речи (САРР) понимают системы, преобразующие входную речь (речевой сигнал) в распознанное сообщение. При этом распознанное сообщение может быть представлено как в форме текста этого сообщения, так и

    преобразовано сразу в форму, удобную для его дальнейшей обработки с целью формирования ответной реакции системы. Изначально перед системой автоматического распознавания речи ставится задача преобразования текста в речь. Поэтому в английской литературе эти системы называются Speech To Text System. Часто системы автоматического распознавания речи называют также просто системами распознавания речи (СРР).

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

    Под моделью анализа речевого сигнала понимают блок, в задачи которого входит анализ входного сигнала, во-первых, с целью отнесения его к числу речевых, а во-вторых, для выделения в составе полученного сигнала компонент, которые являются основными для

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

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

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

    В качестве ограничений, накладываемых на САРР, можно привести следующие характеризующие их параметры:

    Вид распознаваемой речи (пословное произношение с паузами в стиле речевых команд; четкое произношение без пауз в стиле “диктант”; спонтанная речь);

    Объём словаря (ограниченный до 100, 200 и т.д. слов; неограниченный);

    Степень зависимости от диктора (дикторозависимые; дикторонезависимые);

    Синтаксические ограничения (отдельные слова; типовые фразы; искусственный язык; естественный язык);

    Условия приёма речевых сигналов (контактные микрофоны; удаленные на расстояние более 1 м микрофоны);

    Условия применения СРР (слабые или сильные помехи);

    Надежность распознавания.

    Практические приложения речевого интерфейса

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

    1) явный недостаток клавиатуры и дисплея заключается в том, что для общения с компьютером человеку нужно пройти специальную подготовку. В то же время речь – это естественный интерфейс для любого, даже неподготовленного человека. Речь снижает в резкой степени психологическое расстояние между человеком и компьютером. Если появляется речевой интерфейс, то круг пользователей компьютером может стать неограниченным;

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

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

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

  • Титровщик телефона для глухих и слабослышащих

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

    Автоматическая транскрипция

    Вы записали интервью? Сохранить некоторое время на переписывание его, с автоматическим речи Google, к тексту, принесла в ваш браузер по Speechlogger. Воспроизведение записанного интервью в микрофон вашего компьютера (или линии) в-и пусть speechlogger сделать транскрипцию. Speechlogger сохраняет транскрипции текст вместе с датой, временем и ваши комментарии. Она также позволяет редактировать текст. Телефонных разговоров могут быть расшифрованы с помощью того же метода. Вы также можете записать аудио-файлы непосредственно с компьютера, как описано ниже.

    Автоматический устный и письменный переводчик

    Встреча с иностранными гостями? Принесите ноутбук (или два) с speechlogger и микрофона. Каждая сторона будет видеть друга произнесенные слова, переведенные на их родном языке в режиме реального времени. Это также полезно на телефонный звонок на иностранном языке, чтобы убедиться, что вы в полной мере понять другую сторону. Подключите аудиовыход вашего телефона, чтобы линейный вход вашего компьютера и начать Speechlogger.

    Изучайте иностранные языки и улучшайте навыки произношения

    Speechlogger является отличным инструментом для изучения языков и может быть использован u200b u200Bin несколько способов. Вы можете использовать его, чтобы узнать словарный запас, говоря на вашем родном языке и давая программного обеспечения перевести его. Вы можете учиться и практиковать правильное произношение, разговаривая на иностранном языке и, видя, понимает ли Speechlogger или нет. Если расшифрованы текст в черным шрифтом это означает, что вы произнес это хорошо.

    Генерирование субтитров для фильмов

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

    Диктуйте вместо ввода

    Написание письма? Документы? Списки? Резюме? Независимо от того, вам нужно ввести, попробуйте диктовать его Speechlogger вместо этого. Speechlogger будет автоматически сохранять его для вас, и позволит экспортировать его в документ.

    Забавная игра:)

    Вы можете имитировать китайскую динамик? Французский? Что о русском языке? Попробуйте имитировать иностранный язык и увидеть то, что вы только что сказали, с Speechlogger. Используйте синхронный перевод Speechlogger, чтобы понять, что вы только что сказали. Получить удивительные результаты - это очень весело!