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

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

Как получить амплитуду звука? [D3, D5, Win95/98, Win2k]


Arthur1 ©   (2002-12-13 10:25:00) 

Подскажите плиз, как получить амплитуду (не состояние регулятора громкости) выходного звукового сигнала в текущий момент времени?


Arthur1   (2002-12-13 12:40:00) [1]

Да, мне нужно именно 16-битное слово, т.к. я хочу сделать АРУ звука (не зависимо от источника).
Но как мне его прочесть? Если не тяжело какой-то примерчик или где искать?
Спасибо.


Evgeny V   (2002-12-13 11:27:00) [2]

Я так понял речь идет о данных, которые подаются на выход sound.
Если ты выдаешь в формате PCM 16 бит, то каждое 16 битное слово -это и есть амплитуда, что касается в текущий момент, то здесь на мой взгляд есть ньюансы. Устройство блочное, ты выдаешь буфер(блок) данных, ну и соответсвенно ты можешь узнать или пиковое(максимум) значение за определенный момент времени или какую-то усредненную оценку. Надо учесть что понятие амплитуда в данных и амплитуда на выходе это не равнозначные вещи, так как играют роль и регуляторы гроикости и собственно сама звуковая карта(разные карты могут один и тот же сигнал выдать разным уровнем).
Если у тебя есть wav файл,то проанализировать сигнал ты можешь непосредственно открыв этот файл, в нем есть секция(chunk) data, после которой идет размер блока данных(32 бит если не соврал) и затем сами данные.


Наверх

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