|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 11 Apr 2002 21:56:18 To : Aleksey Malov Subject : Re: Распознавание речи. -------------------------------------------------------------------------------- Однажды 09-Apr-02 в 19:19 Aleksey Malov (2:5052/30.8) написал All по поводу -=- Распознавание речи. -=- AM> В общем, задача: AM> Имеется некоторый набор голосовых команд, типа: "Стой", "Сидеть", "Лежать", AM> "Идти" (на самом деле, обычные короткие фразы). AM> Пользователь произносит какую-нибудь фразу из этого списка (или вообще AM> какую-нибудь левую фразу). Hадо как-то проанализировать произнесенную AM> фразу и определить, какую же он команду дал. AM> Вот такую лабу нам задали по "Kомпьютерным аудио-системам". Препод AM> говорит, что особой сложности эта задача не представляет, что надо делать AM> что-то типа сравнения фразы и оригинала и анализировать ошибку сравнения. AM> Hо мне кажется, что это полный бред, т.к. одну и ту же фразу произнести AM> очень похоже два раза практически невозможно (ошибки будут колоссальные). AM> Может, есть какие-нибудь идеи. Желательно, простые, но работающие. Думаю, побайтное сравнение... 1. Слишком ресурсоемко. 2. Hе приведет к каким-либо положительным результатам, вследствие влияния разброса фазы. Скорее всего, сначала следует существенно редуцировать данные. В качестве одного их возможных вариантов могу предложить построить зависимость уровня звука от времени (напрмер, возвести все отсчеты в квадрат, а затем пропустить через фильтр с частотой среза 20-50 Гц), найти начало и конец и произвести передискретизацию на гораздо более низкую частоту или даже вообще растянуть равномено на всю длительность сигнала с сотню точек и уже только после этого искать корреляцию. Да, частоту фильтра следует согласовать с частотой последующей передискретизации, а крутизну брать побольше. И только потом искать корреляцию. В качестве варианта того же самого, но только более надежного и ресурсоемкого можно провести аналогичный анализ в нескольких спектральных полосах. Правда, в этом случае, думаю, алгоритм обработки будет несколько другой: Сначала также найти начало и конец, затем разбить сигнал на определенное количество интервалов (дкмаю, здесь их будет нужно поменьше сотни, штук 30, не больше). В каждом из интервалов произвести Фурье-анализ и получить уже двумерный массив, по одной оси которого будет частота, а по другой время. И уже здесь искать корреляцию. До свидания, в 21:01 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053CB60682.html, оценка из 5, голосов 10
|