Аллофонизация гласной фонемы «О» в стороннем окружении ЛОК и МОМЬ

МИНОБРНАУКИ РОССИИ

Федеральное государственное  бюджетное образовательное учреждение

высшего профессионального  образования

«Московский государственный  технический университет радиотехники, электроники и автоматики»

МГТУ МИРЭА


Факультет информационных технологий (ИТ)

«наименование факультета»


Кафедра базовая автоматизированных систем организационного управления (АСОУ) №239 МГТУ МИРЭА при ФГУП НИИ «Восход»

«наименование кафедры»


 

КУРСОВАЯ РАБОТА

по дисциплине

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

<Наименование дисциплины>

 

Тема курсовой работы:                                                                                 «Аллофонизация гласной фонемы «О» в стороннем окружении ЛОК и МОМЬ»

<Название темы курсовой  работы/проекта>

 

Студент группы ___ ___

   

                 <код группы>

<подпись студента>

 

<ФИО студента>

Руководитель курсовой работы

   

 

доцент, к.т.н.

     

<должность, звание, уч.степень>

       
 

<подпись руководителя>

 

< ФИО руководителя >

Рецензент (при наличии)

     
     

<должность, звание, уч.степень>

       
 

<подпись рецензента>

 

< ФИО рецензента >

       
       

Работа представлена к защите

«___»________201_ г.

   
     

<подпись студента>

«Допущен к  защите»

«___»________201_ г.

   
     

<подпись руководителя>


 

 

 

 

 

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное  образовательное учреждение

высшего профессионального образования

«Московский государственный  технический университет радиотехники, электроники и автоматики»

МГТУ МИРЭА


Факультет информационных технологий (ИТ)

«наименование факультета»


Кафедра базовая автоматизированных систем организационного управления (АСОУ) №239 МГТУ МИРЭА при ФГУП НИИ «Восход»

«наименование кафедры»


 

 

УТВЕРЖДАЮ

Заведующий

кафедрой _________________ Л.Ю. Бородинов

«____» ___________________ 201__г.


 

ЗАДАНИЕ

на выполнение курсовой работы

по дисциплине

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

 

«Название дисциплины»


 

Студент

 

Группа

 
       

1. Тема курсовой работы

«Аллофонизация гласной фонемы «О» в стороннем окружении ЛОК и МОМЬ»

2. Исходные данные

  • оцифрованные сигналы триад ЛОК.wav и МОМЬ.wav

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

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

 

     4. Срок представления к защите курсовой работы: до « 16 » мая  2013 г.

 

Задание на курсовой проект (работу) выдал

 

«___»_______201_ г.

       
     

<подпись руководителя проекта>

 

<Ф.И.О. руководителя проекта>

Задание на курсовой проект (работу) получил

 

«___»_______201_ г.

       
     

<подпись студента-исполнителя проекта>

 

<Ф.И.О. студента-исполнителя  проекта>


 

 

5. Мониторинг процесса  выполнения курсовой работы

 

 

э

т

апа

Наименование этапа курсовой работы

Этап курсового проекта, работы выполнил и представил результаты руководителю курсовой работы

дата и подпись исполнителя

Работу по этапу курсовой работы принял на рассмотрение,

дата и подпись руководителя

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

дата и подпись руководителя

Оценка выполнения этапа курсовой работы 
(в соответствии с балльно-рейтинговой системой)

Комментарии 
руководителя курсовой работы

1

Разработка задания на КП

10.04.2013

11.04.2013

     

2

Обоснование актуальности задачи

12.04.2013

16.04.2013

     

3

Ввод и визуализация сигналов во временной области

17.04.2013

18.04.2013

     

4

Сегментация триад, на предмет выделения фонем образованных тоном

19.04.2013

23. 04.2013

     

5

Синхронизация с периодом основного тона          ( только для фонем образованных тоном)

24.04.2013

25.04.2013

     

6

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

26.04.2013

29.04.2013

     

7

Построение и визуализация сонограммы

30.04.2013

06.05.2013

     

8

Анализ формантных треков на предмет аллофонизации гласной фонемы

07.05.2013

13.05.2013

     

9

Визуализация стилизованных формантных треков

14.05.2013

15.05.2013

     

 

 

ЛИСТ ЗАМЕЧАНИЙ

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

Содержание

Перечень условных обозначений и сокращений 5

ВВЕДЕНИЕ 6

1. Основная часть 7

1.1. Обоснование актуальности задачи 7

1.2. Блок-схема алгоритма обработки сигнала 8

1.3.     Сегментация речевого сигнала 9

1.4. Синхронизация периода основного тона 10

1.5. Преобразование амплитуддно-временной формы сигнала в спектрально-временную. 12

1.6. Построение сонограммы 13

1.7. Анализ формантных треков аллофонизированной  гласной фонемы 14

ЗАКЛЮЧЕНИЕ 16

Список литературы 17

Приложение 1 - Исходные тексты программ 18

 

Перечень  условных обозначений и сокращений

 

БПФ – быстрое преобразование Фурье

ДПФ – дискретное преобразование Фурье 

ЭВМ - электронная вычислительная машина

ПОТ - периода основного тона  

ВВЕДЕНИЕ

 

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

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

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

 

 

 

 

 

 

  1. Основная часть 

    1. Обоснование актуальности задачи 

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

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

В данной работе был разработан алгоритм (Рис. 1), направленный на вскрытие аллофонизации фонемы «О» в стороннем окружении «Лок» и «Момь».

 

 

    1. Блок-схема алгоритма обработки сигнала

Для изучения аллофонизации фонемы «О» в стороннем окружении  триад «Лок» и «Момь», был разработан алгоритм обработки сигнала (Рис. 1), который впоследствии был реализован в программном коде, с помощью возможностей пакета MatLab.

Рисунок 1. Блок-схема алгоритма программы

 

    1. Сегментация речевого сигнала 

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

В данном курсовом проекте были предоставлены звуковые сигналы триад «Лок» и «Момь», в формате WAV. С использованием функции plot была осуществлена визуализация входных сигналов (Рис. 2).

Рисунок 2. Изображение триад «Лок» и «Момь», в амплитудно-временной области.

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

Рисунок 3. Сегментация речевого сигнала триад «Лок» и «Момь».

Фонема «О» - гласная, поэтому она образована тоном. Фонемы «М», «МЬ» и «Л» являются сонорными согласными и также образуются тоном. А фонема «К» является смычковой согласной. Таким образом, для первого случая рабочей областью будут только первые две фонемы триады, а для второго случая вся триада.

    1. Синхронизация периода основного тона

Речь это линейная свёртка  с функции возбуждения с откликами  линейных фильтров, которая может быть возбуждена как тоном так и шумом, В случае возбуждения тоном изменения частоты колеблются в пределах 90 – 300 Гц.

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

Рисунок 4. Синхронизация периода основного тона триад «Лок» и «Момь».

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

Рисунок 5. Синхронизация  периода основного тона триад  «Лок» и «Момь», после оптимизации.

 

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

Рисунок 6. Работа оптимизационной  функции

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

 

 

 

 

 

 

    1. Преобразование амплитуддно-временной формы сигнала в спектрально-временную.

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

 

   

(1)


 

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

В приведённой формуле (1) (преобразование Фурье)   даёт распределение частот части оригинального сигнала  в окрестности времени.

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

   

(2)




 

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

 

    1. Построение сонограммы

Сонограмма (или спектрограмма) является графиком, показывающим зависимость частоты сигнала от времени с интенсивностью по амплитуде (Рис. 7 и 8).

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

Рисунок 7. Сонограмма триад "Лок"

 

Рисунок 8. Сонограмма триад "Момь"

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

 

 

 

 

 

    1. Анализ формантных треков аллофонизированной  гласной фонемы

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

Рисунок 9. Формантная структура триад «Лок» и «Момь».

Для упрощения воспроизведения  стилизованных формантных треков была произведена операция сглаживания (скользящим средним) с помощью функции smooth  формантных треков триад «Лок» и «Момь» (Рис. 10).

Рисунок 10. Формантная структура триад «Лок» и «Момь» после сглаживания.

Так же, были построены стилизованные формантные треки только для фонемы «О»(Рис.11), что бы понять, как изменяется фонема «О» от сочетания с другими согласными фонемами.



 

 

 

 

 


 

Рисунок 11. Стилизованные формантные треки a) для триады «Лок» б) триады «Момь»

На основе анализа изменения  траектории треков можно сделать  следующие выводы:

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

В случае, когда после  фонемы «О» находится фонема «К», первая и вторая форманты выпрямляются, третья и четвертая изгибаются вниз;

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

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

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

 

 

 

ЗАКЛЮЧЕНИЕ

В данной курсовой работе была проделана работа по исследованию на аллофонизацию фонемы «О» в стороннем окружении «Лок» и «Момь», которая включила в себя следующие этапы:

  1. Загрузка исходныхсигналов в MatLab для дальнейшей работы с ними.
  2. Сегментация загруженных сигналов.
  3. Ручное выделение и синхронизация периодов основного тона, составление массивов соответствующих им амплитудных нулей, с последующей оптимизацией.
  4. Преобразование каждого отрезка от нуля до нуля (периода) в спектрально-временной вид.
  5. Построение по полученным спектрам матрицы формант и получение из этой матрицы непосредственно формантных треков.
  6. Построение спектрограммы
  7. Анализ изменения (изгибов) формантных треков вблизи границ фонемы «О».
    1. Комплексный анализ полученых данных и построение стилизованных формантных треков.

 

Таким образом, была выявлена аллофонизация фонемы «О», т.е. рассмотрены  отклонения формантных треков гласной  фонемы в зависимости от её помещения в различное стороннее окружение «Лок» и «Момь». На основе полученных данных можно сделать выводы о том, что фонема «Л» выпрямляет первую и вторую форманты, и изгибает вниз третью и четвёртую форманты. Так же как и предыдущая фонема, фонема «К» первую и вторую форманты выпрямляет , и изгибает третью и четвёртую форманты вниз. Фонема «М» выпрямляет первую и вторую форманты, и изгибает вниз третью и четвёртую форманты, а фонема «Мь» в отличии от предыдущей, изгибает все форманты вниз.

 

 

Список  литературы

1) В. Дьяконов – Matlab 6: учебный курс – СПб.: «Питер», 2001 г.

2) Д.Л. Фланаган – Анализ, синтез и восприятие речи – М.: «Связь», 1968 г.

3) А. Лукин – Введение в цифровую обработку сигналов – М.: 2002 г.

4) Ю. Лазарев – Начала  программирования в среде MatLab – Киев: НТУУ “КПИ”, 2003г.

5) Г. Нуссбаумер – Быстрое  преобразование Фурье и алгоритмы  вычисления сверток – М.: «радио и связь», 1985г.

 

Приложение 1 - Исходные тексты программ

clc

clear

 

window=1024;

halfOfTheWindow = window/2;

 

%---Read WAV

[Y_lok, fd_lok, nbits] = wavread('lok.wav');

[Y_mom, fd_mom, nbits] = wavread('mom.wav');

 

Zer_lok(1:length(Y_lok))=0;

Zer_mom(1:length(Y_mom))=0;

 

%====Synchronization period

%---massiv gor "lok"

A_lok=[954 1076 1225 1380 1532 1685 1839 1990 2142 2292 2440 2583 2733 2877 3019 3161 3300 3439 3578 3715 3852 3989 4126 4261 4398 4529 4665 4801 4937 5072 5205 5339 5473 5608 5741 5876 6010 6149 6286 6422 6561 6700 6841 6981 7122 7263 7410 7551 7704 7852 8009 8156];

A_lok_l=[954 1076 1225 1380 1532 1685 1839 1990 2142 2292 2440 2583 2733 2877 3019 3161 3300 3439];

A_lok_k=[954 1076 1225 1380 1532 1685 1839 1990 2142 2292 2440 2583 2733 2877 3019 3161 3300 3439 3578 3715 3852 3989 4126 4261 4398 4529 4665 4801 4937 5072 5205 5339 5473 5608 5741 5876 6010 6149 6286 6422 6561 6700 6841 6981 7122 7263];

%---massiv for "mom"

A_mom=[115 284 437 589 741 897 1044 1193 1341 1491 1630 1777 1919 2059 2205 2343 2491 2630 2775 2918 3057 3195 3330 3461 3607 3739 3878 4014 4148 4288 4419 4551 4691 4829 4965 5107 5248 5391 5537 5674 5823 5965 6110 6257 6413 6556 6710 6866 7030 7212 ];

A_mom_m1=[115 284 437 589 741 897 1044 1193 1341 1491 1630 1777];

A_mom_m2=[115 284 437 589 741 897 1044 1193 1341 1491 1630 1777 1919 2059 2205 2343 2491 2630 2775 2918 3057 3195 3330 3461 3607 3739 3878 4014 4148];

 

%====Synchronization with the pitch period

%---for "lok"

 

for i = 1:length(Y_lok)

   if (i<1000)

       S_lok(i)=0;

   end

   if (i>999&&i<8000)

       S_lok(i)=1;

   end

   if (i>7999&&i<9500)

        S_lok(i)=0.2;

   end

   if (i>9499 && i<10000)

        S_lok(i)=0.5;

   end

   if (i>10000 && i<13000)

        S_lok(i)=0;

   end

end;

%---for "mom"

for i = 1:length(Y_mom) 

   if (i<7499)

       S_mom(i)=1;

   end

   if (i>7500&&i<9800)

       S_mom(i)=0;

   end

end;

%==========================================================================

%---algorithm optimization

for i=2:length(A_lok)

    razn=A_lok(i)-A_lok(i-1);

    X1(i)=abs(fd_lok/razn);

end

for i=2:length(A_mom)

    razn=A_mom(i)-A_mom(i-1);

    X2(i)=abs(fd_mom/razn);

end

 

for i=1:length(A_lok)

    for j=1:10

         if (abs(Y_lok(A_lok(i)))>abs(Y_lok(A_lok(i)-j)))

             A_lok(i)=A_lok(i)-j;

         end

    end

end

for i=1:length(A_mom)

    for j=1:10

         if (abs(Y_mom(A_mom(i)))>abs(Y_mom(A_mom(i)-j)))

            A_mom(i)=A_mom(i)-j;

         end

    end

end

 

 

for i=2:length(A_lok)

    razn=A_lok(i)-A_lok(i-1);

    X3(i)=abs(fd_lok/razn);

end

for i=2:length(A_mom)

    razn=A_mom(i)-A_mom(i-1);

    X4(i)=abs(fd_mom/razn);

end

 

%---Make Fgure #0

figure(50)

subplot(2,1,1), plot(1:length(X1),X1,'r-',1:length(X3),X3,'b-')

title('Optimization function of the triad "lok"')

xlabel('Periods')

ylabel('Carrier frequency')

legend('Before','After')

subplot(2,1,2), plot(1:length(X2),X2,'r-',1:length(X4),X4,'b-')

title('Optimization function of the triad "mom"')

xlabel('Periods')

ylabel('Carrier frequency')

legend('Before','After')

%=========================================================================

 

 

%====The selection of phonemes formed tone

%---Tone "lok"

tone_lok=1000:8300;

%---Tone "mom"

tone_mom=1:7500;

 

 

figure(144);

subplot(2,1,1), plot(tone_lok,Y_lok(tone_lok),'b-',tone_lok,Zer_lok(tone_lok),'g-',A_lok,Y_lok(A_lok),'ro');

title ('Workspace fonema "lok" after optimization'); xlabel('Time'); ylabel('Amplitude');

subplot(2,1,2), plot(tone_mom,Y_mom(tone_mom),'b-',tone_mom,Zer_mom(tone_mom),'g-',A_mom,Y_mom(A_mom),'ro');

title ('Workspace fonema "mom" after optimization'); xlabel('Time'); ylabel('Amplitude');

%=========================================================================

 

%---Make Fgure #1

figure(1);

subplot(3,2,1), plot(1:length(Y_lok),Y_lok,'b-',1:length(Y_lok),Zer_lok,'g-',A_lok,0,'ro');

title ('Fonema "lok"'); xlabel('Time'); ylabel('Amplitude');

subplot(3,2,2), plot(1:length(Y_mom),Y_mom,'b-',1:length(Y_mom),Zer_mom,'g-',A_mom,0,'ro');

title ('Fonema "mom"'); xlabel('Time'); ylabel('Amplitude');

subplot(3,2,3), plot(1:length(S_lok),S_lok,'r-','LineWidth',2);

title ('Segmentation'); xlabel('Time'); ylabel('');

axis([0,14000,-0.5,1.5]);

subplot(3,2,4), plot(1:length(S_mom),S_mom,'r-','LineWidth',2);

title ('Segmentation'); xlabel('Time'); ylabel('');

axis([0,10000,-0.5,1.5]);

subplot(3,2,5), plot(tone_lok,Y_lok(tone_lok),'b-',tone_lok,Zer_lok(tone_lok),'g-',A_lok,Y_lok(A_lok),'ro');

title ('Workspace fonema "lok" after optimization'); xlabel('Time'); ylabel('Amplitude');

subplot(3,2,6), plot(tone_mom,Y_mom(tone_mom),'b-',tone_mom,Zer_mom(tone_mom),'g-',A_mom,Y_mom(A_mom),'ro');

title ('Workspace fonema "mom" after optimization'); xlabel('Time'); ylabel('Amplitude');

%=========================================================================

 

%---Make Sonogram(Fgure #2)

figure(2)

[nfft]=min(1024,length(Y_lok));

subplot(2,1,1),specgram(Y_lok, 1024,10)

title('Sonogram triad "lok"'); xlabel('Time'); ylabel('Frequency'); zlabel('Frequency');

[nfft]=min(1024,length(Y_mom));

subplot(2,1,2),specgram(Y_mom, 1024,10)

title('Sonogram triad "mom"'); xlabel('Time'); ylabel('Frequency'); zlabel('Frequency');

%=========================================================================

 

for r = 1:2

    if r==1

       Y=Y_lok;

       A=A_lok;

       fd=fd_lok;

    end

    if r==2

       Y=Y_mom;

       A=A_mom;

       fd=fd_mom;

    end   

    %---select range for Fourier transform

    for j=1:length(A)-1       

        k=length(Y(A(j):A(j+1)));

        piece_new=Y(A(j):A(j+1));

        piece=zeros(window);

        for i=1:k

            piece(i)=piece_new(i);

        end 

        T=piece(1:window);

        S=fft(T);

        T_fft=S.*conj(S);

        for column=1:halfOfTheWindow

          Y_fft(j,column)=T_fft(column);

        end

    end   

%============================================================================

    %---finding highs

    for i=1:length(A)-1

        pieceBufer=Y_fft(i,1:halfOfTheWindow);

    

        n=1;

        for k=1:halfOfTheWindow-2

            if (pieceBufer(k)<pieceBufer(k+1) && pieceBufer(k+1)>pieceBufer(k+2))

                max(n)=pieceBufer(k+1);

                n=n+1;

            end

        end

        arrMax=sort(max);

        for k=1:4

            max_X(k)=arrMax(length(arrMax)-k+1);

        end

        for k=1:4

            for t=1:halfOfTheWindow

                if (max_X(k) == pieceBufer(t))

                    max_Y(k)=t;

                end

            end

            max_XY(k,i)=max_X(k);

Аллофонизация гласной фонемы «О» в стороннем окружении ЛОК и МОМЬ