Распознавание динамиков 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.
Ответ 3
Отъезд sciKits Talkbox: http://projects.scipy.org/scikits/wiki/Talkbox
Неудобные учебники очень ограничены: http://www.ar.media.kyoto-u.ac.jp/members/david/softwares/talkbox/talkbox_doc/intro.html
Ответ 4
Посмотрите на библиотеку CMU Sphinx Python. Он был разработан на Java, поэтому я считаю, что для Python-библиотек это просто обертки. Проект имеет много текущих исследований.
Официальная вики: http://cmusphinx.sourceforge.net/wiki/
Учебное пособие по быстрому запуску для Linux: http://probing.wikidot.com/speech-recognition-using-sphinx3-and-python