- В принципе, лучшие функции, используемые для сравнения речи и голоса, - это MFCC.
Есть некоторые программные обеспечения, которые могут быть использованы для извлечения этих коэффициентов: Praat website
Вы также можете попытаться найти LIB для извлечения этих коэффициентов.
[Изменить: Я нашел в tuneR documentation, что она имеет функцию для извлечения MFCC - поиск функции melfcc()
]
- После вы извлекли эти функции, вы можете использовать Machine Learning (SVM, RandomForests или что-то подобное) для разработки классификатора.
У меня есть семинар, который я представил о системах распознавания громкоговорителей, взгляните на него, это может быть полезно. (Seminar)
Если у вас есть время и интерес, вы можете Algo прочитать:
Authors: Kinnunen, T., & Li, H. (2010)
Paper: an overview of text-independent speaker recognition: From features to supervectors
После получения вектора признаков для каждого аудио образца (с MFCC и/или другими функциями), то вы» должно будет сравнивать пары векторов признаков (Особенности от АпротивОсобенности от B):
Вы могли бы попытаться использовать абсолютную разницу между этим отличать в ctors:
- абс (функция вектора из A - вектора признаков из В)
В результате вышеописанной операции является функция вектора, где каждый элемент> = 0 и имеет тот же размер вектор-функции A (или B).
Вы можете также проверить поэлементное умножение между функциями А и В:
- (A1 * B1, A2 * B2, ..., * Bn)
Затем вам необходимо маркировать каждый вектор признаков
(1, если человек A == B человек и 0, если человек А! = Человек B).
Обычно абсолютная разница работает лучше, чем вектор признаков умножения, но вы можете добавить оба вектор и тестирование производительности классификатора с использованием как абса дифф и умножения функции одновременно.
Я не эксперт по обработке звука, но вы можете сделать много вещей с 'seewave', которые могут быть полезны для вас. Для вашей конкретной проблемы мне приходят спектрограммы и нормализация амплитуды - оба из которых можно легко сделать в «seewave». – cryo111
Я благодарен за ваше предложение, я попробовал нормализацию амплитуды в пакете сейва, но, насколько мне известно, нам нужно иметь оправданные значения при нормализации, которые я могу найти, пожалуйста, дайте мне знать, если у вас есть какие-либо идеи относительно этого. Еще раз спасибо. – Dinesh