1 of 31

Автоматическое распознавание речи. Введение. Акустические признаки

​

​

​

​

​

​

П. А. Холявин

​

p.kholyavin@mail.ru

​

​

​

04.03.2024

1

2 of 31

«Распознавание» одного слова

​

1922

2

3 of 31

Распознавание отдельных слов

​

AUDREY, 1952

(Bell Laboratories)

3

4 of 31

Распознавание отдельных слов

​

IBM Shoebox, 1966

4

5 of 31

Whither speech recognition?

​

John R. Pierce, 1969 (Bell Labs)

5

6 of 31

Распознавание слитной речи

​

Carnegie-Mellon’s HARPY (1976)

-//- Hearsay-I (1976)

6

7 of 31

Распознавание слитной речи

​

1990-е:

- Доступ потребителей к системам распознавания речи

Dragon Dictate (1990)

IBM MedSpeak (1996)

​

- Работа над машинным пониманием речи

​

2010-е:

- Нейронные сети/глубокое обучение

7

8 of 31

Задача распознавания речи

​

Задача АРР – сопоставить акустическому сигналу последовательность слов.

Более формально: каково наиболее вероятное предложение из всех возможных в языке L при условии акустического сигнала O?

​

Если O = o1, o2, …, on – звуковая последовательность,

W = w1, w2, …, wn – последовательность слов, то

8

9 of 31

Вариативность задачи

​

  1. Количество слов в словаре:
  2. малый — единицы/десятки
  3. средний — сотни
  4. большой — тысячи/десятки тысяч
  5. сверхбольшой — сотни тысяч/миллионы

​

  • Дикторозависимость

​

  • Изолированные слова / слитная речь

​

  • Качество канала

​

  • Физиологические и лингвистические особенности

9

10 of 31

Части системы АРР

​

10

11 of 31

Оценка работы АРР

​

Word Error Rate

​

WER = 100 %

​

(Sentence Error Rate, Morpheme Error Rate, Phone Error Rate)

​

RTF (Real Time Factor)

​

​

​

​

​

11

12 of 31

Обработка сигнала

​

1. Разбиение сигнала на окна (frames):

12

13 of 31

Обработка сигнала

​

2. Оконные функции:

​

a) прямоугольное окно

​

б) окно Хэмминга (Hamming)

13

14 of 31

Обработка сигнала

​

2. Оконные функции:

​

в) окно Ханна/Ханнинга (Hann/Hanning)

14

15 of 31

Обработка сигнала

​

2. Оконные функции:

​

г) окно Кайзера (Kaiser)

15

16 of 31

Обработка сигнала

​

2. Оконные функции:

​

д) Гауссово окно

16

17 of 31

Обработка сигнала

​

3. Дискретное преобразование Фурье (DFT)

​

​

​

​

​

​

​

​

​

17

18 of 31

Обработка сигнала

​

3a. zero-padding

Fs = 8000 Hz, frame = 0.01 s

​

​

​

​

​

​

​

​

​

​

​

3b. Быстрое преобразование Фурье (FFT)

18

19 of 31

Акустические признаки

​

1. Мел-кепстральные коэффициенты (MFCC)

​

2. Коэффициенты линейного предсказания (LPC)

​

3. Перцептивное линейное предсказание (PLP)

​

19

20 of 31

MFCC

​

Шкала мелов

​

​

​

​

​

​

​

​

​

​

20

21 of 31

MFCC

​

1. Создание банка мел-фильтров

​

​

​

​

​

​

​

​

​

​

21

22 of 31

MFCC

​

2. Логарифм

​

​

3. Дискретное косинусное преобразование (вычисление кепстра)

​

​

​

4. Берутся первые Т коэффициентов результата.

​

​

​

​

​

​

​

​

22

23 of 31

LPC

​

LPC = Linear Predictive Coding

​

​

1. Попробуем предсказывать каждый следующий отсчёт как линейную комбинацию p предшествующих:

​

​

​

​

Тогда ошибка предсказания:

​

23

24 of 31

LPC

​

2. Вычисляем p коэффициентов линейного предсказания с тем расчётом, чтобы ошибка предсказания была минимальной.

​

3. Эти коэффициенты – полюса передаточной функции:

24

25 of 31

LPC

​

Ошибка предсказания:

​

  1. Глухие участки – белый шум

​

  • Звонкие участки:

​

​

​

​

​

​

​

25

26 of 31

Шкала барков

​

Шкала барков

​

​

​

​

​

​

​

​

​

​

26

27 of 31

Дополнительные моменты

​

1. Дельта и дельта-дельта признаки:

​

​

​

​

​

​

​

2. Снижение размерности с помощью метода главных компонент (principal component analysis, PCA)

​

3. Гибридные признаки

27

28 of 31

Сравнение некоторых признаков

​

28

29 of 31

Полезные библиотеки

​

Окна:

​

https://docs.scipy.org/doc/scipy/reference/signal.windows.html

scipy.signal.windows.hann()

scipy.signal.windows.hamming()

scipy.signal.windows.kaiser()

​

Преобразование Фурье:

​

https://docs.scipy.org/doc/scipy/tutorial/fft.html

scipy.fft.fft()

scipy.fft.ifft()

29

30 of 31

Полезные библиотеки

​

Вычисление MFCC:

​

1. librosa (pip install librosa)

https://librosa.org/doc/main/generated/librosa.feature.mfcc.html

librosa.feature.mfcc()

https://librosa.org/doc/main/generated/librosa.feature.melspectrogram.htm

librosa.feature.melspectrogram()

​

2. https://github.com/jameslyons/python_speech_features

python_speech_features.base.mfcc()

​

​

30

31 of 31

Спасибо за внимание!

31