Синтез речи на основе методов цифрового моделирования голосового тракта
В синтезаторах речи, построенных по этим методам, создается словарь с участием диктора, как в ранее рассмотренном ИКМ методе синтеза речи. Но в запоминающее устройство не записываются непосредственно оцифрованные слова и фразы, а производится выделение определенных параметров речи (т.е. происходит как бы усечение модели голосового тракта человека). Такой подход позволяет значительно уменьшить объем памяти, необходимый для получения речевого вывода информации. В этом одно из главных достоинств этого метода синтеза речи. Можно сказать, что здесь осуществляется сжатие исходного речевого сигнала.
Дельта-модуляция речевого сигнала. Рассмотренный ранее пример преобразования речи в цифровой код с последующим декодированием не единственно возможный способ реализации данного метода синтеза речи. На практике используются другие способы, позволяющие более эффективно преобразовывать речь в цифровой код и хранить сигналы.
Один из таких способов, получивший широкое распространение в телефонии, а затем и в синтезаторах речи, называется дельта-модуляцией. Основное его отличие от рассмотренного ранее, заключается в том, что он основан на относительных изменениях амплитуды, а не на ее абсолютных величинах.
Ясно, что если мы будем хранить не абсолютное значение каждой выборки, а относительное изменение сигнала между соседними выборками, то получим значительную экономию используемой памяти ЭВМ.
Рассмотрим одну из возможных схем дельта-модулятора, приведенную на рис. 8.5.
Рис. 8.5 - Функциональная схема дельта-модулятора
Речевой сигнал, принятый микрофоном, фильтруется ФНЧ и усиливается УНЧ аналогично рассмотренному ранее случаю с ИКМ-модуляцией. Затем сигнал подвергается дельта-модуляции. Для этого в схему включен компаратор и аналоговый интегратор, образующие контур обратной связи. В этот контур входит также триггер D-типа, синхронизирующий дельта-компоненту сигнала (изменение наклона) с тактовой частотой fкв аналого-цифрового преобразователя.
Сигналы, указывающие работу схемы дельта-модулятора, показаны на рис. 8.6.
Входной сигнал (верхний график) представляет собой колебание, где участки нарастания и спада чередуются с участками относительного постоянства сигнала.
Сигналы с прямого и инверсного выходов D-триггера, простробированные с частотой fкв схемами И, показаны на рис. 8.6 графиками А и В. Эти сигналы неизменной амплитуды поступают на схему интегратора, создавая на его выходе сигнал С. Изменения сигнала отсчитываются в каждый из периодов выборки. Если входной сигнал продолжает нарастать, то о его увеличении свидетельствуют импульсы в точке А схемы. Импульсы же в точке В указывают на уменьшение входного сигнала. В те интервалы времени, когда величина входного сигнала остается неизменной, дельта-модулятор начинает генерировать поочередно импульсы А и В.
Рис. 8.6 - Сигналы при кодировании методом дельта-модуляции
Выходной сигнал в точке С - это результат сравнения сигнала обратной связи с сигналом на входе интегратора.
На нижнем графике рис. 8.6 показан цифровой сигнал, который дельта-модулятор подает в ЭВМ. Этот двухуровневый сигнал записывается в память ЭВМ с той же самой частотой fкв, которая использовалась в схеме кодирования с дельта-модуляцией (рис. 8.5).
Для воспроизведения речи, записанной в цифровом виде с применением дельта-модуляции, используется простая схема, приведенная на рис. 8.7.
Рис. 8.7 - Схема воспроизведения звукового сигнала, сжатого методом дельта-модуляции
На вход интегратора поступает двухуровневый логический сигнал. Частота изменения уровней равна частоте выборок fкв.
Постоянную времени интегратора RC выбирают так, чтобы она соответствовала продолжительности интегрирования в схеме выборок.
Если на вход интегратора поступает логическая единица, то интегратор дает кривую постоянного наклона одного знака. Когда же на вход поступает логический нуль, наклон кривой выходного напряжения интегратора меняет знак. В результате получается сигнал такого типа, как показано на рис. 8.8.
Степень искажений, создаваемых в процессе дельта-модуляции, обычно определяется одним из видов искажений при кодировании - так называемой перегрузкой по крутизне. Если крутизна входного сигнала меняется быстрее, чем могут проследить интеграторы, то выходной сигнал просто «не успевает» за изменениями входного. Эту типичную для дельта-модуляции трудность можно преодолеть, применив модификацию этого вида модуляции, называемой адаптивной импульсно-кодовой дельта модуляцией (АИКДМ).
Рис. 8.8 - График воспроизведения речи, закодированной методом дельта-модуляции
Различие заключается в том, что система АИКДМ хранит в своей памяти не только направление изменения крутизны с момента последней выборки, но и величину этого изменения с того же момента (4 бита вместо одного). Это позволяет сохранить все преимущества предыдущей системы и одновременно исключить проблему перегрузки по крутизне. К тому же в АИКДМ согласуют период квантования с характером изменения сигнала: при медленных изменениях сигнала квантование производится реже. Это снижает шумы квантования и позволяет сжать описание сигнала до 16 тыс. бит/с. Дельта-модуляция сжимает информацию, необходимую для цифровой записи речи, до 32 тыс. бит/с.
Клиппирование сигнала. Одно из направлений кодирования формы сигнала для целей синтеза речи основано на представлении полуволны речевых колебаний некоторой упрощенной формой, например прямоугольником, трапецией и т.п.
Прямоугольная аппроксимация известна давно под названием клиппирование сигнала (предельное усиление с ограничением).
Такая речь не очень разборчива, имеет специфическое звучание, но реализуется предельно просто. Если обработка идет, например, в полосе частот до 4 кГц, то необходимо использовать двухуровневый АЦП и брать отсчеты с частотой 8 кГц. Описание будет содержать 8 000 бит/с.
Другой вариант предлагает изменение интервалов между нуль-пересечениями сигналов оси абсцисс. Данный метод может быть усовершенствован, если прямоугольную форму при синтезе превратить в полусинусоиду с постоянной амплитудой. Затраты информации при таком кодировании составляют 6-10 Кбит/с. Предельное сжатие речевого сигнала при клиппировании достигает 2400 бит/с.