Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Работа со звуком в реальном времени   Найти похожие ветки 

 
Yura27   (2005-04-17 08:29) [0]

Подскажите пожалуйста, как работать со звуком в реальном времени. Читать Wave-файлы я научился, проигрывать их через DirectSound тоже, а вот как мне проигрывать и на ходу обрабатывать этот звук. То есть мне нужно сделать Эффекты в реальном времени. Как делать сами алгоритмы для эффектов я знаю, я не знаю как их применять во время проигрывания звука. Есть конечно один вариант: перед проигрыванием wave-файла, создать новый wave-файл с уже примененным эффектом. Но это будет сильно долго и коряво.
Или может хотя бы кто-нибудь подскажет: мне нужно получить функцию-событие, которое происходит при сигнале WaveOut на звуковую карту. Для файлов с частотой 44100Hz, получается эта функция должна вызываться 44100 раз в секунду. Таймером здесь не напасешься.


 
Руслана   (2005-04-17 12:05) [1]

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


 
Анонимщик1   (2005-04-18 11:14) [2]

Не парь мозги своими обработками - верное средство - написать DirectShow фильтр для саунда или, как вариант (поскольку у тебя какие-то эффекты), делать это с помощью DMO.


 
имя   (2005-08-03 00:34) [3]

Удалено модератором


 
programania ©   (2005-08-03 21:49) [4]

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;
в которой можно делать со звуком что угодно
например я делаю псевдостерео
и пропуск музыки непригодной для плясок


 
Thaddy   (2005-08-04 13:58) [5]

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.


 
WondeRu ©   (2005-08-04 14:56) [6]

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-08 00:11) [7]

I knew that. I worked on the development of dspack. (see credits on the dspack website)


 
WondeRu ©   (2005-08-08 12:57) [8]

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 :)



Страницы: 1 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1135516976
SergProger
2005-12-25 16:22
2006.01.15
FindFirst в сети


2-1135364205
AMiR
2005-12-23 21:56
2006.01.15
не показываются иконки


2-1135515974
gidd
2005-12-25 16:06
2006.01.15
ScrollBox1.ComponentCount


6-1128316994
SiDoff
2005-10-03 09:23
2006.01.15
Как программно изменить ШЛЮЗ (в XP)?


14-1135254857
Nic
2005-12-22 15:34
2006.01.15
Влияние высшего образования...