В поисках ответа на эту проблему я обнаружил, что эта доска объявлений решила опубликовать мой вопрос в переполнении стека.
Я ищу способ определения сходства между аудиосегментом и человеческим голосом, который выражается численно.
Я немного искал, но то, что я нашел до сих пор (подробно описано ниже), не совсем соответствует тому, что мне нужно:
Одним из способов является использование программного обеспечения для распознавания речи для получения слов из аудиосегмента. Однако этот метод не может придумать, насколько «похож» звук на человеческую речь; он часто может сказать, есть ли слова в аудио, но если нет определенных слов, он не может сказать, близко ли аудио к наличию таких слов.
Примеры: CMU Sphinx , Dragonfly , SHOUTБолее многообещающий метод называется распознаванием голосовой активности (VAD). Тем не менее, это имеет тенденцию иметь те же проблемы: алгоритмы / программы, использующие VAD, имеют тенденцию просто возвращать, был ли достигнут порог активности или нет значения «сходства» до или после такого порога. В качестве альтернативы, многие просто ищут объем, а не сходство с человеческой речью.
Примеры: Speex , Listener , FreeSWITCH
Есть идеи?
источник
Ответы:
Эта проблема обычно решается с помощью методов машинного обучения.
Разбейте сигнал на последовательность кадров 20 мс или 50 мс. Извлечение функций на каждом кадре. MFCC, как правило, хороши для такого рода приложений, хотя существуют функции, более специфичные для обнаружения голоса (энергия модуляции 4 Гц - это примерно скорость, с которой люди говорят; частота пересечения нуля).
Затем, используя обучающий набор аудио, который вы вручную пометили как речь / не речь, обучите классификатор (модели гауссовой смеси, SVM ...) на элементах фреймов.
Это позволит вам классифицировать немаркированные кадры в речевые / неречевые классы. Последний шаг состоит в сглаживании решений (кадр, классифицированный как неречевой, окруженный сотнями речевых кадров, скорее всего, будет ошибкой классификации), например, с использованием HMM или просто медианного фильтра.
Несколько ссылок:
Надежная классификация речи / музыки в аудиодокументах (Pinquier и др.) Различение речи / музыки для мультимедийных приложений (Эль-Малех и др.) Сравнение функций распознавания речи / музыки (Кэри и др.)
Обратите внимание, что особенности и методы классификации, которые они описывают, также имеют отношение к проблеме 1-го класса обнаружения речи (вместо того, чтобы отличать речь от чего-то еще). В этом случае вы можете использовать методы моделирования 1-го класса, такие как SVM 1-класса, или просто взять оценку вероятности из GMM, обученного речевым данным, в качестве меры «речевой».
Если, с другой стороны, ваша проблема заключается в том, что вы действительно отличаете речь от чего-то другого (скажем, музыки), вы также вполне можете использовать неконтролируемые подходы, которые направлены на выявление границ между похожим аудиоконтентом, а не на идентификацию самого контента.
источник