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:
 
#22
12-11-2020, 04:48 PM
Now with note volume:
Code:
var resolution = 4; // how many times to subdivide each 1/4 note, 4 means 1/16 notes
var fftSize = 8192; // must be power of 2
var maxNotes = 1000; // maximum number of notes to add for each interval
var minIntensity = 128; // minimum volume for note to be added (0-255)

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.fftSize = fftSize;
          node.smoothingTimeConstant = 0;
          node.maxDecibels = 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 = []; // [index, amplitude]
              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 i = 0;
              var added = 0;
              var s = "";
              while (added < maxNotes) {
                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] > minIntensity) {
                  song.addNote(new Note(song, note, time/resolution, 1/resolution, 13, (f[i][1]-minIntensity)/(255-minIntensity)));
                  added++;
                  s += "[" + note + " " + f[i][1] + "] ";
                }
                i++;
                if (i >= f.length) {
                   break;
                }
              }
              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