Я аспирант, занимаюсь исследованиями распознавания речи.Это открытые исследовательские проблемы, и, к сожалению, я не знаю пакетов с открытым исходным кодом, которые могут делать эти вещи из коробки.
Если у вас есть опыт применения алгоритмов обработки сигналов или машинного обучения, вы можете попробовать поискать научные статьи, используя некоторые из следующих поисковых терминов:
- гендерная идентификация (иногда называемаяраспознавание пола): прогнозирование пола говорящего по речевому высказыванию
- идентификация возраста: прогнозирование возраста говорящего
- идентификация говорящего: прогнозирование из набора возможных говорящих наиболее вероятныхговорящий в речевом высказывании
- проверка говорящего: принятие или отклонение высказывания как принадлежащего говорящему (представьте систему авторизации типа «голосовой отпечаток»)
- диаризация говорящего: получение аудиофайла с несколькимифайлы и маркировка, какие сегменты речи принадлежат какому говорящему
- распознавание эмоций: предсказание эмоций говорящего по речевому высказыванию (очень новая область исследования).
Согласно http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification, CMU Sphinx, который, вероятно, является ведущим распознавателем речи с открытым исходным кодом, не поддерживает идентификацию говорящего (http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification); Я сомневаюсь, чтоу него есть любые другие возможности, описанные выше.
Некоторые ученые-исследователи публикуют свой код в Интернете и / или могут захотеть поделиться им с вами. Поиск в Google Scholar обнаруживает множество людей, написавших Master илиКандидатские диссертации с использованием Sphinx, так что это может быть хорошим началом.
Наконец, вы можете попытаться реализовать очень грубый алгоритм распознавания пола, не вдаваясь в сам распознаватель речи, если вы знаете немногообработка сигналов. В основном, мужские и женские голоса различаются по своей основной частоте - согласно Википедии (http://en.wikipedia.org/wiki/Voice_frequency), мужские голоса находятся в диапазоне 85-180 Гц, в то время как женские голоса имеют частоту 165 Гц-255 Гц. Вы можете использовать что-то вроде sox
дляопределить частотный спектр (используя то, что называется быстрым преобразованием Фурье)высказывание и классифицировать речь как «мужское» или «женское» в зависимости от некоторой сводной статистики, такой как средняя частота (см. http://classicalconvert.com/tag/sox/)., чтобы сделать это надежно (например, с множеством динамиков, микрофонов или записывающих сред), естьмножество вещей, которые вы можете сделать.Я не уверен, смогу ли я предсказать, сколько времени и усилий потребуется, чтобы получить точность 70%, поскольку это будет зависеть от характера вашей задачи;Я чувствую, что 90% + определенно будет очень трудно.
Удачи!