freeverbをサンプリングレート可変にし、ライブラリ化しました。 freeverb3の方が新しいです。
// cc -Ilibfreeverb -lfreeverb #include <revmodel.hpp> revmodel reverbm; reverbm.resetfs(96000); reverbm.setwet(.4); reverbm.setroomsize(0.7); reverbm.setdry(0.1); reverbm.setdamp(0.5); reverbm.setwidth(0.9); #ifdef DEBUG reverbm.printconfig(); #endif for(...) { // float * fL, * fR; len=sizeof(fL[]); reverbm.processmix(fL,fR,fL,fR,len,1); }
SDL_mixer+freeverb test
SDL_mixerのMix_RegisterEffectのサンプルを兼ねています。
libfreeverb-1.0.0
autoconf化してあります。
freeverbsource.zip(Original Freeverb 3 VST Source + DLL)
OriginalのVSTのソースコードです。
An apple a day keeps the doctor away. An onion a day keeps everyone away! -- One of Nadav Har'El's Email Signatures. <rindolf> wankit <buubot> Perl 6, unlike most people, is able to breathe in the vacuum of space. In fact, anything else would damage its respiratory system. Because of this, whenever it's visiting Earth, it wears a respirator, which resembles a kickass beard. <rindolf> Heh heh. <rindolf> Are all of buubot's wankit factoids about Perl 6? <rindolf> He should have some about Chuck Norris, too. <merlyn> fictional factoids about a partially designed, partially implemented, partially wanted language. :) <rindolf> merlyn: yeah. <merlyn> Heh - those are all Chuck Norris quotes with s/Chuck/P6/ <dabreegster> rindolf: It's written in Chuck Norris, right <merlyn> Chuck Norris writes code in Perl 6. Before Larry's done. And it works. <rindolf> merlyn: Chuck Norris wrote Perl 6 in a day but then destroyed all evidence with his bare hands, so no one will know his secrets. -- Discussing the merits of documenting one's pet languages on -- #perl, Freenode