Online Sequencer Forums

Full Version: Pitch Bending
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
You know what Online Sequencer needs? That's right. PITCH BENDING. It would make it so much cooler to do 8 bit music with pitch bending. Everyone spam _Jacob's PM with "PITCH BENDING!!"
Hi, seeing this thread being under 'Completed', where is the pitch bend tool located in the interface? Thanks.
Actually, this would not be hard to implement, because of the way 8-bit instruments are coded. The only problem would be actually making a cool-looking and functional UI.
https://developer.mozilla.org/en-US/docs...ode/detune
1 hour of coding a prototype without UI later
whoops, this isn't even bug-free to my knowledge
it's actually hard-ish
Code:
pitchAuto = [0, 25, 50, 75];

function playSynthNote(context, id, note, length, delay) {
    delay = delay ? delay : 0;
    var oscillator = oscillators[id][note];
    if (oscillator) {
        var gain = oscillator.gain.gain;
        var volume = 0.1 * audioSystem.masterVolume;
        var onTime = context.currentTime + delay + 0.01;
        var offTime = context.currentTime + delay + 0.01 + length;
        var cents = pitchAuto[Math.floor(playTime / 16)];
        if (typeof cents != "undefined") oscillator.detune.setValueAtTime(cents, onTime);
        if (noteOffTime[id][note] > onTime) {
            gain.setTargetAtTime(volume / 2, context.currentTime, 0.01);
            gain.setTargetAtTime(volume, noteOffTime[id][note], 0.01);
        }
        noteOffTime[id][note] = offTime;
        gain.setTargetAtTime(volume, onTime, 0.01);
        gain.setTargetAtTime(0, offTime, 0.01);
    }
}