Online Sequencer Make music online
  • Sequences
  • Members
  • Chat
  • Forum
  • Wiki

Existing user? Sign In Create account
Login at Online Sequencer Forums

Online Sequencer Forums › Online Sequencer › Online Sequencer Discussion
« Previous 1 … 44 45 46 47 48 … 79 Next »

Useful Console Code Thread

Thread tools
Useful Console Code Thread
Jacob_ Offline
Administrator
343 Posts:
 
#8
10-16-2018, 04:54 PM (This post was last modified: 10-18-2018, 04:41 PM by Jacob_.)
Code:
loadInstrument(13);
var el = $('<input type="file" accept="audio/*">');
$(document.body).append(el);

el.on('change', function(e){
    var reader = new FileReader();
    reader.onload = function (e) {
        var context = new AudioContext();
        context.decodeAudioData(e.target.result, function(buffer){
            var node = context.createAnalyser();
            // node.connect(context.destination);
            var resolution = 4;
            node.fftSize = 4096;
            node.smoothingTimeConstant = 0;
            var bufferLength = node.frequencyBinCount;
            var dataArray = new Uint8Array(bufferLength);
            var audioSource = context.createBufferSource();
            audioSource.buffer = buffer;
            audioSource.loop = false;
            audioSource.connect(node);
            var time = 0;
            audioSource.start(0);  
            setInterval(function(){
                node.getByteFrequencyData(dataArray);
                var f = [];
                for (var i = 1; i < dataArray.length - 1; i++) {
                  var isPeak = dataArray[i] >= dataArray[i-1] && dataArray[i] >= dataArray[i+1];
                  if (isPeak) {
                    f.push([i, dataArray[i]]);
                  }
                }
                f.sort(function(a, b){return b[1] - a[1]});
                var added = 0;
                var i = 0;
                while (added < 4) {
                  if (i >= f.length) break;
                  var frequency = f[i][0] * context.sampleRate / node.fftSize;
                  var note = piano[Math.round((piano.length*Math.log(2)+12*Math.log(55/frequency)+Math.log(4))/(Math.log(2)))];
                  if (note != undefined && f[i][1] > 32) {
                    song.addNote(new Note(song, note, time/resolution, 1/resolution, 13));
                    added++;
                  }
                  i++;
                }
                time++;
            }, song.sleepTime/resolution);
            setInterval(SequencerView.repaint, 1000);
        });
    }
    
    reader.readAsArrayBuffer(e.target.files[0]);
});

el.click();


Reply

Messages In This Thread
Useful Console Code Thread - by Jacob_ - 07-11-2018, 05:22 PM
RE: Useful Console Code Thread - by Jonah - 07-11-2018, 06:13 PM
RE: Useful Console Code Thread - by MTNHNG - 07-11-2018, 06:41 PM
RE: Useful Console Code Thread - by Lumien - 07-11-2018, 06:43 PM
RE: Useful Console Code Thread - by Frank - 07-11-2018, 09:11 PM
RE: Useful Console Code Thread - by Frank - 07-19-2018, 06:52 PM
RE: Useful Console Code Thread - by Frank - 07-20-2018, 12:13 PM
RE: Useful Console Code Thread - by Jacob_ - 10-16-2018, 04:54 PM
RE: Useful Console Code Thread - by blobertthebob - 10-16-2018, 05:07 PM
RE: Useful Console Code Thread - by Frank - 10-16-2018, 09:30 PM
RE: Useful Console Code Thread - by Jacob_ - 10-16-2018, 10:03 PM
RE: Useful Console Code Thread - by korwynkim - 10-16-2018, 09:56 PM
RE: Useful Console Code Thread - by guest - 10-16-2018, 10:19 PM
RE: Useful Console Code Thread - by Jacob_ - 10-16-2018, 10:20 PM
RE: Useful Console Code Thread - by LucentTear - 10-16-2018, 10:27 PM
RE: Useful Console Code Thread - by guest - 10-16-2018, 10:30 PM
RE: Useful Console Code Thread - by Jacob_ - 10-16-2018, 10:32 PM
RE: Useful Console Code Thread - by Frank - 10-17-2018, 07:07 PM
RE: Useful Console Code Thread - by guest - 10-16-2018, 10:33 PM
RE: Useful Console Code Thread - by Jacob_ - 10-27-2018, 03:23 PM
RE: Useful Console Code Thread - by Cringe_Gaming_64yt - 08-02-2020, 11:41 AM
RE: Useful Console Code Thread - by Jacob_ - 12-11-2020, 04:48 PM



Users browsing this thread:   1 Guest(s)


  •  Return to Top
  •  Contact Us
  •   Home
  •  Lite mode
© Rush Crafted with ❤ by iAndrew
Powered By MyBB, © 2002-2025 MyBB Group.
Linear Mode
Threaded Mode
View a Printable Version
Subscribe to this thread
Add Poll to this thread
Send thread to a friend