Главная > Лабораторная работа

1

Смотреть полностью

Лабораторная работа по дисциплине «Информационные технологии»

Тема: «Создание речевого интерфейса средствами MS SAPI™ 5.1»

Цель работы

Получить представления о распознавании речи и навыки по созданию речевых интерфейсов

Приобретаемые знания

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

Приобретаемые умения

Создание речевого интерфейса, разработка простейшей грамматики распознавания, работа с Microsoft SAPI™ SDK.

Ожидаемый результат

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

Содержание

Цель работы 1

Приобретаемые знания 1

Приобретаемые умения 1

Ожидаемый результат 1

Теоретическая часть 4

Введение 4

1.Общие вопросы 4

1.1История возникновения научного направления распознавания речи 4

1.2Основные сложности разработки 6

1.3Основные понятия о человеческой речи 7

1.4Основные понятия о языке 9

1.5Основные понятия о слухе человека 13

2.Звуковое оборудование 15

2.1Аналоговый и цифровой звук 15

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

2.3Микрофон 17

3.Анализ речевых сигналов 19

3.1Осциллографический анализ 19

3.2Спектральный анализ 20

4.Методы распознавания речи 21

4.1Распознавание по образцу 22

4.2Выделение лексических элементов 22

4.3Уровни распознавания слитной речи 24

4.4Представление речи в виде набора числовых параметров 26

4.5Реализация уровня ввода и вывода в системах распознавания речи 27

4.6Применение вейвлет-преобразований 30

5.Распознавание речи в Microsoft Office XP 32

5.1Речевые возможности пакета 32

5.2Обучение системы распознавания речи 33

5.3Инструментальная панель Language Bar 35

5.4Диктовка текста 37

5.5Команды 38

Практическая часть 42

6.Microsoft SAPI™ SDK 42

7.Выполнение лабораторной работы 45

7.1Приложение Speech Interface 45

7.2Структура приложения Speech Interface 46

7.3Выполнение 49

Приложение А. Подготовка звуковой аппаратуры 51

Теоретическая часть

Введение

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

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

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

Ниже будет рассмотрен вопрос распознавания речи.

  1. Общие вопросы

    1. История возникновения научного направления распознавания речи

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

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

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

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

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

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

Звуки сплошной речи содержат постоянно изменяющийся спектр гармонических частот, а также шум. Громкость и темп речи также постоянно изменяются. Более того, одна и та же фраза, сказанная разными людьми, или даже одним человеком, находящимся в разных психических состояниях, может иметь разную спектрально-временную окраску. Это сильно затрудняет создание универсальных систем распознавания, «понимающих» речь разных людей.

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

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

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

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

Для работы в области речевых технологий необходимо иметь представление о перечисленных выше смежных специальностях. Для наглядности мы свели все эти специальности в табл. 1.1.

Таблица 1.1. Специальности, имеющие отношение к речевым технологиям

Специальность

Как и для чего используется

Радиоинженер

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

Лингвист

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

Математик

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

Программист

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

Биолог

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

Психолог

Исследования психологических аспектов, необходимые для создания речевого интерфейса программ, комфортного для человека.

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

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

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

    1. Основные сложности разработки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. Основные понятия о человеческой речи

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

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

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

Ниже приведены основные термины из области речевых технологий.

Речевой тракт человека

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

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

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

Рисунок 1.1. Речевой тракт человека

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

Рисунок 1.2. Схема прохождения воздуха при образовании голоса

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

Голосовые связки

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

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

Активные и пассивные органы речи

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

  • голосовые связки;

  • язык;

  • губы;

  • мягкое небо;

  • язычок;

  • задняя спинка зева;

  • нижняя челюсть.

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

  • зубы;

  • альвеолы;

  • твердое небо;

  • верхняя челюсть.

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

    1. Основные понятия о языке

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

Рисунок 1.3. Иерархия лингвистических уровней

На фонетическом уровне определяются такие понятия, как фонемы и аллофоны. Это «кирпичики», из которых строятся все лингвистические элементы более высокого уровня.

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

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

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

  • звонкость и глухость;

  • твердость и мягкость;

  • взрывность и фрикативность;

  • отсутствие или присутствие назальности;

  • переднеязычность и заднеязычности.

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

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

На морфологическом уровне накладываются ограничения на структуру таких лингвистических элементов, как слоги и морфемы.

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

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

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

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

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

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

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

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

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

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

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

Спектральные характеристики человеческого голоса

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

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

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

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

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

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

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

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

На рис. 1.4 четко виден формантный состав гласных «и» и «у» при произнесении последовательности этих звуков . При переходе от гласной и происходит смещение частоты форманты F2 c 2400 Гц на 784 Гц, а также одновременное ослабление формант F3 и F4.

 

Рисунок 1.4. Формантный состав гласных «и» и «у»

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

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

Рисунок 1.5. Спектр звука «х»

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

    1. Основные понятия о слухе человека

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

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

На рис. 1.6 показаны наиболее важные части человеческого уха.

Рисунок 1.6. Внутренняя структура уха

Анатомическое ухо делится на три части:

  • наружное ухо;

  • среднее ухо;

  • внутреннее ухо.

Наружное ухо состоит из ушной раковины и наружного слухового прохода.

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

Внутреннее строение среднего уха показано на рис. 1.7. Среднее ухо герметично отделено от наружного уха барабанной перепонкой.

Толщина барабанной перепонки составляет 0.1 мм.

Рисунок 1.7. Среднее ухо

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

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

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

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

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

Внутреннее ухо заполнено жидкостью. Оно состоит из двух частей: вестибулярного аппарата и улитки.

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

Рисунок 1.8. Чувствительные волоски внутри улитки

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

Частотный диапазон звуковых колебаний

Человеческое ухо воспринимает звуковые волны длиной примерно от 1,6 см до 20 м, что соответствует частотному диапазону 16-20 000 Гц. Животные могут слышать звуки более низкой или более высокой частоты.

Что же касается человеческой речи, то ее частотный диапазон 300-4000 Гц. Надо заметить, что разборчивость речи останется вполне удовлетворительной при ограничении этого диапазона до 300-2400 Гц.

Сказанное означает, что для улучшения качества распознавания речи компьютерные системы могут исключить из анализа частоты, лежащие вне диапазона 300-4000 Гц или даже вне диапазона 300-2400 Гц.

  1. Звуковое оборудование

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

Рисунок 2.1. Этапы прохождения звука

    1. Аналоговый и цифровой звук

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

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

При преобразовании аналогового сигнала в цифровое представление используются следующие операции:

Дискретизация – это определение значений непрерывного сигнала (например, аналогового) в дискретные моменты времени.

Квантование – процесс замены реальных значений сигнала приближенными с определенной точностью.

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

На рис. 2.2 показан процесс дискретизации.

Рисунок 2.2. Дискретизация аналогового сигнала

Таким образом, главными параметрами цифрового звука является частота дискретизации и количество уровней амплитуды (обозначаемое двоичной разрядностью отсчета). Частота дискретизации определяет частотный диапазон — прозрачность, звонкость звука, а разрядность отсчета — количество шумов, или «гладкость» звука.

Рисунок 2.3. Квантование сигнала

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

Кратко теорему Котельникова можно сформулировать следующим образом.

Если fmax – самый высокочастотный компонент сигнала, то, чтобы элемент выборки полностью описывал сигнал, дискретизация сигнала должна осуществляться с частотой не ниже 2 fmax:

Fs ≥ 2 fmax,

(2.1)

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

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

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

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

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

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

    1. Микрофон

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

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

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

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

Динамические микрофоны

Рисунок 2.5. Устройство динамического микрофона

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

Конденсаторные микрофоны

Рисунок 2.6. Устройство конденсаторного микрофона

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

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

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

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

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

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

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

Пока помехозащищенность систем распознавания речи еще очень и очень низка. Однако в 2003 году была опубликована спецификация стандарта ETSI DSR (Digital Speech Recognition), описывающая алгоритм борьбы с помехами при помощи математического аппарата, так называемого фильтра Винера.

  1. Анализ речевых сигналов

    1. Осциллографический анализ

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

Рисунок 3.1. Сигналограмма звука «и»

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

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

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

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

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

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

    1. Спектральный анализ

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

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

  • для баса: от 70 до 400 Гц;

  • для баритона: от 110 до 440 Гц;

  • для тенора: от 130 до 590 Гц;

  • для контральто: от 175 до 780 Гц;

  • для меццо-тинто: от 220 до 1050 Гц;

  • для сопрано: от 350 до 1320 Гц.

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

Рисунок 3.2. Частотное размещение формантных областей

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

Голос и речь человека являются предметами изучения различных наук как с позиций семантики, так и с позиций эстетики и пр. Так, например, наука, занимающаяся изучением человеческого голоса с медицинской точки зрения, называется фониатрией (от греч. «phone» — «звук», «голос» и «iatreia» — «лечение»).

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

  1. Методы распознавания речи

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

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

  • распознавание голосовых меток;

  • распознавание лексических элементов.

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

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

Все системы распознавания речи можно разделить на два класса:

  • системы, зависимые от диктора (дикторозависимые);

  • системы, не зависимые от диктора (дикторонезависимые).

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

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

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

    1. Распознавание по образцу

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

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

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

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

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

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

    1. Выделение лексических элементов

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

Предварительная обработка звуковых сигналов

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

Отфильтрованный звуковой сигнал нужно оцифровать, выполнив аналого-цифровое преобразование.

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

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

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

Выделение информативных признаков речевого сигнала

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

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

Спектральное представление речи

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

На втором этапе выполняются преобразования полученного спектра речевого сигнала:

  • логарифмическое изменение масштаба в пространстве амплитуд и частот;

  • сглаживание спектра с целью выделения его огибающей;

  • кепстральный анализ (cepstral analysis), т.е. обратное преобразование Фурье от логарифма прямого преобразования.

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

Учет динамики речи

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

При этом можно отслеживать не только изменение параметров речи, но и скорость их изменения.

Выделение фонем и аллофонов

Ранее были рассмотрены такие лексические элементы речи, как фонемы и аллофоны. Для их выделения обычно применяются нейронные сети и метод формирования нейронных ансамблей.

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

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

    1. Уровни распознавания слитной речи

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

На втором уровне выделяются слоги и морфемы, на третьем — слова, предложения и сообщения (рис. 4.1).

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

Рисунок 4.1. Три уровня распознавания слитной речи

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

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

Применение нейронных сетей для распознавания речи

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

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

  • Разработка системы заключается только в построении архитектуры системы

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

  • Возможность контроля своих действий с последующей коррекцией

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

  • Возможность накопления знаний об объектах рабочей области

Знание об объекте — это способность манипулировать его образом в памяти.

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

  • Автономность системы

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

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

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

    1. Представление речи в виде набора числовых параметров

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

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

Нейронные ансамбли

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

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

Генетические алгоритмы

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

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

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

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

    1. Реализация уровня ввода и вывода в системах распознавания речи

Схема системы распознавания и анализа речи, соответствующая уровню ввода/вывода, показана на рис. 4.2.

Рисунок 4.2. Блок-схема уровня ввода/вывода

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

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

Процесс ввода звука

На рис. 4.3 изображен процесс ввода звука в системе распознавания речи.

Рисунок 4.3. Процесс ввода звука в системе распознавания речи

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

Предварительная обработка звука

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

При обработке файла по нему перемещается окно ввода, размер которого равен N элементов — размеру окна дискретного преобразования Фурье (ДПФ). Смещение окна относительно предыдущего положения можно регулировать.  В каждом положении окна оно заполняется данными (разрядность данных зависит от количества бит, отведенных для хранения одного отсче).

После ввода данных в окно перед вычислением ДПФ на него накладывается окно сглаживания Хэмминга:

(4.1)

Здесь Data — исходный массив данных, newData — массив данных, полученный после наложения окна сглаживания, N — размер ДПФ.

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

Рисунок 4.4. Действие окна сглаживания Хэмминга (логарифмический масштаб)

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

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

Информация о фазе сигнала отбрасывается и вычисляется энергетический спектр:

(4.2)

Здесь E[i] – энергии частот.

Так как звуковые данные не содержат мнимой части, то по свойству ДПФ  результат получается симметричным, т.е. E[i] = E[N – ­­­­­­­i]. Таким образом, размер информативной части спектра NS равен N/2.

Нормирование частотного спектра

Значения параметров объектов, классифицируемых с помощью нейронных сетей, ограничены диапазоном [0.0, 1.0].

Для выполнения обработки спектра нейронной сетью полученный  спектр нормируется на 1.0. Для этого каждый компонент вектора делится на его длину:

(4.3)

(4.4)

Логарифмическое сжатие спектра

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

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

Обычно применяется наиболее распространенный и простой метод — логарифмическое сжатие, или mel-сжатие.

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

(4.5)

Здесь —частота в спектре, Гц; m — частота в новом сжатом частотном пространстве.

Рис. 4.5 иллюстрирует процесс логарифмического сжатия частотного спектра.

Рисунок 4.5. Нелинейное преобразование спектра в пространстве частот

    1. Применение вейвлет-преобразований

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

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

В современных технологиях обработки и распознавания сигналов применяются так называемые вейвлет-преобразования и вейвлет-анализ.

Термин вейвлет (wavelets) можно перевести как «маленькая волна». Вейвлеты представляют собой новый инструмент решения различных задач прикладной математики. Вейвлет-анализ, детальное знакомство с которым требует определенных познаний в математике, лишен недостатков анализа Фурье. Он позволяет достичь неплохих результатов при использовании в системах распознавания речи.

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

Что же касается вейвлет-анализа, то здесь входной сигнал раскладывается в базис функций, характеризующих как частоту, так и время. Поэтому с помощью вейвлетов можно анализировать свойства сигнала одновременно и в физическом пространстве (время, координата), и в частотном пространстве. Чтобы подчеркнуть такое обстоятельство, в зарубежной литературе Фурье-анализ называют single spectrum, а спектры, полученные на основе вейвлет-преобразований — itime-scale spectrum, или wavelet spectrum. Функции-базисы для вейвлетных преобразований конструируются на основе производных функций Гаусса.

На рис. 4.6 показаны наиболее часто используемые вейвлеты.

Рисунок 4.6. Часто используемые вейвлеты

Эти функции имеют свои названия. Они приведены в табл. 4.1.

Таблица 4.1. Часто используемые вейвлеты

Обозначение на рис. 4.6

Название

а

WAWE-вейвлет

б

MHAT-вейвлет. Получил свое название от «мексиканская шляпа, сомбреро» (Mexican Hat)

в

Morlet

г

Paul

д

LMB

е

Daubeshies

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

  1. Распознавание речи в Microsoft Office XP

Осознавая актуальность технологий распознавания и синтеза речи, компания Microsoft встроила в свои операционные системы Microsoft Windows XP и Microsoft Windows Vista специальный речевой программный интерфейс Speech API.

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

Далее будет рассмотрена американская версия пакета Microsoft Office XP.

    1. Речевые возможности пакета

Средства распознавания речи, поставляющиеся в составе Microsoft Office XP, можно использовать со всеми приложениями пакета, такими как Microsoft Word, Microsoft Excel и т.д. И хотя они не предоставляют возможности работать с этими приложениями без помощи рук, пользователь может управлять голосом такими элементами управления и объектами, как меню, инструментальные панели, диалоговые окна и панель задач. Кроме того, пользователь может диктовать текст и выдавать различные голосовые команды, например, команды форматирования текста.

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

Требования к оборудованию компьютера

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

Компьютер должен быть оснащен процессором с тактовой частотой не менее 400 МГц и оперативной памятью объемом не меньшим, чем 128 Мбайт. Кроме того, на диске компьютера должна быть установлена операционная система Microsoft Windows, а также браузер Microsoft Internet Explorer (Microsoft Windows 95 и Microsoft Internet Explorer 4.0 не поддерживаются).

Установка средств распознавания речи

Чтобы испытать в работе средства распознавания и синтеза речи, встроенные в пакет Microsoft Office XP, Вам нужно выбрать эти средства при установке пакета или добавить их позже.

На рис. 5.1 показано диалоговое окно выбора устанавливаемых компонентов пакета Microsoft Office XP американской версии. Чтобы в пакете появилась возможность работы с речью, необходимо раскрыть папку Office Shared Features, а затем раскрыть в ней папку Alternative User Input и выбрать строку Speech.

Рисунок 5.1. Установка модулей распознавания и синтеза речи

Если пакет Microsoft Office XP еже установлен без речевых компонентов, это можно сделать при помощи меню Tools любого офисного приложения, например, Microsoft Word или Microsoft Excel, выбрав из этого меню строку Speech (рис. 5.2). Средства работы с речью будут установлены и станут доступны во всех приложениях Microsoft Office XP.

Рисунок 5.2. Включение речевого ввода

    1. Обучение системы распознавания речи

Система распознавания речи, встроенная в пакет Microsoft Office XP, требует обучения на голос пользователя. После установки пакета, при первом запуске инструмента распознавания речи будет запущен мастер обучения, окно которого представлено на рис. 5.3.

Рисунок 5.3. Тренировка системы распознавания речи

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

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

Рисунок 5.4. Подготовка к тренировке

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

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

Убедившись, что условия для обучения подходящие, нужно нажать кнопку Далее для запуска процесса обучения. На экране должно появиться диалоговое окно, показанное на рис. 5.5.

Рисунок 5.5. Идет тренировка системы распознавания речи

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

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

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

    1. Инструментальная панель Language Bar

После того как речевые модули офисного пакета Microsoft Office XP установлены, в правой верхней части экрана появится окно инструментальной панели Language Bar, показанное на рис. 5.6.

Рисунок 5.6. Инструментальная панель Language Bar

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

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

Можно придать панели Language Bar компактный вид, более удобный для работы. Для этого нужно щелкнуть по окну панели правой клавишей мыши, а затем выберите из контекстного меню строку Текстовые метки. После этого инструментальная панель Language Bar примет вид, показанный на рис. 5.7.

Рисунок 5.7. Компактный вид инструментальной панели Language Bar

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

Рисунок 5.8. Меню панели Language Bar

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

Если в панели Language Bar нажать кнопку Программы (третья слева на рис. 5.7), на экране появится меню речевых программ, показанное на рис. 5.9.

Рисунок 5.9. Меню речевых программ

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

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

    1. Диктовка текста

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

Переключение режимов

Как мы уже говорили, система распознавания речи, поставляющаяся в составе Microsoft Office XP, способна работать в командном режиме и в режиме диктовки текста. Для перехода от одного режима к другому необходимо использовать соответствующие кнопки на инструментальной панели Language Bar. При активном приложении Microsoft Office в этой панели появится кнопка переключения режимов. Переключение режимов можно осуществлять и голосом. Для перехода в режим диктовки надо произнести слово dictation, а для перехода в режим команд — слова voice command. Предполагается, что ввод текста осуществляется в режиме диктовки, а его форматирование — в командном режиме.

Процесс распознавания текста

Когда диктуется текст, в окне ввода текста офисного приложения появляется полоса голубого цвета с точками, показанная на рис. 5.10.

Рисунок 5.10. Диктовка текста

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

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

Работа с элементами пользовательского интерфейса и форматирование текста

Если нужно работать с меню, диалоговыми окнами или инструментальными панелями, необходимо перейти в командный режим. Затем нужно произнести название меню, строки меню, окна или панели, и система распознавания выполнит над ними необходимую операцию. Подробная информация о форматировании текста и выполнении других голосовых команд приведена в справочной системе пакета Microsoft Office XP.

Предварительно необходимо выделить текст при помощи мыши или клавиатуры. Можно выделить фрагменты текста и голосом.

Для выделения следующего слова нужно произнести команду select next word, для выделения последнего слова в строке — команду select last word. Чтобы выделить следующую строку, требуется произнести команду select next line, а для выделения последней строки — команду select last line. Можно также выделить весь параграф, если произнести команду select paragraph.

Исправление ошибок

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

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

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

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

    1. Команды

В табл. 5.1 приведен сокращенный список команд навигации, которые можно произносить голосом в командном режиме. Более полную информацию по этому вопросу можно найти на сайте Microsoft Office XP по адресу .

Таблица 5.1. Команды навигации

Голосовая команда

Эквивалентная команда, выданная при помощи мыши или клавиатуры

End

Клавиша End

Return

Клавиша Return

Enter

Клавиша Enter

Backspace

Клавиша Backspace

Delete

Клавиша Delete

Back one word

Перемещение курсора назад на одно слово

Last word

Перемещение курсора к последнему слову

Space

Клавиша пробела

Space Bar

Клавиша пробела

Escape

Клавиша Escape

Cancel

Щелчок кнопки Cancel

Right-click

Щелчок правой клавиши мыши

Context menu

Выбор контекстного меню

Right-click menu

Щелчок правой клавишей мыши в меню

Right-click a menu

Щелчок правой клавишей мыши в меню

Tab

Клавиша табуляции

Shift Tab

Комбинация клавишb Shift и клавиши табуляции

End

Клавиша End

Go End

Клавиша End

Home

Клавиша Home

Go Home

Клавиша Home

Up

Клавиша перемещения курсора вверх

Go Up

Клавиша перемещения курсора вверх

Down

Клавиша перемещения курсора вниз

Go Down

Клавиша перемещения курсора вниз

Left

Клавиша перемещения курсора влево

Go Left

Клавиша перемещения курсора влево

Right

Клавиша перемещения курсора вправо

Go Right

Клавиша перемещения курсора вправо

Previous Page

Переход к предыдущей странице

Next Page

Переход к следующей странице

Page Down

Пролистывание одной страницы вниз

Page Up

Пролистывание одной страницы вверх

Ввод чисел

Почти в любом тексте встречаются числа. Их можно произносить как обычно, и распознанные числа появятся в тексте в виде слов или набора цифр (если число больше 20). С помощью команды force num можно включить режим, при котором все распознанные числа будут записаны в тексте в виде цифр.

Чтобы ввести дробь, такую как ½, скажите one half. Цифры телефонных и аналогичных номеров произносите по отдельности.

Ввод символов

Символы пунктуации

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

Таблица 5.2. Ввод символов пунктуации

Голосовая команда

Символ пунктуации

Period

. (точка)

Dot

. (точка)

Comma

, (запятая)

Colon

: (двоеточие)

Semi-colon

; (точка с запятой)

Question mark

? (вопросительный знак)

Exclamation point

! (восклицательный знак)

Специальные символы

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

Таблица 5.3. Ввод специальных символов

Голосовая команда

Символ

Ampersand

&

Asterisk

*

At sign

@

At

@

Backslash

\

Slash

/

Vertical bar

|

Hyphen

Перенос на другую строку

Dash

-

Double dash

--

Equals

=

Plus

+

Plus sign

+

Pound sign

#

Percent

%

Percent sign

%

Dollar sign

$

Underscore

_

Tilde

~

Ellipsis

...

Greater than

>

Less than

<

Caret

^

New line

Разрыв строки

New paragraph

Новый параграф

Quote

"; (двойная кавычка)

Open quote

« (открывающая двойная кавычка)

Close quote

» (закрывающая двойная кавычка)

Single quote

' (одинарная кавычка)

Open single quote

‘(открывающая одинарная кавычка)

Close single quote

’ (закрывающая одинарная кавычка)

Скобки

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

Для того чтобы открыть круглые скобки (), надо в режиме диктовки текста произнести команду Open parenthesis или Left paren. Круглые скобки закрываются при помощи команд Close parenthesis или Right paren.

Квадратные скобки [] открываются командами Bracket, Left bracket или Open bracket, а закрываются  — командами End bracket, Right bracket или Close bracket.

И, наконец, фигурные скобки {} открываются командами Open brace, Curly brace, Left brace, а закрываются  — командами Close brace, End curly brace, Right brace.

Практическая часть

  1. Microsoft SAPI™ SDK

В действительности понятие речевой технологии охватывает две технологии: синтезаторы и устройства распознавания (см. рис. 6.1). Речевой синтезатор в качестве входных данных использует текст, а на выходе воспроизводит звуковой поток. Речевой синтез иногда называю text-to-speech или TTS. С другой стороны, распознаватель речи выполняет противоположную операцию. Он получает на вход звуковой поток и переводит его в текстовое представление.

Рисунок 6.1. Две технологии: синтезаторы и устройства распознавания

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

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

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

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

Рисунок 6.2. Использование распознавания речи для ввода данных

Microsoft SAPI™ - это программный продукт, созданный фирмой Microsoft специально для работы с речью. SAPI - это сокращение английского словосочетания speech application programming interface, которое подразумевает, что указанный программный продукт предоставляет интерфейсные функции (в данном случае для речевого ввода и вывода) другим приложениям. Следуя своим правилам Microsoft, оформила SAPI в виде набора COM интерфейсов. Однако наличие на компьютере одного только Microsoft SAPI™ (в операционную систему Microsoft Windows XP этот компонент входит как элемент операционной системы) является необходимым, но недостаточным условием того, чтобы компьютер начал синтезировать или распознавать речь.

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

Для того чтобы просмотреть, какие движки установлены на компьютере и какие языки они поддерживают, в Microsoft SAPI 5 нужно обратиться к Панели управления (элемент «Речь» или «Speech»).

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

  • для синтеза речи по тексту (Text-To-Speech или TTS Engine);

  • для распознавания речи (Speech Recognition).

В свою очередь «движки» для распознавания речи подразделяются на:

  • для распознавания устных команд (Speech Recognition или SR Engine for PC command&control applications);

  • для диктовки текста (Speesh Recognition или SR Engine for Dictation).

Microsoft бесплатно предоставляет разработчикам «движков» свой программный продукт Microsoft SAPI™ и SAPI SDK, который представляет собой набор средств, описаний и примеров, необходимых разработчику для применения речевых технологий в своих приложениях, работающих в среде Microsoft Windows™.

Ознакомиться и получить эти программные продукты можно на сайте Microsoft. На сегодняшний день последней версией SAPI SDK является версия 5.1 (до нее были 2.0, 3.0, 4.0 и 5.0). Для версии 4.0 существуют несколько русскоязычных «движков» синтеза речи.

Как видно, Microsoft SAPI прошел уже немалый путь в своем развитии, что обусловило не только интерес сторонних разработчиков к этому программному продукту, но и способствовало появлению множества «движков», поддерживающих различные языки, и многочисленных программ, использующих речевой интерфейс для ввода и вывода информации. Среди этих программ есть и такие, которые ориентированы на нужды незрячих и слабовидящих. Следует заметить, что пользующаяся особой популярностью программа Jaws for Windows™ не нуждается в Microsoft SAPI, но может взаимодействовать с ";движками"; установленными в нем.

Что же позволяет делать SAPI SDK и кому он может быть полезен? В первую очередь разработчикам все тех же ";движков";, так как снабжает их необходимым инструментарием, позволяющим не ломать голову над совместимостью программ, а заниматься лишь улучшением качества синтеза и распознавания речи. Во-вторых, разработчикам приложений, которые используют речь, как средство общения с пользователем, так как в этом случае разработчик может не задумываться о том, как реализовать ввод и вывод речи на низком уровне (ибо это уже решено в «движках»), а целиком заняться обработкой полученных речевых данных, преобразованных в текстовый формат, или формированием текстовых сообщений, которые будут преобразованы в речь средствами SAPI. В версии SAPI 5.1 декларируется поддержка таких языков программирования, как Visual C++, Visual Basic, Microsoft C#, JScript, но поскольку SAPI реализован на базе технологии COM, то любая среда программирования, поддерживающая работу с OLE и COM приложениями, может получить доступ к Microsoft SAPI.

Далее рассмотрим непосредственно интерфейсы распознавания Microsoft SAPI.

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

Приложение может выбрать один из двух типов «движков» распознавания речи (ISpRecognizer).

Общий ресурс распознавания речи, который может быть поделен между несколькими приложениями и который рекомендуется использовать в большинстве случаев. Чтобы создать ISpRecoContext с общим ресурсом ISpRecognizer, приложению достаточно вызвать CoCreateInstance с указанием CLSID_SpSharedRecoContext. В этом случае SAPI установит параметры звукового ввода, согласно установкам по умолчанию.

Для больших серверных приложений, которые используют все ресурсы системы, не разделяя их ни с кем и для которых производительность является наиболее важным показателем, должен быть создан ISPRECOCONTEXT с InProc ISpRecognizer. Приложение должно вызвать CoCreateInstance с CLSID_SpInprocRecoInstance, чтобы создать его собственный InProc ISpRecognizer. Тогда приложение должно обратиться к ISpRecognizer:: SetInput, чтобы задать параметры звукового ввода. Наконец, приложение может вызвать ISpRecognizer:: CreateRecoContext и получить ISPRECOCONTEXT.

На следующем шаге приложение должно выбрать те события, в уведомлении о которых оно заинтересовано. Как ISpRecognizer, так и ISpEventSource, Которым в свою очередь является ISpNotifySource, приложение может вызвать один из методов ISpNotifySource для его ISpRecoContext, чтобы указать, те события, о которых ISpRecoContext должен сообщить. Для этого нужно вызвать ISpEventSource:: SetInterest, чтобы указать события, о которых надо уведомлять. Наиболее важным является SPEI_RECOGNITION, которое указывает, что ISpRecognizer распознал фрагмент речи для этого ISpRecoContext.

Информацию об остальных событиях, возникающих при распознавании речи, можно найти в описании структуры SPEVENTENUM в Microsoft SAPI SDK.

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

Сначала приложение создает ISpRecoGrammar, используя ISpRecoContext::CreateGrammar. Затем приложение загружает соответствующую грамматику, вызывая ISpRecoGrammar::LoadDictation Для диктовки или один из методов ISpRecoGrammar::LoadCmdxxx для голосового управления.

Теперь, чтобы активировать эти грамматики и приступить к распознаванию речи, приложение вызывает ISpRecoGrammar:: SetDictationState для диктовки или ISpRecoGrammar:: SetRuleState Или ISpRecoGrammar:: SetRuleIdState для голосового управления.

Когда распознавание речи уведомляет приложение о событии, то параметр lParam в структуре SPEVENT содержит ISpRecoResult, с помощью которого приложение может определить, для какого ISpRecoGrammar из какого ISpRecoContext было произведено распознавание. Это необходимо потому, что любой ISpRecognizer, общий или InProc, может быть связанным с несколькими ISpRecoContextsс, каждый из которых может уведомлять о своих событиях ISpRecoContext может иметь несколько ISpRecoGrammars, чтобы распознавать различные виды речевого ввода.

  1. Выполнение лабораторной работы

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

    1. Приложение Speech Interface

Приложение Speech Interface (SI) является простым оконным приложением Windows и реализует выполнение 3-х команд: запуск/завершение приложения Блокнот и выключение компьютера. В процессе работы SI ждёт команды пользователя, а затем выполняет её, если распознаватель определил искомую фразу, в противном случае в окно выводится сообщение о том, что система не смогла распознать произнесённую команду.

Все используемые грамматики хранятся в файле speech_interface.xml со следующей структурой:

Листинг 7.1. Структура файла грамматики

<Идентификаторы правил>

TOPLEVEL=";ACTIVE";>

Фраза1

TOPLEVEL=";ACTIVE";>

Фраза2

...

TOPLEVEL=";ACTIVE";>

ФразаN

Как видно из листинга, для определения грамматики SI в файле используются теги DEFINE и RULE. В DEFINE перечисляются идентификаторы (законченных команд или частей команд), используемых для описания грамматики. При помощи тега P в блоке RULE определяется состав правила (команды) в той форме, в которой её произносит пользователь. Атрибут TOPLEVEL со значением ACTIVE говорит о том, что данное правило – правило верхнего уровня (что такое правило верхнего уровня?) и SAPI будет сообщать о возникновении события распознавания, если пользователь произнесёт соответствующую команду. В приложении SI все правила являются правилами верхнего уровня.

    1. Структура приложения Speech Interface

Инициализация

Поскольку SAPI реализован через механизм COM, вначале необходимо выполнить соответствующую инициализацию COM.

Листинг 7.2. Инициализация COM

if ( SUCCEEDED( CoInitialize( NULL ) ) )

{

//Инициализация COM прошла успешно

CoUninitialize(); //Освобождаем ресурсы

}

Далее необходимо создать объект распознавания, с помощью которого осуществляется доступ к распознавателю.

Листинг 7.3. Создание движка распознавания

CComPtr g_cpEngine;

// создаём движок распознавания

hr=g_cpEngine.CoCreateInstance(CLSID_SpSharedRecognizer);

if ( FAILED( hr ) ) // Неудачное создание

Константа CLSID_SpSharedRecognizer задаёт разделяемый режим работы, при котором к распознавателю могут задействовать несколько приложений. Альтернатива данному режиму – CLSID_SpSharedRecognizer – режим монопольного использования распознавателя.

Затем необходимо создать контекст распознавания.

Контекст – часть словаря команд, используемая в определённой части приложения (окне, меню, диалоге). В приложении SI используется единственный контекст.

Листинг 7.4. Создание контекста распознавания

CComPtr g_cpRecoCtxt;

// Создаём контекст распознавания

hr = g_cpEngine->CreateRecoContext(&g_cpRecoCtxt );

if ( FAILED( hr ) ) // Неудачное создание

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

Листинг 7.5. Создание м загрузка грамматики

//Создаём грамматику
hr=g_cpRecoCtxt->CreateGrammar(GRAMMARID1, &g_cpCmdGrammar);
if ( FAILED( hr ) ) //Неудачное создание
//Загружаем правила
hr = g_cpCmdGrammar->LoadCmdFromResource(
NULL,
MAKEINTRESOURCEW(IDR_CMD_CFG),
L";SRGRAMMAR";,
MAKELANGID( LANG_NEUTRAL, SUBLANG_NEUTRAL), TRUE);

if ( FAILED( hr ) ) //Неудачная загрузка

Когда происходит загрузка правил грамматики в контекст распознавания, SAPI компилирует XML описание правил в двоичный формат (speech_interface.cfg) и использует его во время работы.

Настройка событий

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

Листинг 7.5. Установка сообщения

//Устанавливаем сообщение для события SAPI

hr = g_cpRecoCtxt->SetNotifyWindowMessage( hWnd, WM_RECOEVENT, 0, 0 );

if ( FAILED( hr ) ) //Неудачная установка

Из всех событий SAPI можно выбрать лишь некоторые определённые путём задания т.н. «интересов». В приложении SI используются 2 события: соответствие правилу и ошибка распознавания.

Листинг 7.6. Выбор интересов

//Задаём интересы

hr =g_cpRecoCtxt->SetInterest( SPFEI(SPEI_RECOGNITION)|SPFEI(SPEI_FALSE_RECOGNITION), SPFEI(SPEI_RECOGNITION)|SPFEI(SPEI_FALSE_RECOGNITION));

if ( FAILED( hr ) ) //Неудачный выбор

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

После задания сообщения и интересов необходимо определить обработчик сообщения WM_RECOEVENT.

Листинг 7.7. Обработка событий

case WM_RECOEVENT:

ProcessRecoEvent( hWnd );

break;

...

void ProcessRecoEvent( HWND hWnd )

{

// Класс событий

CSpEvent event;

// Обрабатываем все события в очереди

while (event.GetFrom(g_cpRecoCtxt) == S_OK)

{

// Смотрим только интересующие нас события

switch (event.eEventId)

{

case SPEI_RECOGNITION:

ExecuteCommand(event.RecoResult(), hWnd);

break;

case SPEI_FALSE_RECOGNITION:

status=ST_ERROR;

InvalidateRect(hWnd,NULL,TRUE);

break;

}

}

}

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

В обработчике сообщения определяется только факт распознавания (или ошибки распознавания), а название команды определяет подпрограмма ExecuteCommand.

Листинг 7.8. Определение команды и предварительная обработка

void ExecuteCommand(ISpPhrase *pPhrase, HWND hWnd)

{

SPPHRASE *pElements;

//Получаем элементы фразы распознанной команды

if (SUCCEEDED(pPhrase->GetPhrase(&pElements)))

{

switch ( pElements->Rule.ulId )

{

case VID_EditFile:

{

strcpy(szLastRecogn,";Edit File";);

status=ST_RECOGNIZED;

InvalidateRect(hWnd,NULL,TRUE);

PostMessage( hWnd, WM_EDITFILE, NULL, NULL );

break;

}

case VID_ShutdownComputer:

{

strcpy(szLastRecogn,";Shutdown Computer";);

status=ST_RECOGNIZED;

InvalidateRect(hWnd,NULL,TRUE);

PostMessage( hWnd, WM_SHUTDOWNCOMPUTER, NULL, NULL );

break;

}

case VID_Close:

{

strcpy(szLastRecogn,";Close";);

status=ST_RECOGNIZED;

InvalidateRect(hWnd,NULL,TRUE);

PostMessage( hWnd, WM_MYCLOSE, NULL, NULL );

break;

}

break;

}

::CoTaskMemFree(pElements); // Освобождаем ресурсы

}

}

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

    1. Выполнение

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

Составление правил грамматики (файл speech_interface.xml)

  1. Добавить в раздел DEFINE следующие идентификаторы:

  1. Добавить в раздел GRAMMAR 3 правила для команд:

Edit File

Close

Shutdown Computer

Реализация обработчиков команд

Добавить в подпрограмму PaneProc файла speech_interface.cpp следующие обработчики:

  1. для сообщения WM_EDITFILE:

Листинг 7.9. Обработчик команды «Edit File»

STARTUPINFO si;

GetStartupInfo(&si);

PROCESS_INFORMATION pi;

if(!CreateProcess(NOTEPAD_PATH,NOTEPAD_PATH,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi))

MessageBox(hWnd,";CreateProcess failed";,";Error";,MB_OK);

  1. для сообщения WM_SHUTDOWNCOMPUTER:

Листинг 7.10. Обработчик команды «Shutdown Computer»

HANDLE hToken;

TOKEN_PRIVILEGES tkp;

if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))

return 0;

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);

tkp.PrivilegeCount = 1; // one privilege to set

tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);

if (GetLastError() != ERROR_SUCCESS)

return 0;

if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))

return 0;

  1. для сообщения WM_MYCLOSE:

Листинг 7.11. Обработчик команды «Close»

hNotepad=search_window(NULL,NOTEPAD_CLASSNAME);

SendMessage(hNotepad,WM_CLOSE,0,0);

Далее необходимо добавить следующие макроопределения в файл speech_interface.h:

#define NOTEPAD_CLASSNAME

#define NOTEPAD_PATH

где - имя класса окна Блокнота, а - путь к программе Блокнот. Первый параметр можно определить при помощи утилиты Spy++.

Сборка проекта и его тестирование

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

Приложение А. Подготовка звуковой аппаратуры

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

Установка драйверов звукового адаптера

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

Если установлена операционная система Microsoft Windows 2000 Professional или Microsoft Windows XP, то, скорее всего, драйвер звукового адаптера уже имеется в системе.

Для проверки нужно открыть панель управления и запустить менеджер устройств. В операционной системе Microsoft Windows 2000 Professional для этого нужно дважды щелкнуть в папке Control Panel значок Administrative Tools, а затем повторить эту операцию для значка Computer Management. В результате на экране появиться окно программы Computer Management, показанное на рис. А.1.

Рисунок А.1. Проверка установки драйверов звукового адаптера

В левой части этого окна нужно нажать на значок Device Manager, после чего в правой части окна появится список устройств, установленных на компьютере. Необходимо раскрыть в этом списке папку Sound, video and game controllers, и найти пиктограмму с названием установленного звукового адаптера. На рис. А.1 видно, что компьютер оборудован звуковым адаптером SoundMAX, интегрированным на системной плате компьютера.

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

Программа установки драйвера должна находится на компакт-диске, который поставляется вместе со звуковым адаптером.

Подключение микрофона и наушников

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

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

Настройка чувствительности микрофона

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

Прежде всего, необходимо убедитmcz, что на системной панели задач (system tray) присутствует значок регулировки громкости Volume с изображением громкоговорителя. Такой значок показан в левой части рис. А.2.

Рисунок А.2. Значок регулировки громкости Volume

Если значка регулировки громкости на системной панели задач нет, то, скорее всего, в операционной системе не установлен драйвер звукового адаптера.

Если же значок регулировки громкости присутствует, то с его помощью можно легко получить доступ к регулировкам чувствительности микрофона. Щелкнув по этому значку дважды левой клавишей мыши, открывается доступ к регулировкам громкости Volume Control, показанным на рис. А.3.

Рисунок А.3. Диалоговое окно регулировки громкости Volume Control

По умолчанию в этом окне отображаются регулировки, имеющие отношение к устройствам вывода звука, поэтому здесь нет регулировок чувствительности микрофона. Для того чтобы получить доступ к этим регулировкам, нужно выбрать из меню Options строку Properties. В результате на экране появится одноименное диалоговое окно, показанное на рис. А.4.

Рисунок А.4. Окно Properties

В группе элементов управления Adjust volume for по умолчанию отмечен флажок Playback, в результате чего в окне Volume Control отображаются регулировки устройств вывода звука.

Необходимо отметить здесь флажок Recording, а также флажок Microphone, расположенный в списке Show the following volume controls. Сделав эти переключения, нужно нажать кнопку OK.

Теперь название и внешний вид диалогового окна изменятся (рис. А.5).

Рисунок А.5. Теперь в окне можно регулировать настройки микрофона

Окно получит название Recording Control, и в нем появится интересующая группа элементов управления Microphone.

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

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

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

Если  щелкнуть кнопку Advanced, на экране появится диалоговое окно Advanced Controls for Microphone, показанное на рис. А.6.

РисунокА.6. ДиалоговоеокноAdvanced Controls for Microphone

Состав элементов управления, расположенных в этом окне, и их доступность зависит от драйвера звукового адаптера. Для скачкообразного повышения чувствительности микрофона в некоторых случаях нужно отметить флажок MIC Boost, расположенный в диалоговом окне Advanced Controls for Microphone.

Пробная запись звука

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

Приложение SoundRecorder

Для продолжения работы по изучению звуковой системы компьютера нужно запустить приложение Sound Recorder. Чтобы это сделать, нужно нажать кнопку Start, расположенную в нижнем левом углу рабочего стола, а затем выбрать из меню папку Programs AssesoriesEntertainment. Именно там находится пиктограмма программы Sound Recorder.

После запуска на экране появится главное окно приложения Sound Recorder, показанное на рис. А.7.

Рисунок А.7. Приложение Sound Recorder

Запуск записи звука

Для того чтобы запустить запись звука, нужно нажать кнопку Record, расположенную в правом нижнем углу главного окна приложения Sound Recorder (рис. А.7). На поверхности этой кнопки нарисован кружок красного цвета.

Теперь нужно произнести несколько слов в микрофон. По мере произнесения речи, в средней части главного окна приложения Sound Recorder будет отображаться зеленая осциллограмма оцифрованного сигнала (рис. А.8).

Рисунок А.8. Осциллограмма записываемого сигнала

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

Остановка записи

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

Перемотка в начало

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

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

Воспроизведение записанного звука

Выполнив перемотку записи в начало, нужно запустить ее на воспроизведение, щелкнув кнопку Play. На этой кнопке нарисован треугольник с острием, направленным в правую сторону.

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

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

Сохранение записи на диске

Чтобы сохранить сделанную запись на диске, нужно выбрать из меню File строку Save As. В результате на экране появится окно сохранения файла записи, показанное на рис. А.9.

Рисунок А.9. Окно сохранения записи

Как видно, это почти стандартное диалоговое окно сохранения файла, к которому добавлено поле Format, а также кнопка изменения формата записи Change.

В поле Format отображается текущий формат звукового сигнала, частота преобразования аналогового сигнала при оцифровке, а также режим записи — монофонический или стереофонический.

По умолчанию используется формат импульсно-кодовой модуляции (Pulse Code Modulation, PCM). Это формат, при использовании которого в выходной файл будет записан поток чисел, несущих информацию о значениях амплитуды сигнала. Именно такие данные поступают с аналого-цифрового преобразователя.

Так как обычный микрофон представляет собой монофоническое устройство, в поле Format находится обозначение Mono.

При сохранении звукового файла на диске можно изменить его формат, щелкнув кнопку Change, расположенную в диалоговом окне сохранения (рис. А.9). В результате на экране появится диалоговое окно Sound Selection, показанное на рис. А.10.

Рисунок А.10. Окно выбора формата записи

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

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

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

Настройка параметров записи

Помимо чувствительности и громкости, программа Sound Recorder позволяет настраивать другие параметры, оказывающие влияние на качество записи, в частности, частоту дискретизации.

Нужно выбрать из меню File программы Sound Recorder строку Properties. После этого на экране появится окно настройки параметров записи, показанное на рис. А.11.

Рисунок А.11. Окно настройки параметров записи

Здесь в поле Length отображается длительность записи в секундах, в поле Data Size — размер области данных, в которой хранится звук, а в поле Audio Format — формат записи, о котором мы упоминали в предыдущем разделе.

Чтобы изменить формат записи, щелкните кнопку Convert Now. После этого на экране появится диалоговое окно выбора формата записи, показанное на рис. А.10.

В этом окне можно выбрать одну из стандартных частот дискретизации:

  • 8 000 Гц;

  • 11 025 Гц;

  • 12 000 Гц;

  • 16 000 Гц;

  • 22 050 Гц;

  • 24 000 Гц;

  • 32 000 Гц;

  • 44 100 Гц;

  • 48 000 Гц.

Как видно, частота дискретизации 8 000 Гц вполне подходит для оцифровки человеческой речи, частотный диапазон которой лежит в пределах 300-4000 Гц.

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

1 Известная также как теорема Котельникова, теорема Найквеста, теорема отсчетов.

1

Смотреть полностью


Скачать документ

Похожие документы:

  1. 8 инновационная образовательная программа 8 1 основные цели и задачи реализации инновационной образовательной программы " качество знания компетентность" 8 1 1 цель реализации инновационной образовательной программы 8 1 2 основные

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

    Программа
    ... практики является формирование у магистрантов знаний, умений и навыков, связанных с организацией ... дисциплины в ее значении для приобретаемой профессии и в контексте обучения ... дисциплины в ее значении для приобретаемой профессии и в контексте обучения ...
  3. Тема 1 ОБЩАЯ ХАРАКТЕРИСТИКА МИРА БЛОК ДОБЫВАНИЯ ЗНАНИЙ И УМЕНИЙ Задание 1

    Документ
    ... МИРОВОГО ХОЗЯЙСТВА БЛОК ДОБЫВАНИЯ ЗНАНИЙ И УМЕНИЙ Задание 1. Проанализируйте рисунок ... материалы для углубления вновь приобретаемыхзнаний. 5. Готовить рецензию на ... . Тема 8. АФРИКА БJIOK ДОБЫВАНИЯ ЗНАНИЙ И УМЕНИЙ Задание 1. Пользуясь таблицей 1 в ...
  4. Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности (3)

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

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

Другие похожие документы..