Распознавание динамиков Python

У меня есть аудиофайл (записанный телефонный разговор 2 человек). Мне нужно автоматически отделить голоса двух динамиков. Я новичок в распознавании речи, и я посмотрел на волновой модуль python, но не смог найти какую-либо полезную информацию.

Пожалуйста, помогите, как начать. Также, пожалуйста, предложите мне бесплатные библиотеки python, которые помогут мне в решении этой проблемы.

Ответы

Ответ 1

Задача разделения громкоговорителей не является задачей распознавания речи, это задача распознавания громкоговорителей. В речевой связи эта задача также известна как диалогизация ораторов. Для Python доступно несколько пакетов для диалогов динамиков и распознавания динамиков:

SIDEKIT из LIUM

Инструмент Bob от Idiap

Диарезия динамиков от ISCI

Если вы не ограничены Python, есть и другие:

Динамика динамиков LIUM

Настройка распознавания громкоговорителей в Калди. Включает современные i-векторы на основе DNN.

Ответ 2

Начните с numpy, и я бы посмотрел на spectrpgraphs (в основном прокатный FFT) в качестве хорошего метода для различения разных голосов в аудиозаписке.

Здесь функция спектрограммы в Matplotlib:

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.specgram

Я бы порекомендовал Python (x, y), если вы только начинаете работать на платформе Windows.

Ответ 4

Посмотрите на библиотеку CMU Sphinx Python. Он был разработан на Java, поэтому я считаю, что для Python-библиотек это просто обертки. Проект имеет много текущих исследований.

Официальная вики: http://cmusphinx.sourceforge.net/wiki/

Учебное пособие по быстрому запуску для Linux: http://probing.wikidot.com/speech-recognition-using-sphinx3-and-python