Сергей Гладков, Денис Долгуничев, Максим Синёв, Сергей Цимбалист

Клуб Голосовых Технологий, Москва (095) 932-9009

Алгоритмы сжатия речи
Продукт Voice Squeeze
Интерфейс программы JUSTalk
Послесловие

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

Программный продукт JUSTalk предназначен для телефонизации локальных и глобальных компьютерных сетей в соответствии с устремлениями клиентов не платить по тарифам международных переговоров. Существенной отличительной чертой JUSTalk является экономичность при передаче голоса, достигаемая благодаря использованию высокоэффективной компрессии речи. Коэффициент сжатия 16-битных звуковых файлов, записанных при частоте оцифровки 11 кГц, достигает 130 - 170, что соответствует потоку информации 1000 - 1500 бит/сек. JUSTalk сочетает в себе функции автоответчика и системы поиска абонента, позволяя построить упрощенную схему голосовой почты и провести быструю "телефонизацию" офиса компании. Гибкая схема работы с алгоритмами компрессии дает возможность подстроиться под работу с любыми каналами связи, находя оптимальные соотношения объем/загрузка/качество. Эта система компрессии речи доступна в России в виде отдельного продукта VoiceSqueeze. Для создания прикладных систем имеется инструментарий разработчика, позволяющий включать в программы компрессиею речи.

Алгоритмы сжатия речи

Общепринятое представление речевого сигнала в формате PCM (импульсно-кодовой модуляции) изначально содержит в себе много избыточной информации. Устранение этой избыточности с целью более экономного представления человеческой речи в компьютере является основной задачей всех методов сжатия речевого сигнала. Существует три класса методов сжатия. Первый включает алгоритмы, использующие некоторые свойства звуковых сигналов вообще и речевых в частности: а-LAW, ч-LAW, ADPCM. Они позволяют сжимать любой звуковой сигнал от 3-х до 5-ти раз при практически полном сохранении качества. Второй класс методов использует свойства собственно речевых сигналов - это CELP, VSELP, GSM и MPLPC. Они обеспечивают уровень сжатия от 10 до 20 раз, теряя при этом в той или иной мере качество исходного речевого PCM сигнала. Третий класс методов основывается на математическом моделировании работы органов речи человека и именно такие методы применяются в программе JUSTalk.

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

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

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

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

Продукт Voice Squeeze

Высокоэффективная компрессия речи существует также в виде отдельного программного продукта VoiceSqueeze, работающего под управлением Windows 3.XX, 95 и NT. Система позволяет записать фрагмент речи любой длительности - единственным ограничением является емкость диска - преобразовать или сжать его и сохранить либо в исходном (PCM WAVE), либо в сжатом (PRGLPC WAVE) форматах. Стандартный многооконный интерфейс позволяет обрабатывать одновременно несколько речевых фрагментов, причем процессы сжатия (анализа) и распаковки (синтеза) могут выполняться в фоновом режиме, что позволяет работать с другими фрагментами речевого сигнала или с другими программами.

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

Интерфейс программы JUSTalk

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

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

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

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

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

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

Послесловие

Работа проводилась в Клубе Голосовых Технологий, объединяющем ряд компаний и независимых разработчиков. Основная задача Клуба - подготовка и запуск проектов как для массового рынка, так и для "вертикального". Развитие Клуба осуществляется благодаря электронным коммуникациям со своими пользователями (которых сейчас около 7 тыс.), получая от них ценную обратную связь в виде пожеланий, предложений, замеченных ошибок и т.д. Связь осуществляется через электронную доску объявлений PC Voice Club - (095)932-9028.

Некоторые технические характеристики VoiceSqueeze:

Форматы файлов

    с исходной речью - PCM

WAVE формат (*.wav),

    со сжатой речью - PRGLPC

WAVE формат (*.vcd).

Характеристики сжатия речи

  • Класс сжимаемых сигналов - только человеческая речь.
  • Частота дискретизации сигнала - 8000, 11025, 16000, 22050, 24000, 33075, 32000, 44100 Гц.
  • Разрядность отсчета сигнала - 8,16 Бит.
  • Полоса частот передачи формант: 4 КГц - для частот дискретизации 8000, 16000, 24000, 32000 Гц, 5 КГц - для частот дискретизации 11025, 22050, 33075, 44100 Гц.
  • Средняя степень сжатия - 130 раз (16 бит, 11 кГц)
  • Уровень словесной разборчивости - не хуже 98%.
  • Производительность: при использовании процессора 486DX4/100 компрессия и декомпрессия осуществляются в реальном времени.

Характеристики преобразования:

  • скорость произношения.
  • громкость звучания.
  • высота голоса.
  • степень монотонности.
  • степень охриплости.

Поделитесь материалом с коллегами и друзьями