Как сравнить слово произносить? - PullRequest
5 голосов
/ 11 июня 2011

Это для моего личного проекта, и я понятия не имею, с чего начать, так как он выходит далеко за пределы моей зоны комфорта.

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

У меня вопрос, как этого добиться?

Я имею в виду, как сравнивать произношение между пользователем и носителем языка?

Ответы [ 2 ]

2 голосов
/ 12 июня 2011

Если вы ищете что-то относительно простое, вы можете просто вычислить MFCC (http://en.wikipedia.org/wiki/Mel-frequency_cepstrum) записи), а затем посмотреть на что-то простое, например, на соотношение между записью и средними коэффициентами этого слова, произнесенногоНоситель языка. MFCC преобразует звук в пространство, где евклидово расстояние больше соответствует разнице восприятия.

Конечно, есть несколько возможных проблем:

  1. Выравниваниедве записи, так что коэффициенты совпадают. Чтобы исправить это, вы можете посмотреть на максимальную взаимную корреляцию коэффициентов, а не на простую корреляцию, так что вы получите автоматическое «лучшее выравнивание» бесплатно. Также, вы можете иметьобрезать концы записи, чтобы в записи оставалось только фактическое произношение слова.

  2. MFCC отображается в пространство восприятия, но может не так хорошо соответствовать неточностям акцента.Возможно, вы можете попытаться исправить это по инстпросто сравнить его с «идеальным» произношением, сравнить его со средним для нескольких разных типов неправильного произношения и посмотреть, к какой модели он ближе всего.

  3. Даже хорошие акцентированные словабудет в среднем некоторое «расстояние» от идеала.Вы должны будете принять это во внимание и сравнить расстояние входа с «относительным» хорошим расстоянием.

  4. Корреляция может быть не лучшим способом сравнить относительное сходство двух звуков,Поэкспериментируйте с множеством разных метрик ... попробуйте разные нормы L ^ p: (http://en.wikipedia.org/wiki/Lp_space), или попробуйте по-разному взвесить разные MFCC (если я помню, даже после того, как MFCC были приняты, хотя все они должны иметь одинаковое восприятие)вес », те, что в середине, все еще более важны для восприятия звука, чем высокие или низкие.)

  5. Там могут быть определенные части звука, где произношение имеет значениегораздо больше для качества акцента. Возможно, переходное обнаружение, чтобы найти эти позиции и пометить их как более важные, было бы хорошо. Если бы у вас была целая куча примеров «хорошего произношения» и «плохого произношения», вы, вероятно, могли бы автоматически извлечь ихместоположения.

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

1 голос
/ 11 июня 2011

Я читал об адаптации моделей гауссовой смеси для фонетического пространства общего говорящего к человеку.Это может быть полезно для обучения неканоническому акценту для личного использования.

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

Проверка динамика с использованием адаптированных моделей гауссовой смеси

РЕДАКТИРОВАТЬ: просматривая ваш вопрос еще раз, я думаю, что ответил на другой вопрос.Но в этой методике используются аналогичные модели:

  1. Моделирование на разных языках (У вас много данных для разных языков? Сбор данных может быть трудной частью.) Для этого хорошо подходят GMM.
  2. Сравните точку данных от говорящего с различными языковыми моделями
  3. Выберите модель, которая является лучшим предиктором для данных говорящего, в качестве победителя.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...