Сравните голосовой WAV в Android или голосовой тег (голосовые команды) API - PullRequest
6 голосов
/ 08 февраля 2011

Я разрабатываю приложение, и мне нужен какой-то способ сравнить 2 голоса, если они совпадают или нет, я знаю, что Voice Recognizer - это способ сделать это, но так как (я думаю) он должен перевести голос в строку во-первых, он не подходит для других языков, кроме языка, поддерживаемого распознавателем речи ... есть идеи? Как и в случае со старыми телефонами, голосовая метка сравнивает голосовой ввод с голосом, записанным ранее во время настройки

Ответы [ 2 ]

5 голосов
/ 08 февраля 2011

A относительно простой способ сделать это - использовать БПФ (быстрое преобразование Фурье), чтобы преобразовать данные временной области исходного файла WAV в данные частотной области (в которой каждое значение в вашем преобразованном массив представляет относительную величину / интенсивность определенной полосы частот).

Если один и тот же человек произносит одно и то же слово дважды, результирующие данные во временной области, тем не менее, будут по-прежнему сильно отличаться в числовом выражении в двух файлах WAV. Преобразование обоих файлов WAV в частотную область (с использованием одного и того же размера окна FFT для обоих, даже если два файла имеют слегка различную длину) приведет к созданию частотных массивов, которые намного больше похожи друг на друга, чем исходные файлы WAV. 1005 *

К сожалению, я не смог найти библиотек FFT специально для Android. Вот вопрос, который ссылается на некоторые библиотеки на основе Java:

Библиотека обработки сигналов на Java?

1 голос
/ 10 ноября 2011

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

Этот API http://code.google.com/p/musicg-sound-api/ написан на Java и может быть использован в Android. Он захватывает волновую спектрограмму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...