2015-12-14 2 views
8

Я работаю над проектом, где моя задача связана с речевым/аудио/голосовым сравнением. Этот проект используется для оценки победителя в соревнованиях (мимика). Практически мне нужно записать речь/голос пользователя и сравнить его с оригинальным аудио-файлом и вернуть процентное совпадение. Мне нужно развить это на R-языке.сравнение звука с R

Я уже пробовал связанные с голосованием пакеты в R (tuneR, audio, seewave), но в моем поиске я не могу получить информацию, связанную с сравнением.

Мне нужна помощь от вас, ребята, где я могу найти информацию, связанную с моей работой, и это лучший способ справиться с такими проблемами, и если есть какие-то предпосылки для обработки этих типов аудиосвязи Работа.

+0

Я не эксперт по обработке звука, но вы можете сделать много вещей с 'seewave', которые могут быть полезны для вас. Для вашей конкретной проблемы мне приходят спектрограммы и нормализация амплитуды - оба из которых можно легко сделать в «seewave». – cryo111

+0

Я благодарен за ваше предложение, я попробовал нормализацию амплитуды в пакете сейва, но, насколько мне известно, нам нужно иметь оправданные значения при нормализации, которые я могу найти, пожалуйста, дайте мне знать, если у вас есть какие-либо идеи относительно этого. Еще раз спасибо. – Dinesh

ответ

5
  • В принципе, лучшие функции, используемые для сравнения речи и голоса, - это 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).

Обычно абсолютная разница работает лучше, чем вектор признаков умножения, но вы можете добавить оба вектор и тестирование производительности классификатора с использованием как абса дифф и умножения функции одновременно.

+1

Хороший ответ, но автор ссылался на конкурс. У меня нет опыта в обработке аудио, поэтому я считаю это очень интересным. Но разве вы не хотели бы смотреть на какую-то функцию, как на норму двух векторов, причем один вектор - это то, что вы пытаетесь подражать, а другое - конкурентом, а не пытаться классифицировать? –

+1

Я никогда не работал с мимикой, но я уже работал с системами распознавания динамиков (SRS). Чтобы решить эту мимическую проблему, я бы использовал тот же подход, который используется в SRS. В SRS мы разрабатываем классификатор, который должен быть устойчивым к спуфингам (а также имитировать). Один из способов борьбы с спуфированием - использовать классификатор в качестве предиктора (получить вероятностную характеристику классификатора). Вместо того, чтобы искать норму, я бы посмотрел на эту Вероятность между конкурентом и то, что вы пытаетесь имитировать. Лучшие мимики будут иметь больший балл в классификаторе –

+0

Я бы выбрал подход выше, потому что я думаю, что мимическая проблема аналогична проблеме спуфинга в Speaker Recognition Systems. Норма, как правило, не самый лучший подход, но это один из самых простых в реализации. Вместо нормы лучшим более простым подходом было бы вычисление векторов признаков для A (конкурента) и B (попытка имитировать), а затем вычисление сходства косинусов (или корреляции) между обоими векторами признаков. –

Смежные вопросы