Тема магистерской работы:
Библиотека
Источник: Лекция "Цифровая обработка речевых сигналов. Часть 2. Параметрическое кодирование речи (вокодеры)".
Сайт: http://aprodeus.narod.ru/teaching.htm
Параметрическое кодирование речи (вокодеры)
1. Введение
Вокодеры – это системы параметрического кодирования речи, широко применяемые в современной цифровой телефонной связи, в том числе – Internet-телефонии [1,2]. Причиной тому – высокая степень сжатия информации, а также хорошая согласованность вокодеров с системами канального кодирования и шифрования, в результате чего сравнительно легко обеспечивается высокая защищенность систем связи от помех и утечки информации. Недостатком вокодеров является невысокое качество речи, поэтому они применяются главным образом в военной связи, где главное – не натуральность речи, а ее высокая степень сжатия и хорошая разборчивость. В коммерческих системах связи, где ценится натуральность звучания речи, обычно применяют полувокодеры (гибридные вокодеры), сочетающие принципы непараметрического и параметрического методов кодирования. Иные области применения вокодеров – автоматизированная стенография, озвучивание текста, человеко-машинный диалог, биометрия (идентификация диктора) [3].
Знакомясь с современным состоянием вокодерных технологий по литературным источникам и ресурсам Internet [4-8], можно видеть, что помимо программных и программно-аппаратных разработок вокодеров для промышленного, военного и бытового применения, существует еще несколько интересных и перспективных направлений:
Перспективность этих направлений, по нашему мнению, состоит в возможности их объединения с целью создания соответствующих практикумов. Элементы таких практикумов уже сегодня можно встретить на страницах Internet, однако эта информацию разрозненна, неполна, и изложена преимущественно на английском языке.
В данной лекции мы рассмотрим несколько простейших программных модулей для среды Matlab, позволяющих как бы «изнутри» взглянуть на базовые принципы и алгоритмы параметрического кодирования речевых сигналов.
2. Кратко о видах вокодеров
Первый вокодер, полосный, был предложен в 1939 году Гомером Дадли [9]. Анализатор и синтезатор этого вокодера содержали гребенки полосовых фильтров, с помощью которых осуществлялось моделирование резонансных свойств речевого тракта человека. С развитием средств цифровой вычислительной техники полосные вокодеры стало удобным реализовывать на базе алгоритма быстрого преобразования Фурье (БПФ). Впоследствии были разработаны иные типы цифровых вокодеров, моделирующих резонансные свойства речевого тракта – гомоморфные, с линейным предсказанием, формантные [10,11].
В 1966 Фланаганом и Голденом [12] предложен иной тип вокодеров - фазовые вокодеры, в которых речевой сигнал аппроксимируют суммой узкополосных процессов, представляемых в виде гармоник, модулированных по амплитуде и частоте. Таким образом, в фазовых вокодерах реализуется идея «разделения» временных и спектральных свойств сигнала: информация о временных свойствах сигнала содержится в модулирующих сигналах в виде переменной амплитуды и фазы, а информация о частотных свойствах содержится в модулируемых сигналах, генерируемых осцилляторами [13]. Фазовые вокодеры позволяют сравнительно легко реализовывать такие эффекты как изменение темпа или высоты речевого сигнала.
В речеэлементных вокодерах [10,11], в отличие от двух предыдущих групп вокодеров, на этапе анализа осуществляется распознавание звуков речи. Это наиболее сложный в техническом отношении тип вокодеров, поскольку одни и те же слова и звуки разными людьми произносятся по-разному. Вместе с тем, такие вокодеры весьма перспективны, позволяя, в принципе, автоматически преобразовывать речь в текст и наоборот, текст - в речь. Одна из наиболее глубоко проработанных технологий такого рода – технология Microsoft Agent [14], элементы которой знакомы практически всем пользователям среды Microsoft Office.
3. Вокодер как цифровая модель речевого тракта
Ядром вокодера, - цифровой модели речевого тракта, - является цифровой фильтр с переменными параметрами, АЧХ которого изменяется во времени, отражая изменение резонансных свойствах речевого тракта. В анализаторе вокодера измеряются характеристики этого фильтра, а в синтезаторе фильтр воссоздается по результатам этих измерений (рис.1).
Рис.1. Обобщенная структурная схема полосного вокодера
Рис.2. Структура программных модулей анализатора и синтезатора
Кроме того, в анализаторе определяется, какой звук имеет место в данный момент времени – гласный или согласный, а также измеряется частота основного тона гласного звука. В синтезаторе на основе этой информации формируется возбуждающий сигнал: для согласных звуков это шум, для гласных – периодическая последовательность импульсов с периодом, равным периоду основного тона. Структура программных модулей анализатора и синтезатора приведена на рис.2.
Подчеркнем, что решающую роль в разборчивости синтезированного речевого сигнала играет информация о резонансных свойствах речевого тракта. Так, возбуждая фильтр синтезатора только шумом либо только периодической последовательностью импульсов, можно получить вполне разборчивую речь. Отличие лишь в том, что в первом случае мы услышим шепот, во втором - «голос робота».
3. Анализ: измерение параметров фильтра
Рассмотрим несколько конкретных примеров измерения параметров фильтра в полосных и гомоморфных вокодерах, а также в вокодерах с линейным предсказанием (липредерах). При этом учтем, что интервал стационарности речевого сигнала близок величине 10-30 мс [10].
Полосной вокодер. Измерения АЧХ фильтра с переменными параметрами в полосном вокодере удобно производить, используя кратковременный спектральный анализ и алгоритм БПФ. В приведенном ниже примере речевой сигнал нарезается на неперекрывающиеся сегменты протяженностью 128 выборок (11.6 мс при частоте дискретизации Fs=11025 Гц), для каждого сегмента вычисляется непараметрическая оценка спектра мощности (периодограмма). Спектры смежных сегментов попарно усредняются, в результате чего получается спектрограмма с разрешением по времени 23.2 мс и разрешением по частоте примерно 100 Гц (рис.3).
Листинг соответствующей программы имеет следующий вид:
% ============= analys_bandvoc.m ===================
% Полосный вокодер - анализ АЧХ голосового тракта
% x - анализируемый (речевой) сигнал
% nfft - параметр БПФ
% fs - частота дискретизации
% window - окно
% numoverlap - величина перекрытиЯ окон
% Bamp - спектрограмма
% ==================================================
% === задание параметров обработки ===
nfft = 128; fs = 11025;
window = rectwin(nfft); numoverlap = 0;
% ==== вычислениеспектрограммы =====
[B,f,t] = specgram(x,nfft,fs,window,numoverlap);
Bamp = abs(B);
% ==== усреднение двух смежных спектров =====
it=1; It=size(Bamp,2);
while it < round(It/2)
Bamp2(:,it)=0.5*(Bamp(:,it*2-1)+Bamp(:,it*2));
it=it+1;
end
% ==== график АЧХ фильтра-резонатора =====
figure; imagesc(t,f,20*log10(Bamp2)), axis xy, colormap(jet);
xlabel('ВремЯ, с'); ylabel('Частота, Гц'); title('Спектрограмма-2');
Рис.3. Исходный речевой сигнал и его спектрограмма
...
© ДонНТУ, Снисарь Николай Александрович, 2008