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

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

Работа со звуком в реальном времени [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]

А создать промежуточный буфер - туда копировать порцию данных, обрабатывать , а потом отсылать этот буфер в звуковуху? Только буфер конечно не один, а несколько, но идея такая


Наверх

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