![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа со звуком в реальном времени [D7]
Yura27 © (2005-04-17 08:29:00)Подскажите пожалуйста, как работать со звуком в реальном времени. Читать Wave-файлы я научился, проигрывать их через DirectSound тоже, а вот как мне проигрывать и на ходу обрабатывать этот звук. То есть мне нужно сделать Эффекты в реальном времени. Как делать сами алгоритмы для эффектов я знаю, я не знаю как их применять во время проигрывания звука. Есть конечно один вариант: перед проигрыванием wave-файла, создать новый wave-файл с уже примененным эффектом. Но это будет сильно долго и коряво.
Или может хотя бы кто-нибудь подскажет: мне нужно получить функцию-событие, которое происходит при сигнале WaveOut на звуковую карту. Для файлов с частотой 44100Hz, получается эта функция должна вызываться 44100 раз в секунду. Таймером здесь не напасешься.
WondeRu (2005-08-08 12:57:00) [1]thaddy (08.08.05 0:11) [7]
I knew that. I worked on the development of dspack. (see credits on the dspack website)
Wow! Respect :)
thaddy (2005-08-08 00:11:00) [2]I knew that. I worked on the development of dspack. (see credits on the dspack website)
WondeRu (2005-08-04 14:56:00) [3]Thaddy (04.08.05 13:58) [5]
DSPACK is only wrapper for DirectShow (see [2])
Yura27 (17.04.05 8:29)
можно вообще написать DSP-плагин для ВинАмпа и мучать себя...
Thaddy (2005-08-04 13:58:00) [4]For true realtime there are only two proper choices, and Bass.dll is not one of them:
ASIO, for which Delphi units are available from www.tobybear.de
DSPACK, from www.dsp-worx.de
ASIO has the lowest latency, is the easiest to program and is the most professional for realtime audio programming.
programania (2005-08-03 21:49:00) [5]BASS.dll http://www.un4seen.com
играет mp3 ogg wav и в ней есть
BASS_ChannelSetDSP(chan, CallBack, 0);
и при проигрывании вызывается
procedure CallBack(handle: HDSP; channel: DWORD; p2: Pointer; l1, user: DWORD); stdcall;
в которой можно делать со звуком что угодно
например я делаю псевдостерео
и пропуск музыки непригодной для плясок
(2005-08-03 00:34:00) [6]Удалено модератором
Анонимщик1 (2005-04-18 11:14:00) [7]Не парь мозги своими обработками - верное средство - написать DirectShow фильтр для саунда или, как вариант (поскольку у тебя какие-то эффекты), делать это с помощью DMO.
Руслана (2005-04-17 12:05:00) [8]А создать промежуточный буфер - туда копировать порцию данных, обрабатывать , а потом отсылать этот буфер в звуковуху? Только буфер конечно не один, а несколько, но идея такая