Оглавление.

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

1. Программирование звука в Windows.

2. Основы цифровой обработки звуковых сигналов.

3. Определение параметров речевого сигнала.

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

5. Использование Microsoft Speech API 5.1 для синтеза и распознавания речи.

6. Использование Microsoft Speech API 4.0 для синтеза речи.

Ссылки.

Об авторе.

Компьютерное распознавание и порождение речи

Глава 1. Программирование звука в Windows.

Назад В начало главы Дальше

1.2.Интерфейс низкого уровня.

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

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

Звук представляет собой колебания воздуха или другой проводящей среды (например, воды) с частотой от 70 Гц (колебаний в секунду) до 7КГц (7000 колебаний в секунду). Звук поступает на внешнее устройство ввода ( в нашем случае на микрофон) и преобразуется в электромагнитные колебания этой же частоты, которые и передаются на вход звуковой карты, а именно в микшер, который служит для регулировки уровней различных источников, и оттуда в АЦП. АЦП служит для преобразования аналогового (то есть непрерывного), каковым и является наш сигнал, в дискретную (то есть состоящую из отдельных значений) последовательность мгновенных значений амплитуды, называемых отсчетами. Частота, с которой АЦП генерирует отсчеты называется частотой дискретизации. Для представления аналогового сигнала частоты f требуется как минимум частота дискретизации 2*f. Таким образом, для представления звукового сигнала требуется как минимум частота дискретизации 14000 отсчетов в секунду.

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

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

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

Минимальной единицей звукового потока является блок. Размер звукового буфера программы должен быть кратен размеру блока. В PCM блоком считается совокупность отсчетов, передаваемых за один период частоты дискретизации, то есть один отсчет для монофонического звука и два для стереофонического. 8-разрядные отсчеты представляются в виде беззнаковых целых чисел, то есть принимают значения от 0 по 255, причем чтобы передавать отрицательные значения, считают, что 128 в 8-значном PCM- формате соответствует нулевому уровню амплитуды. Таким образом для пересчета этого кода в знаковую форму, передающую значения от -128 до +127, нужно из PCM-кода отнять 128. Отсчеты с разрядностью больше 8 представляются в виде целых чисел со знаком и с нисми можно работать как с обычными целыми числами типа short (для 16-разрядных) или long (для 32-разрядных).

Каков алгоритм взаимодействия программы со звуковой подсистемой?


Распознавание речи. Обработка текстов на естественном языке.
Hosted by uCoz