Голос, звук, анализ звуковой волны: акустика — один из наиболее интересных и сложных каналов сбора данных в мультимодальной логике детекции и распознавания эмоций человека. Помимо прочего, обращение к этому источнику информации ставит перед исследователями задачи разного порядка, решение которых открывает новые научные и технологические перспективы. Мы в Neurodata Lab, занимаясь темой эмоций, сумели попутно разобраться с фундаментальной проблемой: одноканальным разделением голосов, достигнув точности, превышающей 91-93%, для английского, русского и некоторых других ключевых языков (по ним продолжаются эксперименты, приоритет отдан двум первым).
Разумеется, в настоящий момент мы находимся на этапе подготовки полноценной статьи, а также сборки и упаковки будущего коммерческого продукта, поэтому здесь мы только кратко обозначим нашу деятельность по этому направлению с приглашением к обсуждению результатов после их опубликования и представления на конференциях первой половины 2018 года.
Итак, что мы имеем по состоянию на сегодня. Рабочий прототип системы, призванной решать нижеперечисленные задачи в следующих условиях:
Технологической основой решения являются три подсистемы:
Под фразой в данном контексте понимается непрерывный участок речи между двумя микропаузами. Понятие неточное, условное, результат применения выделителя фраз сильно зависит от особенностей произношения (отрывистая или “сглаженная”, непрерывная речь), от параметров “микропауз” и т.п. Типовые настройки выделителя фраз приводят к тому, что фраза, как правило, представляет собой последовательность фонем, слогов, иногда слов длительностью от 0.2 до нескольких секунд. Точные настройки определителя фраз будут приведены в его техническом описании.
Смысл применения выделителя фраз заключается в следующем. Если из речи выкинуть моменты одновременного звучания двух голосов, то оставшаяся запись будет представлять собой чередующиеся (без перекрытий) участки одноголосой речи, при этом в большинстве случаев смена говорящего будет приходиться на границы фраз.
Это предположение не совсем верно, на практике случается беспаузный переход речи от одного говорящего к другому. Однако эти случаи и в самом деле редки, а в предлагаемом прототипе основное негативное влияние таких беспаузных переходов сводится к неверному формированию опорных базовых фрагментов голосов двух человек и частично купируется принципом формирования таких опорных фрагментов.
Таким образом, по модулю отсутствия фраз с переходом голосов дальнейшая работа (после выделения фраз и выкидывания моментов одновременной речи) сводится к задаче голосовой идентификации фраз.
Помимо исходной функции (нам нужны только фрагменты одноголосой речи), детектор позволяет оставить только те фразы (или их части), где звучит один голос (по модулю фраз с переходом голоса, о чём было выше), тем самым сводя задачу к проблеме идентификации голосов.
В основе функционирования детектора одновременной речи лежит визуальное наблюдение: лог-спектрограмма или её производная по времени в участках одновременной речи содержит характерные иррегулярности, отсутствующие в одноголосых участках и легко различимые глазом. Примеры будут приведены в описании детектора.
В связи с таким наблюдением в основе решения лежат 2D-свёрточные сети, как раз призванные выделять графические особенности. Однако текущий прототип содержит дополнительные, 1D-свёрточные нейросетевые решения для повышения качества детекции.
Идея, лежащая в основе детектора, оказалась довольно удачной в том смысле, что определяются не только моменты одновременной речи, но, как правило, и другие вредные звуковые события: аплодисменты, смех (особенно смех в зале) и т.п.
Результат работы детектора – число от 0 до 1. Для классификации предполагается, что если это число меньше 0.5, то в рассматриваемом фрагменте записи одновременного звучания двух голосов нет, иначе имеет место “перехлёст” голосов.
Основным ограничителем в применении детектора сейчас являются записи с заметной реверберацией (“гулкие” помещения, заметное эхо и т.п.), в которых в каком-то смысле воспроизводится эффект одновременного говорения.
Это одна из основных подсистем прототипа, решающая следующую задачу. Даны два одноголосых фрагмента речи произвольной длины, требуется определить, принадлежат ли они голосу одного человека, либо это голоса разных людей.
В основе лежит нейросетевое решение, обученное на базе из 100 мужских и 100 женских голосов (выборки непрерывно расширяются и диверсифицируются). Результат – число от 0 до 1. Если он меньше 0.5, то считается, что фрагменты принадлежат голосу одного человека, иначе – разным людям.
Качество решения напрямую зависит от длины речевых фрагментов: чем они короче, тем качество ниже. На практике ошибка на фрагментах длительностью менее 0.3-0.4 секунд становится значительной. Подробнее об этом мы опять же расскажем в техническом описании идентификатора и в статье.
В настоящий момент продолжается шлифовка решения для максимально кратких речевых фрагментов, и результаты, безусловно, обнадеживают.
Графически схема представлена на рисунке:
Куратор проекта: Михаил Гриненко, д.ф-м.н., научный консультант Neurodata Lab по глубокому обучению и анализу данных.
Разумеется, в настоящий момент мы находимся на этапе подготовки полноценной статьи, а также сборки и упаковки будущего коммерческого продукта, поэтому здесь мы только кратко обозначим нашу деятельность по этому направлению с приглашением к обсуждению результатов после их опубликования и представления на конференциях первой половины 2018 года.
Итак, что мы имеем по состоянию на сегодня. Рабочий прототип системы, призванной решать нижеперечисленные задачи в следующих условиях:
- На входе имеется одноканальная запись разговора двух (потенциально больше) человек в формате WAV;
- Из записи удаляются все фрагменты, где одновременно звучат два (или больше) голоса; удаление связано с необходимостью в дальнейшем обрабатывать речь конкретного человека, например, для определения характеристик голоса и эмоционального состояния говорящего;
- Оставшиеся фрагменты записи разбиваются на две группы таким образом, чтобы каждая из них содержала речь только одного конкретного человека;
- На выходе – два аудиоканала: в первом звучит речь одного, во втором – другого человека; тайминг сохраняется.
Технологической основой решения являются три подсистемы:
- Выделитель (речевых) фраз;
- Детектор одновременной речи;
- Идентификатор голоса.
Выделитель фраз
Под фразой в данном контексте понимается непрерывный участок речи между двумя микропаузами. Понятие неточное, условное, результат применения выделителя фраз сильно зависит от особенностей произношения (отрывистая или “сглаженная”, непрерывная речь), от параметров “микропауз” и т.п. Типовые настройки выделителя фраз приводят к тому, что фраза, как правило, представляет собой последовательность фонем, слогов, иногда слов длительностью от 0.2 до нескольких секунд. Точные настройки определителя фраз будут приведены в его техническом описании.
Смысл применения выделителя фраз заключается в следующем. Если из речи выкинуть моменты одновременного звучания двух голосов, то оставшаяся запись будет представлять собой чередующиеся (без перекрытий) участки одноголосой речи, при этом в большинстве случаев смена говорящего будет приходиться на границы фраз.
Это предположение не совсем верно, на практике случается беспаузный переход речи от одного говорящего к другому. Однако эти случаи и в самом деле редки, а в предлагаемом прототипе основное негативное влияние таких беспаузных переходов сводится к неверному формированию опорных базовых фрагментов голосов двух человек и частично купируется принципом формирования таких опорных фрагментов.
Таким образом, по модулю отсутствия фраз с переходом голосов дальнейшая работа (после выделения фраз и выкидывания моментов одновременной речи) сводится к задаче голосовой идентификации фраз.
Детектор одновременной речи
Помимо исходной функции (нам нужны только фрагменты одноголосой речи), детектор позволяет оставить только те фразы (или их части), где звучит один голос (по модулю фраз с переходом голоса, о чём было выше), тем самым сводя задачу к проблеме идентификации голосов.
В основе функционирования детектора одновременной речи лежит визуальное наблюдение: лог-спектрограмма или её производная по времени в участках одновременной речи содержит характерные иррегулярности, отсутствующие в одноголосых участках и легко различимые глазом. Примеры будут приведены в описании детектора.
В связи с таким наблюдением в основе решения лежат 2D-свёрточные сети, как раз призванные выделять графические особенности. Однако текущий прототип содержит дополнительные, 1D-свёрточные нейросетевые решения для повышения качества детекции.
Идея, лежащая в основе детектора, оказалась довольно удачной в том смысле, что определяются не только моменты одновременной речи, но, как правило, и другие вредные звуковые события: аплодисменты, смех (особенно смех в зале) и т.п.
Результат работы детектора – число от 0 до 1. Для классификации предполагается, что если это число меньше 0.5, то в рассматриваемом фрагменте записи одновременного звучания двух голосов нет, иначе имеет место “перехлёст” голосов.
Основным ограничителем в применении детектора сейчас являются записи с заметной реверберацией (“гулкие” помещения, заметное эхо и т.п.), в которых в каком-то смысле воспроизводится эффект одновременного говорения.
Идентификатор голосов
Это одна из основных подсистем прототипа, решающая следующую задачу. Даны два одноголосых фрагмента речи произвольной длины, требуется определить, принадлежат ли они голосу одного человека, либо это голоса разных людей.
В основе лежит нейросетевое решение, обученное на базе из 100 мужских и 100 женских голосов (выборки непрерывно расширяются и диверсифицируются). Результат – число от 0 до 1. Если он меньше 0.5, то считается, что фрагменты принадлежат голосу одного человека, иначе – разным людям.
Качество решения напрямую зависит от длины речевых фрагментов: чем они короче, тем качество ниже. На практике ошибка на фрагментах длительностью менее 0.3-0.4 секунд становится значительной. Подробнее об этом мы опять же расскажем в техническом описании идентификатора и в статье.
В настоящий момент продолжается шлифовка решения для максимально кратких речевых фрагментов, и результаты, безусловно, обнадеживают.
Графически схема представлена на рисунке:
Куратор проекта: Михаил Гриненко, д.ф-м.н., научный консультант Neurodata Lab по глубокому обучению и анализу данных.