Pull to refresh

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

Programming *Algorithms *
Sandbox
Недавно я наткнулся на интересную статью, опубликованную rgen3, в которой описан DTW-алгоритм распознавания речи. В общих чертах, это сравнение речевых последовательностей с применением динамического программирования.

Заинтересовавшись темой, я попробовал применить этот алгоритм на практике, но на этом пути меня поджидало некоторое количество граблей. Прежде всего, что именно нужно сравнивать? Непосредственно звуковые сигналы во временной области — долго и не очень эффективно. Спектрограммы — уже быстрее, но не намного эффективнее. Поиски наиболее рационального представления привели меня к MFCC или Мел-частотным кепстральным коэффициентам, которые часто используются в качестве характеристики речевых сигналов. Здесь я попытаюсь объяснить, что они из себя представляют.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 72K
Comments 9

Кто там? — Идентификация человека по голосу

Programming *Algorithms *


Здравствуй, дорогой читатель!

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

Под катом я опишу весь процесс идентификации человека по голосу от записи и обработки звука до непосредственно определения личности говорящего.
Так чего же мы ждем? Поехали!
Total votes 34: ↑33 and ↓1 +32
Views 54K
Comments 19

Распознавание речи для чайников

Programming *Algorithms *
Tutorial

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

Читать дальше →
Total votes 71: ↑61 and ↓10 +51
Views 160K
Comments 20

Простейшее управление компьютером при помощи голоса

Accessibility *Sound


Если вас интересует, как помочь обездвиженному человеку управлять компьютером для общения с внешним миром – вам сюда. Если вам интересно, какое отношение к этому имеют мел-частотные кепстральные коэффициенты и нейронные сети – вам тоже сюда.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 16K
Comments 4

Текстонезависимая идентификация по голосу

Programming *Algorithms *Machine learning *
Sandbox

Я люблю истории про апокалипсис, про то, как нашу планету порабощают пришельцы, обезьяны или терминаторы, и с детства мечтал приблизить последний день человечества.


Однако, я не умею строить летающие тарелки или синтезировать вирусы, а потому речь пойдет про терминаторов, а точнее о том как этим трудягам помочь отыскать Джона Коннора.


image


Мой рукодельный терминатор будет несколько упрощён — он не сможет ходить, стрелять, говорить "I'll be back". Единственное на что он будет способен — распознать голос Коннора, ежели он его услышит (ну или, например, Черчилля, если его тоже надо будет найти).

Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Views 15K
Comments 6

Классификация музыкальных композиций по исполнителям с помощью Скрытых Марковских Моделей

Python *Algorithms *Machine learning *
Sandbox
image

Скрытые марковские модели (Hidden Markov Models) с давних времен используются в распознавании речи. Благодаря мел-кепстральным коэффициентам (MFCC), появилась возможность откинуть несущественные для распознавания компоненты сигнала, значительно снижая размерность признаков. В интернете много простых примеров использования HMM с MFCC для распознавания простых слов.

После знакомства с этими возможностями появилось желание опробовать этот алгоритм распознавания в музыке. Так родилась идея задачи классификации музыкальных композиций по исполнителям. О попытках, какой-то магии и результатах будет рассказано в этом посте.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 9.3K
Comments 20

Анализ аудиоданных (часть 1)

Python *Programming *Data visualization *Machine learning *Sound
Tutorial

Каждый аудиосигнал содержит характеристики. Из MFCC (Мел-кепстральных коэффициентов), Spectral Centroid (Спектрального центроида) и Spectral Rolloff (Спектрального спада) я провела анализ аудиоданных и извлекла характеристики в виде среднего значения, стандартного отклонения и skew (наклон) с помощью библиотеки librosa.

Для классификации “живого” голоса (класс 1) и его отделению от синтетического/конвертированного/перезаписанного голоса (класс 2) я использовала алгоритм машинного обучения - SVM (Support Vector Machines) / машины опорных векторов. SVM работает путем сопоставления данных с многомерным пространством функций, чтобы точки данных можно было классифицировать, даже если данные не могут быть линейно разделены иным образом. Для работы я использовала математическую функцию, используемой для преобразования (известна как функция ядра) - RBF (радиальную базисную функцию).

В первой части анализа аудиоданных разберем:

Читать далее
Total votes 8: ↑8 and ↓0 +8
Views 5K
Comments 8

Анализ аудиоданных (часть 2)

Python *Programming *Data visualization *Machine learning *Sound
Tutorial

В первой части анализа аудиоданных мы рассмотрели характеристики, которые есть у каждого аудиосигнала.

Анализ аудиоданных (часть1) - https://habr.com/ru/post/668518/

Характеристики аудиофайлов для разных аудио записей.

В наборе аудиоданных есть Human files - 10322 файла ( записи “живого” голоса (класс 1)) и Spoof files - 39678 файлов ( записи синтетического/конвертированного/перезаписанного голоса (класс 2)) . В одном аудиофайле (3 - 6 сек) голос мужской или женский что-то говорит на каком-то языке (английском, русском, немецком, китайском)

Вот так выглядят характеристики аудиофайлов для разных аудио записей:

Читать далее
Total votes 6: ↑6 and ↓0 +6
Views 3.2K
Comments 6

Это телефонный разговор: как мы учили модели прогнозировать успех звонка из банка

ВТБ corporate blog Data Mining *Machine learning *

Кто-то гадает по звёздам и кофе, кто-то — по фото, а нам в ВТБ пришлось обучить модель предсказания по телефонным звонкам. А заодно пройтись по граблям обработки текстов и звука, выяснить, какие фичи можно извлечь из аудио, как привлечь ML и прикрутить к нему нейросеть, — и сделать всё на основе opensource. 

Меня зовут Алексей Климачев, и я data scientist ВТБ. В прошлом году банк доверил мне провести исследование аудиоданных для целей collection. Если вам интересно, чем может быть полезна правильно обученная модель, анализирующая звонки и прогнозирующая их исход, что использовать для её обучения, с какими сложностями можно столкнуться в процессе и как их обойти, заглядывайте в статью.

Читать далее
Total votes 10: ↑8 and ↓2 +6
Views 2.1K
Comments 3