powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Линеаризация звука, алгоритм обнаружения речи.
25 сообщений из 26, страница 1 из 2
Линеаризация звука, алгоритм обнаружения речи.
    #34045232
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где можно почитать про сабжи?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34045853
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как таковую речь она не обнаруживает.
она обнаруживает то, на что натренирована.

натренируюшь ее слышать фразу "привет, медведь"
она эту фразу услышит в соловьиной трели.



http://htk.eng.cam.ac.uk/

http://users.iptelecom.net.ua/~agp1/arts/htkbook.pdf

http://users.iptelecom.net.ua/~agp1/arts/HTK_basic_tutorial.pdf
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34046475
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizкак таковую речь она не обнаруживает.
она обнаруживает то, на что натренирована.


Меня интересует не распонование речи, а обнаружение. Мне валится звук, и я должен определить, что там идет речь.

И желательно не продукты, а алгоритмы. Т.е. звук валится в ALAW, мне его надо линеаризовать, а потом смотреть пороги и гармоники. Как это делается?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34046564
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что есть речь ? Любой звук издаваемый человеком с помощью голоса ? А крик ужаса A-A-A-A-A это речь ? а цыканье тихим шепотом т-сссс это речь ? Какова вообще цель обнаружения ?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34046688
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneА что есть речь ? Любой звук издаваемый человеком с помощью голоса ? А крик ужаса A-A-A-A-A это речь ? а цыканье тихим шепотом т-сссс это речь ? Какова вообще цель обнаружения ?

1. Да хоть п....ж. .
2.1. Выделение разговора.
2.2. Экономия дискового пространства.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34046942
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм, всякие VOIP-ные системы распознают не речь, а, наоборот, тишину.
может, стоит поступить так же?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34046954
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftхм, всякие VOIP-ные системы распознают не речь, а, наоборот, тишину.
может, стоит поступить так же?

А это не одно и то же? Выделение порогов, определение гармоник...

Мне нужны алгоритмы.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34046999
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh miksoftхм, всякие VOIP-ные системы распознают не речь, а, наоборот, тишину.
может, стоит поступить так же?

А это не одно и то же? Выделение порогов, определение гармоник...

Мне нужны алгоритмы.кроме речи и тишины бывает масса других звуков :)

а тишину, мне кажется, определить достаточно просто.
например, среднеквадратичное значение сигнала в течение определенного периода не превышает определенного порога.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34047027
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft Akh miksoftхм, всякие VOIP-ные системы распознают не речь, а, наоборот, тишину.
может, стоит поступить так же?

А это не одно и то же? Выделение порогов, определение гармоник...

Мне нужны алгоритмы.кроме речи и тишины бывает масса других звуков :)

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

1. На сколько я знаю, сначала надо линеаризовать из ALAW
2. Потом:
2.1. Если по среднеквадратическому занчению: какой период, какой порог?
2.2. Как рассказывали: берется просто интеграл, и смтрится по порогам, потом ищутся гармоники.

Кстати, мне кажется, что 2.1. как раз аналогичен 2.2., только чуть медленнее.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34047148
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh1. На сколько я знаю, сначала надо линеаризовать из ALAW
A-law
Akh2. Потом:
2.1. Если по среднеквадратическому занчению: какой период, какой порог?Это наверное экспериментально/настраиваемо
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34047229
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akhгляньте несколько ссылочек:
Некоторые аспекты технологий IP-телефонии
Speech Coding
файлик с исходником, который, возможно, будет полезен
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34047431
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft Akhгляньте несколько ссылочек:
Некоторые аспекты технологий IP-телефонии
Speech Coding
файлик с исходником, который, возможно, будет полезен

Спасибо. Code for various ADPCM codecs, as well as the G711 A-law and u-law PCM, вроде, как раз то что надо.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34048880
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akh tchingizкак таковую речь она не обнаруживает.
она обнаруживает то, на что натренирована.


Меня интересует не распонование речи, а обнаружение. Мне валится звук, и я должен определить, что там идет речь.

И желательно не продукты, а алгоритмы. Т.е. звук валится в ALAW, мне его надо линеаризовать, а потом смотреть пороги и гармоники. Как это делается?

Алгоритмы там есть, смотрите ссылки.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34049946
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Алгоритмы там есть, смотрите ссылки.

Воспроизвел алгоритм из исходиков, но возникла проблема: для микрофонов с разной чувствительностью идет постоянная состоявляющая во время тишины, которая для них разная (пробовал и СКО и сумму модулей амплитуды). Допустим для одного 300, а для другого 30. Причем, если говорить тихо на втором (на уровне 100-200), то это слышно на другом. Как определить порог? Путем анализа во времени по порогам, мне кажется не правельным, т.к., если говориться непрерывно продолжительное время, то может получиться, что за тишину можно взять голос, и звуковые данные будут теряться.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052223
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akh c127Алгоритмы там есть, смотрите ссылки.
Воспроизвел алгоритм из исходиков, но возникла проблема: для микрофонов с разной чувствительностью идет постоянная состоявляющая во время тишины, которая для них разная (пробовал и СКО и сумму модулей амплитуды). Допустим для одного 300, а для другого 30. Причем, если говорить тихо на втором (на уровне 100-200), то это слышно на другом. Как определить порог? Путем анализа во времени по порогам, мне кажется не правельным, т.к., если говориться непрерывно продолжительное время, то может получиться, что за тишину можно взять голос, и звуковые данные будут теряться.
Если мы говорим о ссылках http://www.sql.ru/forum/actualthread.aspx?tid=348352#3244824
то алгоритмы основаны на скрытых моделях Маркова (Hidden Markov Models, HMM). Для того чтобы модель распознавала тишину ее нужно тренировать. Берется набор файлов, содержащих то, что мы хотим узнавать как тишину, и тренируется. Я не уверен, но похоже что алгоритмы HTK проводят нормализацию самостоятельно. В идеале порог в явном виде задавать не нужно, но tchingiz говорит, что там вроде бы есть параметр командной строки, который отвечает за нормализацию, т.е. указав его можно как-то помочь алгоритму, но это делать не обязательно.

Как раньше сказал tchingiz, у алгоритма, использованного в HTK, есть проблема: он обязательно что-то узнает. Т.е. не сможет сказать, что "этот звук я не знаю". Поэтому, например, нельзя обучить модели фонемам и задать правило: все что угодно, кроме фонем (например тишина). Для того, чтобы узнать "все что угодно кроме ..." нужно это "все что угодно" включить в обучающую последовательность, то есть построить соответствующую модель или несколько моделей. Но зато если это сделано, то работает довольно надежно. Вроде бы это на сегодняшний день самый надежный метод в распознавании звуков.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052229
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что относительно простая задача решается слишком сложными средствами.
Автору не надо распознавать речь, ему надо лишь обнаружить ее наличие.
АФАИР, человек распознает человеческую речь исключительно посредством анализа спектра. Анализируются не абсолютные значения, но соотношения частот.
Именно это позволяет понимать и бас, и фальцет.
Поэтому я бы начал с простого разложения по Фурье и попробовал бы анализировать количество и соотношение пиков.
Впрочем, ИМХО - специалистам виднее.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052276
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Поэтому я бы начал с простого разложения по Фурье и попробовал бы анализировать количество и соотношение пиков..
htk и построена на фурье
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052277
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh c127Алгоритмы там есть, смотрите ссылки.

Воспроизвел алгоритм из исходиков,
как это - воспроизвел из исходников?
и из каких?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052673
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Если мы говорим о ссылках http://www.sql.ru/forum/actualthread.aspx?tid=348352#3244824
то алгоритмы основаны на скрытых моделях Маркова (Hidden Markov Models, HMM). Для того чтобы модель распознавала тишину ее нужно тренировать. Берется набор файлов, содержащих то, что мы хотим узнавать как тишину, и тренируется. Я не уверен, но похоже что алгоритмы HTK проводят нормализацию самостоятельно. В идеале порог в явном виде задавать не нужно, но tchingiz говорит, что там вроде бы есть параметр командной строки, который отвечает за нормализацию, т.е. указав его можно как-то помочь алгоритму, но это делать не обязательно.

Как раньше сказал tchingiz, у алгоритма, использованного в HTK, есть проблема: он обязательно что-то узнает. Т.е. не сможет сказать, что "этот звук я не знаю". Поэтому, например, нельзя обучить модели фонемам и задать правило: все что угодно, кроме фонем (например тишина). Для того, чтобы узнать "все что угодно кроме ..." нужно это "все что угодно" включить в обучающую последовательность, то есть построить соответствующую модель или несколько моделей. Но зато если это сделано, то работает довольно надежно. Вроде бы это на сегодняшний день самый надежный метод в распознавании звуков.

Для того, что бы научиться определять тишину, надо что бы в выборке были и тишина, и речь. Тогда алгоритм сможет подстроиться. Какую брать выборку? Человек 10 минут может непрерывно орать в трубку и я за тишину возьму самое маленькое орево, а потом, когда он начнет разговаривать нормально, то на время подстроения нового порога, речь будет проглатываться.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052692
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousМне кажется, что относительно простая задача решается слишком сложными средствами.
Автору не надо распознавать речь, ему надо лишь обнаружить ее наличие.
АФАИР, человек распознает человеческую речь исключительно посредством анализа спектра. Анализируются не абсолютные значения, но соотношения частот.
Именно это позволяет понимать и бас, и фальцет.
Поэтому я бы начал с простого разложения по Фурье и попробовал бы анализировать количество и соотношение пиков.
Впрочем, ИМХО - специалистам виднее.

Сейчас, после принятия порога, начинаю оценивать разницу между средними квадритичными расположенными совсем рядом. Посмотрю результат.

Зы а про фурье, применимому к данной задаче, на пальцах можно?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052704
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz Akh c127Алгоритмы там есть, смотрите ссылки.

Воспроизвел алгоритм из исходиков,
как это - воспроизвел из исходников?
и из каких?

Алгоритм линеаризации. Он же есть и в третьей ссылке mikesoft'а. Правда, сейчас уже использую другой.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34052708
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz andrey_anonymous
Поэтому я бы начал с простого разложения по Фурье и попробовал бы анализировать количество и соотношение пиков..
htk и построена на фурье

А кто такой htk?
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34053630
mikolas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО В общем случае эта задача решения не имеет.
Нужно придумать какие нибудь допущения.
Например первое - распознать тишину от речи:))
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34053930
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikolasИМХО В общем случае эта задача решения не имеет.
Нужно придумать какие нибудь допущения.
Например первое - распознать тишину от речи:))

Да, да. Этим и занимаюсь.
...
Рейтинг: 0 / 0
Линеаризация звука, алгоритм обнаружения речи.
    #34053955
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хочу уходить от темы, так как много ответов еще жду (htk, фурье), но все же...

Сейчас так: за выборку беру 1 мс, туда влазит 8 отсчетов. Беру СКО от выборки.
Также считаю СКО по 20-ти выборкам.
Если СКО>100 и разница между СКО хотябы один раз тоже больше 100 - началась речь. Далее смотрю, только разницы. В итоге получается довольно точное разпознование для двух устройств с разной чувствительностью микрофонов. И! Внимание! Выделяются чуть ли не слоги, т.е. получаются фонемы? Это уже получается база для Распознования Речи (слов). Такая задача, правда, у меня не стоит, но результат мне нравится.

Так вот, хочу, еще сделать более надежным алгоритм выделения пауз, за счет, как тут говорилось, преобразования Фурье. Как это делается даже не представляю, и не знаю куда смотреть.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Линеаризация звука, алгоритм обнаружения речи.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]