Как я могу определить частоту звука на Java - PullRequest
1 голос
/ 16 апреля 2011

Мне нужно прочитать потоковое аудио и определить сгенерированные ультразвуки. Как найти определенную последовательность звуков из потокового аудио?

Сначала я подумал о направлении DTMF, но затем отклонил его, потому что эточеловеческое ухо слышит.

Если у вас есть другие идеи, я буду рад их услышать.

1 Ответ

3 голосов
/ 16 апреля 2011

Простым способом было бы использование преобразования Фурье, которое превращает периодические сигналы в красивую частотную диаграмму.Разрежьте входящий сигнал на короткие порции, примените FFT и посмотрите, достаточно ли высоки уровни в правой части спектра.Это, конечно, будет работать только для сигналов, которые достаточно длинны.

Но обнаружение ультразвука с помощью стандартного аудиовхода ПК может быть сложным;стандартно дискретизировать поступающий звук с частотой 44100 Гц, поэтому у вас будут только очень искаженные признаки, близкие к ультразвуку.Более новые карты поддерживают более высокие частоты дискретизации, например, 192 кГц.

...