Here's the site: http://boomsk.com/ (http://boomsk.com/)
And here are a few more examples: http://boomsk.com/examples.html (http://boomsk.com/examples.html)
Cheers,
Bill.
I think that was implied by abstractbill when he said he threw it together over a long weekend. It's what it is, and if it works (I haven't tried it yet) that's cool!stratum wrote:I guess this is one of "I did it because I can" kind of things.
I used to have such weekends. Nowadays I prefer going to somewhere outdoors with an old 4x4 (old ones are cheap). Long trips in nature are pretty cool and relaxing.. it even gives you some silent time to think about life in general and what you want to do. A friend of mine used to say swimming is similar.I think that was implied by abstractbill when he said he threw it together over a long weekend. It's what it is, and if it works (I haven't tried it yet) that's cool!
Agreed, but still... things that only change whenever a parameter changes (such as the offset between the buffer read and write pointers in a delay) should not be recalculated upon each sample. Look at the current JavaScript sample code from the web site:AdmiralQuality wrote:And I think it actually should call the process on a per-sample basis. The sample loop can be done by the framework, as it's the same every time. I also think 1 sample frame sized buffers are going to be very common in near future DAWs.
Code: Select all
var bufferLen = 5 * 96000; // a reasonable maximum
var leftBuffer = new Float64Array(bufferLen);
var rightBuffer = new Float64Array(bufferLen);
var writeHead = 0;
function processAudio(input, output, params) {
leftBuffer[writeHead % bufferLen] = input[left];
rightBuffer[writeHead % bufferLen] = input[right];
var readHead = ((Math.round(writeHead - (params.delay * params.sampleRate))) + bufferLen) % bufferLen;
output[left] = input[left] * (1 - params.wet) + leftBuffer[readHead] * params.wet;
output[right] = input[right] * (1 - params.wet) + rightBuffer[readHead] * params.wet;
writeHead++;
}That may be the case, but doesn't make JavaScript a good language for realtime audio processing.abstractbill wrote:- There are many more JavaScript than c++ programmers
I'd never ever rely on the optimizations supposedly done by a compiler. I'm a strong supporter of making code as efficient as humanly possible.arakula wrote:.) "writeHead % bufferLen" is calculated twice for no reason;
should be done at the bottom as "writehead = (writeHead + 1) % bufferLen;"
Depending on how clever the JIT compiler is, this might save some CPU cycles.
Really?? That's a scary development... Would you know of any published figures to support that statement?abstractbill wrote:- There are many more JavaScript than c++ programmers
C++ is notorious for things that it never deserved to be criticized about, so I'm not surprized that such a comment may be made without any published figures.Really?? That's a scary development... Would you know of any published figures to support that statement?
Submit: News, Plugins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement
© KVR Audio, Inc. 2000-2026