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