![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить амплитуду звука? [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 бит если не соврал) и затем сами данные.