Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Звук


Mikhael ©   (2003-06-20 23:14:00) 

Как узнать высоту входящего через микрофон звука?


li   (2003-06-21 18:17:00) [1]

Очень в принципе просто:
1. Нужно болучить буфер необходимой длины с записью сигнала.
2. Получить спектр амплитуд сигнала.

Получить спектр сигнала можно используя дискретное преобразование фурье, в любом учебнике по мат. анализу есть формулы, но если из формул тяжело составить алгоритм можешь порыть в инете, и найти кучу инфы. Желательно использовать быстрые преобразования фурье, такие как например малый и большой алгоритм Винограда (инфы так же полно).

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

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


Verg   (2003-06-21 11:35:00) [2]

Высота - это...?
Дай догадаюсь: Надо получить спектр сигнала. Спроси у Фурье...

" - Как найти площадь Ленина?
- Ширину Ленина умножить на длину Ленина..." (C) Анекдот.


Anatoly Podgoretsky   (2003-06-21 10:43:00) [3]

Синус или другая правильная периодическая форма?


Наверх

Титульная страница Поиск, карта сайта Написать письмо