Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых
[Назад] [Содержание] [Дальше]

Синтез и распознавание речи. Современные решения

© А.В. Фролов, Г.В. Фролов, 2003



Преобразование звука в поток чисел

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

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

Микрофон

Как мы уже говорили в предыдущей главе, звук представляет собой ни что иное, как колебания воздуха, частота которых лежит в диапазоне частот, воспринимаемых человеком. У разных людей точные границы диапазона слышимых частот могут изменяться, однако считается, что звуковые колебания лежат в диапазоне 16-20 000 Гц.

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

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

Можно также разделить микрофоны по назначению. Есть студийные микрофоны, которые можно держать в руке или закрепить на подставке, есть радиомикрофоны, которые можно закрепить на одежде, и так далее.

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

Рис. 2-1. Головные телефоны с микрофоном

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

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

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

В чем тут проблема?

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

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

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

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

Аналого-цифровой преобразователь

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

Осциллограмма звукового сигнала

На рис. 2-2 мы показали осциллограмму звукового сигнала, получившуюся при произнесении долгого звука а. Эта осциллограмма была получена с помощью программы GoldWave, о которой мы еще расскажем в этой главе книги, а также с помощью звукового адаптера Sound Blaster и микрофона, аналогичного показанному на рис. 2-1.

Рис. 2-2. Осциллограмма звукового сигнала

Программа GoldWave позволяет растягивать осциллограмму по оси времени, что позволяет разглядеть мельчайшие детали. На рис. 2-3 мы показали растянутый фрагмент упомянутой выше осциллограммы звука а.

Рис. 2-3. Фрагмент осциллограммы звукового сигнала

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

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

Аналоговый и цифровой сигнал

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

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

Оцифровка звукового (и любого аналогового) сигнала выполняется с помощью специального устройства, называемого аналогово-цифровой преобразователь АЦП (Analog to Digital Converter, ADC). Это устройство находится на плате звукового адаптера и представляет собой обычную с вида микросхему.

Как работает аналогово-цифровой преобразователь?

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

Рис. 2-4. Измерения зависимости амплитуды сигнала от времени

На рис. 2-5 мы показали подключение аналого-цифрового преобразователя к микрофону. При этом на вход x1 подается аналоговый сигнал, а с выходов u1-un снимается цифровой сигнал.

Рис. 2-5. Аналого-цифровой преобразователь

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

Выбор частоты преобразования

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

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

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

К счастью, правильный выбор частоты преобразования (частоты дискретизации) сделать достаточно просто. Для этого достаточно обратиться к теореме Котельникова, известной специалистам в области цифровой обработки сигналов. Теорема гласит, что частота преобразования должна быть в два раза выше максимальной частоты спектра преобразуемого сигнала. Следовательно, для оцифровки без потери качества звукового сигнала, частота которого лежит в диапазоне 16-20 000 Гц, нужно выбрать частоту преобразования, не меньшую, чем 40 000 Гц.

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

А какая частота преобразования нужна для оцифровки звука человеческой речи?

Так как звуки человеческой речи лежать в диапазоне частот 300-4000 Гц, то минимально необходимая частота преобразования составляет 8000 Гц. Однако многие компьютерные программы распознавания речи используют стандартную для обычных звуковых адаптеров частоту преобразования 44 000 Гц. С одной стороны, такая частота преобразования не приводит к чрезмерному увеличению потока цифровых данных, а другой — обеспечивает оцифровку речи с достаточным качеством.

Выбор количества уровней квантования

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

Аналого-цифровой преобразователь представляет входной аналоговый сигнал в виде потока чисел ограниченной разрядности. Обычные звуковые адаптеры содержат 16-разрядные блоки АЦП, способные представлять амплитуду входного сигнала в виде 216=65536 различных значений. Устройства АЦП в звуковой аппаратуре высокого класса могут быть 20-разрядными, обеспечивая большую точность представления амплитуды звукового сигнала.

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

Фильтрация звукового сигнала

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

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

Расскажем обо всем этом по порядку.

Применение частотных фильтров

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

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

Частотные фильтры бывают разные:

·         фильтры нижних частот;

·         фильтры верхних частот;

·         пропускающие полосовые фильтры;

·         заграждающие полосовые фильтры.

Фильтры нижних частот  (low-pass filter) удаляют из спектра входного сигнала все частоты, значения которых находятся ниже некоторой пороговой частоты, зависящей от настройки фильтра.

Так как звуковые сигналы лежат в диапазоне 16-20 000 Гц, то все частоты меньше 16 Гц можно отрезать без ухудшения качества звука. Для распознавания речи важен частотный диапазон 300-4000 Гц, поэтому можно вырезать частоты ниже 300 Гц. При этом из входного сигнала будут вырезаны все помехи, частотный спектр которых лежит ниже 300 Гц, и они не будут мешать процессу распознавания речи.

Аналогично, фильтры верхних частот  (high-pass filter) вырезают из спектра входного сигнала все частоты выше некоторой пороговой частоты.

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

Пропускающий полосовой фильтр (band-pass filter) можно представить себе в виде комбинации фильтра нижних и верхних частот. Такой фильтр задерживает все частоты, ниже так называемой нижней частоты пропускания, а также выше верхней частоты пропускания.

Таким образом, для системы распознавания речи удобен пропускающий полосовой фильтр, который задерживает все частоты, кроме частот диапазона 300-4000 Гц.

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

На рис. 2-6 мы показали подключение пропускающего полосового фильтра.

Рис. 2-6. Фильтрация звукового сигнала перед оцифровкой

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

А как добиться более узкой полосы пропускания 300-4000 Гц, соответствующей наиболее информативной части спектра человеческой речи?

Конечно, если у Вас есть склонности к конструированию радиоэлектронной аппаратуры, Вы можете сделать свой фильтр из микросхемы операционного усилителя, резисторов и конденсаторов [9]. Примерно так и поступали первые создатели систем распознавания речи.

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

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

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

Сжатие динамического диапазона звукового сигнала

Рассказывая об аналогово-цифровом преобразователе, мы отметили такую его важную характеристику, как количество уровней квантования. Если в звуковом адаптере установлен 16-разрядный аналого-цифровой преобразователь, то после оцифровки уровни звукового сигнала могут быть представлены в виде 216=65536 различных значений.

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

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

Это иллюстрируется графиком зависимости амплитуда выходного сигнала от амплитуды входного сигнала, показанным на рис. 2-7.

Рис. 2-7. Нелинейное усиление перед оцифровкой

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

Чем все это может помочь создателям систем распознавания речи?

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

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

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

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

[Назад] [Содержание] [Дальше]