Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Идетификация личности по голосу |
Автор: deil 4.10.2007, 14:23 |
Приветствую! Передо мной стоит задача в создании системы идентификации личности по голосу на основании парольной фразы с использованием аппарата скрытых марковских моделей (СММ)(нейронные сети использоваться не должны). Чем больше бьюсь над этим вопросом ![]() Поэтому обращаюсь к вам за помощью. Так и не нашел пока ответов на следующие вопросы: 1. Каким образом удалять неинформативные части сигнала (паузы между словами, шипящие звуки)? 2. Какую информацию о сигнале (спектр, кепстр, коэффициенты линейного предсказания) следует использовать при реализации данной задачи? 3. Данные какого вида должны обрабатываться СММ для определения степени соответствия парольной фразе конкретному диктору? Заранее спасибо! |
Автор: ILyAHA 4.10.2007, 19:31 |
Без нейросетей я так думаю что это не сделать... Так что можно считать что никак. Можно конешно записать хотябы один раз голос(т.е. типа хранение как в БД), а потом приблизительно сравнивать полученный с этим. |
Автор: NikeDeForest 4.10.2007, 20:06 |
Ой блин. Могу сказать только, что можно и копать надо в сторону преобразований Фурье. Что там конкретно уже не помню и как-то снова разбираться не очень хочется. |
Автор: podval 5.10.2007, 12:38 |
Без нейросетей еще как можно обойтись. Так же как и без СММ и преобразований Фурье. Копать надо в сторону кепстра. А как он будет посчитан - через LPC или ПФ на Mel-частотной шкале - не имеет значения. Если конкретнее, то вектор признаков для такого распознавания - это усредненный по множеству реализаций (в данном случае на длине парольной фразы) вектор кепстральных коэффициентов. Нулевой кепстральный коэффициент не используется - это просто энергия. Далее встает вопрос - какая именно задача решается? 1. Собственно распознавание. Допустим, надо решить, какому из 2-х известных дикторов принадлежит голос. Для 2 дикторов достаточно применить элементарный дискриминантный анализ. Если больше - надо уходить в более сложные модели типа Support Vector Machines. 2. Верификация. Имеется голос, надо решить, действительно ли диктор является тем лицом, за которое себя выдает. Решаютсяс небольшими отличиями, но для обоих задач вектор признаков строится одинаково (усредненный LPCC или MFCC). Чему скармливать эти вектора - дело твое. Но зачем взяты для этого CММ, лично мне непонятно. СММ хорошо подходят для распознавания динамических образов (слитная речь - один из них). Когда же вектор усреднен на множестве реализаций, то задача становится статической. Можно брать SVM, нейросети и т.п. Мне кажется, на форуме уже была подобная тема, поищи. |
Автор: VictorTsaregorodtsev 5.10.2007, 16:25 |
deil, можно поначалу попробовать погонять СММ и на исходном сигнале. СММ для одномерного сигнала - это проще. Хорошая бумажная книжка - Моттль ВВ, Мучник ИБ Скрытые марковские модели в структурном анализе сигналов, М, Физматлит, 1999, 359с. Там задачи и самообучения, и обучения с учителем, и для одномерных сигналов, и для многомерных. Всем рекомендую по поводу СММ. |
Автор: SoWa 6.10.2007, 18:47 |
А проблемма удаления шума поднималась похоже ранее. Если я правильно помню, то там оценкой экстремумов велось отсеивание "шума" от полезной записи. Если интересует, могу найти, выложить |
Автор: podval 8.10.2007, 12:59 |
А если в английском силён, то срочно качать: http://dsp-book.narod.ru/RabHMMSA.pdf |
Автор: nedumat 11.10.2007, 19:45 |
ну для различия речь не речь есть VAD - скачай кодек speex (http://speex.com )там есть VAD. Можно сделать прото подсчет энергии сигнала. E += Xi^2+ Xi^2 , мол, сказать, если энергия сигнала меньше определенного уровня - то это не речь. Марковскую модель строй на основе минимально различимого звука (фонетическая структура сигнала.) Работа - пипец одному слишком долго. |