diff --git a/bin/sf2synth.min.js b/bin/sf2synth.min.js index c2e77ca..0cf4c16 100644 --- a/bin/sf2synth.min.js +++ b/bin/sf2synth.min.js @@ -1,38 +1,40 @@ -/** @license sf2synth.js 2013 - imaya / GREE Inc. [ https://github.com/gree/sf2synth.js ] The MIT License */(function() {'use strict';function k(c){throw c;}var m=void 0,n=null,u=!1,v=this;function w(c,d){var a=c.split("."),b=v;!(a[0]in b)&&b.execScript&&b.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)!a.length&&d!==m?b[e]=d:b=b[e]?b[e]:b[e]={}};function y(c,d,a){this.c=c;this.destination=d;this.b=a;this.aa=a.channel;this.key=a.key;this.Aa=a.velocity;this.buffer=a.sample;this.playbackRate=a.basePlaybackRate;this.sampleRate=a.sampleRate;this.volume=a.volume;this.S=a.panpot;this.l=a.pitchBend;this.q=a.pitchBendSensitivity;this.ia=a.modEnvToPitch;this.startTime=c.currentTime;this.u=this.playbackRate} -y.prototype.noteOn=function(){var c=this.c,d=this.b,a=this.buffer,b,e,f,g=this.c.currentTime,h=g+d.volAttack,q=g+d.modAttack,l=h+d.volDecay,p=q+d.modDecay;e=d.loopStart/this.sampleRate;f=d.loopEnd/this.sampleRate;var r=d.start/this.sampleRate,a=a.subarray(0,a.length+d.end);b=this.Z=c.createBuffer(1,a.length,this.sampleRate);b.getChannelData(0).set(a);a=this.t=c.createBufferSource();a.buffer=b;a.loop=9!==this.aa;a.loopStart=e;a.loopEnd=f;A(this,this.l);b=this.ma=c.createPanner();e=this.I=c.createGainNode(); -f=e.gain;c=this.filter=c.createBiquadFilter();c.type=c.LOWPASS;b.panningModel=0;b.setPosition(Math.sin(this.S*Math.PI/2),0,Math.cos(this.S*Math.PI/2));f.setValueAtTime(0,g);f.linearRampToValueAtTime(this.volume*(this.Aa/127),h);f.linearRampToValueAtTime(this.volume*(1-d.volSustain),l);c.Q.setValueAtTime(d.initialFilterQ*Math.pow(10,200),g);h=440*Math.pow(2,(d.initialFilterFc-6900)/1200);l=440*Math.pow(2,(d.initialFilterFc+d.modEnvToFilterFc-6900)/1200);d=h+(l-h)*(1-d.modSustain);c.frequency.setValueAtTime(h, -g);c.frequency.linearRampToValueAtTime(l,q);c.frequency.linearRampToValueAtTime(d,p);a.connect(c);c.connect(b);b.connect(e);e.connect(this.destination);a.start(0,r)}; -y.prototype.noteOff=function(){var c=this.b,d=this.t,a=this.I,b=this.c.currentTime,e=b+c.volRelease,b=b+c.modRelease;this.Z&&(a.gain.cancelScheduledValues(0),a.gain.linearRampToValueAtTime(0,e),d.playbackRate.cancelScheduledValues(0),d.playbackRate.linearRampToValueAtTime(this.u,b),d.loop=u,d.stop(e),setTimeout(function(a){return function(){a.t.disconnect(0);a.ma.disconnect(0);a.I.disconnect(0)}}(this),1E3*c.volRelease))}; -function A(c,d){c.u=c.playbackRate*Math.pow(Math.pow(2,1/12),c.q*(d/(0>d?8192:8191))*c.b.scaleTuning);var a=c.t.playbackRate,b=c.u,e=c.startTime,f=c.b,g=e+f.modAttack,h=g+f.modDecay,q=b*Math.pow(Math.pow(2,1/12),c.ia*c.b.scaleTuning);a.cancelScheduledValues(0);a.setValueAtTime(b,e);a.linearRampToValueAtTime(q,g);a.linearRampToValueAtTime(b+(q-b)*(1-f.modSustain),h)};function C(c,d){d=d||{};this.input=c;this.j=d.index||0;this.length=d.length||c.length-this.j;this.offset=this.j;this.padding=d.padding!==m?d.padding:!0;this.$=d.bigEndian!==m?d.bigEndian:u}function aa(c,d,a){this.type=c;this.size=d;this.offset=a} -C.prototype.parse=function(){var c=this.length+this.offset;for(this.g=[];this.j>>0:(d[a++]|d[a++]<<8|d[a++]<<16|d[a++]<<24)>>>0,a));a+=b;this.padding&&1===(a-this.offset&1)&&a++;this.j=a}};function D(c,d){var a=c.g[d];return a===m?n:a};function I(c,d){d=d||{};this.input=c;this.na=d.parserOption} -I.prototype.parse=function(){var c,d,a=new C(this.input,this.na);a.parse();1!==a.g.length&&k(Error("wrong chunk length"));a=D(a,0);a===n&&k(Error("chunk not found"));var b=this.input,e=a.offset,f;"RIFF"!==a.type&&k(Error("invalid chunk type:"+a.type));f=String.fromCharCode(b[e++],b[e++],b[e++],b[e++]);"sfbk"!==f&&k(Error("invalid signature:"+f));a=new C(b,{index:e,length:a.size-4});a.parse();3!==a.g.length&&k(Error("invalid sfbk structure"));b=D(a,0);e=this.input;f=b.offset;var g;"LIST"!==b.type&& -k(Error("invalid chunk type:"+b.type));g=String.fromCharCode(e[f++],e[f++],e[f++],e[f++]);"INFO"!==g&&k(Error("invalid signature:"+g));(new C(e,{index:f,length:b.size-4})).parse();b=D(a,1);e=this.input;f=b.offset;"LIST"!==b.type&&k(Error("invalid chunk type:"+b.type));g=String.fromCharCode(e[f++],e[f++],e[f++],e[f++]);"sdta"!==g&&k(Error("invalid signature:"+g));b=new C(e,{index:f,length:b.size-4});b.parse();1!==b.g.length&&k(Error("TODO"));this.Y=D(b,0);a=D(a,2);b=this.input;e=a.offset;"LIST"!== -a.type&&k(Error("invalid chunk type:"+a.type));f=String.fromCharCode(b[e++],b[e++],b[e++],b[e++]);"pdta"!==f&&k(Error("invalid signature:"+f));a=new C(b,{index:e,length:a.size-4});a.parse();9!==a.g.length&&k(Error("invalid pdta chunk"));b=D(a,0);e=this.input;f=b.offset;g=this.qa=[];var h=b.offset+b.size;for("phdr"!==b.type&&k(Error("invalid chunk type:"+b.type));f>>0,Ba:(e[f++]|e[f++]<<8|e[f++]<<16|e[f++]<<24)>>>0,Da:(e[f++]|e[f++]<<8|e[f++]<<16|e[f++]<<24)>>>0});b=D(a,1);e=this.input;f=b.offset;g=this.sa=[];h=b.offset+b.size;for("pbag"!==b.type&&k(Error("invalid chunk type:"+b.type));f>>0;c=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;q=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;l=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;p=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;r=a[b++];s=a[b++]<<24>> -24;t=a[b++]|a[b++]<<8;E=a[b++]|a[b++]<<8;c=new Int16Array((new Uint8Array(a.subarray(this.Y.offset+2*d,this.Y.offset+2*c))).buffer);q-=d;l-=d;if(0x;){B=new Int16Array(2*c.length);z=F=0;for(H=c.length;z>16,k:a[b++],i:a[b++]}});else switch(g){case "keyRange":case "velRange":case "keynum":case "velocity":h.push({type:g,value:{k:a[b++],i:a[b++]}});break;default:h.push({type:g,value:{e:a[b++]|a[b++]<<8<<16>>16}})}b+=2;b+=2}return h} -function K(c,d){for(var a=c.input,b=d.offset,e=d.offset+d.size,f,g,h=[];b>16,k:a[b++],i:a[b++]}});else switch(g){case "keynum":case "keyRange":case "velRange":case "velocity":h.push({type:g,value:{k:a[b++],i:a[b++]}});break;default:h.push({type:g,value:{e:a[b++]|a[b++]<<8<<16>>16}})}return h} -function M(c,d,a){var b=[],e={za:[],keyRange:{i:127,k:0}},f;for(f=c;ff;++f){e=da(S.length+128,u);b.appendChild(e);if(9!==f){var h=document.createElement("select"),q;for(g=0;128>g;++g)q=document.createElement("option"),q.textContent=ba[g],h.appendChild(q);e.querySelector("td:nth-child(1)").appendChild(h);h.addEventListener("change",function(a,b){return function(c){T(a,b,c.target.selectedIndex)}}(c,f),u); -h.selectedIndex=c.f[f]}else e.querySelector("td:first-child").textContent="[ RHYTHM TRACK ]";e=e.querySelectorAll("td:nth-last-child(-n+128)");for(g=0;128>g;++g)e[g].addEventListener("mousedown",function(a,b,c){return function(d){d.preventDefault();a.H=!0;a.noteOn(b,c,127)}}(c,f,g)),e[g].addEventListener("mouseover",function(a,b,c){return function(d){d.preventDefault();a.H&&a.noteOn(b,c,127)}}(c,f,g)),e[g].addEventListener("mouseout",function(a,b,c){return function(d){d.preventDefault();a.noteOff(b, -c,0)}}(c,f,g)),e[g].addEventListener("mouseup",function(a,b,c){return function(d){d.preventDefault();a.H=u;a.noteOff(b,c,0)}}(c,f,g))}d.appendChild(a);d.appendChild(b);return d}function da(c,d){var a=document.createElement("tr"),b,e=c instanceof Array,f,g=e?c.length:c;for(f=0;f tr:nth-child("+(c+1)+") > td:nth-child("+(S.length+d+1)+")").classList.add("note-on");if(b)if(b=b[d]){var e=this.C[c]-64;b.channel=c;b.key=d;b.velocity=a;b.panpot=e/(0>e?64:63);b.volume=this.G[c]/127;b.pitchBend=this.D[c]-8192;b.pitchBendSensitivity=this.F[c];d=new y(this.c,this.h,b);d.noteOn();this.m[c].push(d)}else v.console.warn("instrument not found: bank=%s instrument=%s channel=%s key=%s", -9===c?128:this.d,this.f[c],c,d);else v.console.warn("instrument not found: bank=%s instrument=%s channel=%s",9===c?128:this.d,this.f[c],c)};P.prototype.noteOff=function(c,d){var a=this.r[9===c?128:this.d][this.f[c]],b,e=this.m[c],f;this.a&&this.a.querySelector("tbody > tr:nth-child("+(c+1)+") > td:nth-child("+(d+S.length+1)+")").classList.remove("note-on");if(a){a=0;for(b=e.length;a tr:nth-child("+(d+1)+") > td:first-child > select").selectedIndex=a);9!==d&&(c.f[d]=a)}function ea(c,d,a){c.a&&(c.a.querySelector("tbody > tr:nth-child("+(d+1)+") > td:nth-child(2)").textContent=a);c.G[d]=a}function fa(c,d,a){c.a&&(c.a.querySelector("tbody > tr:nth-child("+(d+1)+") > td:nth-child(3)").textContent=a);c.C[d]=a} -P.prototype.l=function(c,d,a){d=d&127|(a&127)<<7;var b,e=this.m[c],f=d-8192;this.a&&(this.a.querySelector("tbody > tr:nth-child("+(c+1)+") > td:nth-child(4)").textContent=f);a=0;for(b=e.length;a tr:nth-child("+(c+1)+") > td:nth-child(5)").textContent=d);this.F[c]=d};function U(){this.A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.z=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ha=this.onmessage.bind(this);window.addEventListener("DOMContentLoaded",function(){this.ta=!0}.bind(this),u)}U.prototype.xa=function(c){this.ta?this.load(c):window.addEventListener("DOMContentLoaded",function a(){window.removeEventListener("DOMContentLoaded",a,u);this.load(c)}.bind(this),u)}; -U.prototype.load=function(c){var d=new XMLHttpRequest;d.open("GET",c,!0);d.responseType="arraybuffer";d.addEventListener("load",function(a){a=a.target;this.onload(a.response);"function"===typeof this.O&&this.O(a.response)}.bind(this),u);d.send()};U.prototype.onload=function(c){c=new Uint8Array(c);this.P(c)}; -U.prototype.P=function(c){var d;if(this.w)d=this.w,d.input=c,d.T=new I(c),d.r=Q(d);else{d=this.w=new P(c);document.body.appendChild(ca(d));c=d;var a;c.T=new I(c.input);c.r=Q(c);for(a=0;16>a;++a)T(c,a,a),ea(c,a,100),fa(c,a,64),c.l(a,0,64),c.q(a,2);d.start();window.addEventListener("message",this.ha,u)}window.opener?window.opener.postMessage("link,ready","*"):window.parent!==window&&window.parent.postMessage("link,ready","*")}; -U.prototype.onmessage=function(c){c=c.data.split(",");switch(c.shift()){case "midi":ga(this,c.map(function(c){return parseInt(c,16)}));break;case "link":c=c.shift();switch(c){case "reqpatch":window.opener?window.opener.postMessage("link,patch","*"):window.parent!==window&&window.parent.postMessage("link,patch","*");break;case "setpatch":break;default:v.console.error("unknown link message:",c)}break;default:v.console.error("unknown message type")}};U.prototype.wa=function(c){this.O=c}; -function ga(c,d){var a=d[0]&15,b=c.w;switch(d[0]&240){case 128:b.noteOff(a,d[1],d[2]);break;case 144:0d?8192:8191))*c.b.scaleTuning);var a=c.w.playbackRate,b=c.z,e=c.startTime,f=c.b,g=e+f.modAttack,h=g+f.modDecay,s=b*Math.pow(Math.pow(2,1/12),c.oa*c.b.scaleTuning);a.cancelScheduledValues(0);a.setValueAtTime(b,e);a.linearRampToValueAtTime(s,g);a.linearRampToValueAtTime(b+(s-b)*(1-f.modSustain),h)};function D(c,d){d=d||{};this.input=c;this.k=d.index||0;this.length=d.length||c.length-this.k;this.offset=this.k;this.padding=d.padding!==m?d.padding:n;this.ea=d.bigEndian!==m?d.bigEndian:v}function ga(c,d,a){this.type=c;this.size=d;this.offset=a} +D.prototype.parse=function(){var c=this.length+this.offset;for(this.h=[];this.k>>0:(d[a++]|d[a++]<<8|d[a++]<<16|d[a++]<<24)>>>0,a));a+=b;this.padding&&1===(a-this.offset&1)&&a++;this.k=a}};function E(c,d){var a=c.h[d];return a===m?u:a};function J(c,d){d=d||{};this.input=c;this.ta=d.parserOption} +J.prototype.parse=function(){var c,d,a=new D(this.input,this.ta);a.parse();1!==a.h.length&&k(Error("wrong chunk length"));a=E(a,0);a===u&&k(Error("chunk not found"));var b=this.input,e=a.offset,f;"RIFF"!==a.type&&k(Error("invalid chunk type:"+a.type));f=String.fromCharCode(b[e++],b[e++],b[e++],b[e++]);"sfbk"!==f&&k(Error("invalid signature:"+f));a=new D(b,{index:e,length:a.size-4});a.parse();3!==a.h.length&&k(Error("invalid sfbk structure"));b=E(a,0);e=this.input;f=b.offset;var g;"LIST"!==b.type&& +k(Error("invalid chunk type:"+b.type));g=String.fromCharCode(e[f++],e[f++],e[f++],e[f++]);"INFO"!==g&&k(Error("invalid signature:"+g));(new D(e,{index:f,length:b.size-4})).parse();b=E(a,1);e=this.input;f=b.offset;"LIST"!==b.type&&k(Error("invalid chunk type:"+b.type));g=String.fromCharCode(e[f++],e[f++],e[f++],e[f++]);"sdta"!==g&&k(Error("invalid signature:"+g));b=new D(e,{index:f,length:b.size-4});b.parse();1!==b.h.length&&k(Error("TODO"));this.ba=E(b,0);a=E(a,2);b=this.input;e=a.offset;"LIST"!== +a.type&&k(Error("invalid chunk type:"+a.type));f=String.fromCharCode(b[e++],b[e++],b[e++],b[e++]);"pdta"!==f&&k(Error("invalid signature:"+f));a=new D(b,{index:e,length:a.size-4});a.parse();9!==a.h.length&&k(Error("invalid pdta chunk"));b=E(a,0);e=this.input;f=b.offset;g=this.wa=[];var h=b.offset+b.size;for("phdr"!==b.type&&k(Error("invalid chunk type:"+b.type));f>>0,Ha:(e[f++]|e[f++]<<8|e[f++]<<16|e[f++]<<24)>>>0,Ka:(e[f++]|e[f++]<<8|e[f++]<<16|e[f++]<<24)>>>0});b=E(a,1);e=this.input;f=b.offset;g=this.ya=[];h=b.offset+b.size;for("pbag"!==b.type&&k(Error("invalid chunk type:"+b.type));f>>0;c=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;s=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;l=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;q=(a[b++]<<0|a[b++]<<8|a[b++]<<16|a[b++]<<24)>>>0;p=a[b++];t=a[b++]<<24>> +24;r=a[b++]|a[b++]<<8;F=a[b++]|a[b++]<<8;c=new Int16Array((new Uint8Array(a.subarray(this.ba.offset+2*d,this.ba.offset+2*c))).buffer);s-=d;l-=d;if(0x;){C=new Int16Array(2*c.length);A=G=0;for(I=c.length;A>16,l:a[b++],j:a[b++]}});else switch(g){case "keyRange":case "velRange":case "keynum":case "velocity":h.push({type:g,value:{l:a[b++],j:a[b++]}});break;default:h.push({type:g,value:{f:a[b++]|a[b++]<<8<<16>>16}})}b+=2;b+=2}return h} +function L(c,d){for(var a=c.input,b=d.offset,e=d.offset+d.size,f,g,h=[];b>16,l:a[b++],j:a[b++]}});else switch(g){case "keynum":case "keyRange":case "velRange":case "velocity":h.push({type:g,value:{l:a[b++],j:a[b++]}});break;default:h.push({type:g,value:{f:a[b++]|a[b++]<<8<<16>>16}})}return h} +function N(c,d,a){var b=[],e={Fa:[],keyRange:{j:127,l:0}},f;for(f=c;fd;++d)T(c,d,9==d?0:d),U(c,d,100),V(c,d,64),c.A[d]=127,c.m(d,0,64),c.t(d,2),c.e[d]=9==d?127:0,c.o[d]=0,c.u[d]=40,W(c,d)} +function Q(c){var d,a,b,e,f;c=c.X;c.parse();var g=c.wa,h=c.ya,s=[],l,q,p,t,r;t=0;for(r=g.length;tf;++f){e=ja(Z.length+128,v);b.appendChild(e);if(9!==f){var h=document.createElement("select"),s;for(g=0;128>g;++g)s=document.createElement("option"),s.textContent=ha[g],h.appendChild(s);e.querySelector("td:nth-child(1)").appendChild(h);h.addEventListener("change",function(a,b){return function(c){T(a,b,c.target.selectedIndex)}}(c,f),v); +h.selectedIndex=c.c[f]}else e.querySelector("td:first-child").textContent="[ RHYTHM TRACK ]";e=e.querySelectorAll("td:nth-last-child(-n+128)");for(g=0;128>g;++g)e[g].addEventListener("mousedown",function(a,b,c){return function(d){d.preventDefault();a.L=n;a.noteOn(b,c,127)}}(c,f,g)),e[g].addEventListener("mouseover",function(a,b,c){return function(d){d.preventDefault();a.L&&a.noteOn(b,c,127)}}(c,f,g)),e[g].addEventListener("mouseout",function(a,b,c){return function(d){d.preventDefault();a.noteOff(b, +c,0)}}(c,f,g)),e[g].addEventListener("mouseup",function(a,b,c){return function(d){d.preventDefault();a.L=v;a.noteOff(b,c,0)}}(c,f,g))}d.appendChild(a);d.appendChild(b);return d}function ja(c,d){var a=document.createElement("tr"),b,e=c instanceof Array,f,g=e?c.length:c;for(f=0;f tr:nth-child("+(c+1)+") > td:nth-child("+(Z.length+d+1)+")");f.classList.add("note-on");f.style.opacity=a/127}(127===b||128===b)&&(42===d||44===d)&&this.noteOff(c,46, +0);e?(e=e[d])?(b=this.H[c]-64,e.channel=c,e.key=d,e.velocity=a,e.panpot=b/(0>b?64:63),e.volume=Math.pow(this.K[c]/127*(this.A[c]/127),2),e.pitchBend=this.I[c]-8192,e.pitchBendSensitivity=this.J[c],e.reverb=this.u[c],d=new z(this.d,this.i,e),d.noteOn(),this.p[c].push(d)):w.console.warn("instrument not found: bank=%s instrument=%s channel=%s key=%s",b,this.c[c],c,d):w.console.warn("instrument not found: bank=%s instrument=%s channel=%s",b,this.c[c],c)}; +O.prototype.noteOff=function(c,d){var a=this.g[9==c?127:0],b=a[this.c[c]]?a[this.c[c]]:a[0][0],e,a=this.p[c],f;this.a&&(e=this.a.querySelector("tbody > tr:nth-child("+(c+1)+") > td:nth-child("+(Z.length+d+1)+")"),e.classList.remove("note-on"),e.style.opacity=1);if(b){b=0;for(e=a.length;b tr:nth-child("+(d+1)+") > td:first-child > select").selectedIndex=a);c.c[d]=a} +function U(c,d,a){c.a&&(c.a.querySelector("tbody > tr:nth-child("+(d+1)+") > td:nth-child(2)").textContent=a);c.K[d]=a}function V(c,d,a){c.a&&(c.a.querySelector("tbody > tr:nth-child("+(d+1)+") > td:nth-child(3)").textContent=a);c.H[d]=a}O.prototype.m=function(c,d,a){d=d&127|(a&127)<<7;var b,e=this.p[c],f=d-8192;this.a&&(this.a.querySelector("tbody > tr:nth-child("+(c+1)+") > td:nth-child(4)").textContent=f);a=0;for(b=e.length;a tr:nth-child("+(c+1)+") > td:nth-child(5)").textContent=d);this.J[c]=d};function W(c,d){for(var a=c.p[d];0e;++e)b.noteOff(a, +e,0);break;case 121:b.m(a,0,64);break;case 123:W(b,a)}break;case 192:T(b,a,d[1]);break;case 224:b.m(a,d[1],d[2]);break;case 240:switch(d[2]){case 67:switch(d[5]){case 0:switch(d[7]){case 4:Y(b,d[8]<<7);break;case 126:P(b),b.B=n}break;case 8:b.e[d[6]]=127}break;case 65:switch(d[8]){case 4:Y(b,d[9]<<7);break;case 127:P(b),b.T=n}break;case 126:P(b);break;case 127:switch(d[3]){case 4:switch(d[4]){case 1:Y(b,d[5]+(d[6]<<7))}}}}};y("SoundFont.WebMidiLink",$);y("SoundFont.WebMidiLink.prototype.setup",$.prototype.Da);y("SoundFont.WebMidiLink.prototype.loadSoundFont",$.prototype.V);y("SoundFont.WebMidiLink.prototype.setLoadCallback",$.prototype.Ca);}).call(this); //@ sourceMappingURL=sf2synth.min.js.map diff --git a/bin/sf2synth.min.js.map b/bin/sf2synth.min.js.map index 98746ba..d0b054c 100644 --- a/bin/sf2synth.min.js.map +++ b/bin/sf2synth.min.js.map @@ -1,8 +1,8 @@ { "version":3, "file":"./sf2synth.min.js", -"lineCount":38, -"mappings":"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", +"lineCount":40, +"mappings":"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", "sources":["../closure-primitives/base.js","../src/sound_font_synth_note.js","../src/riff.js","../src/sf2.js","../src/sound_font_synth.js","../src/wml.js","../export/synth.js"], -"names":["goog.global","goog.exportSymbol","publicPath","object","parts","split","cur","execScript","part","length","shift","JSCompiler_alias_VOID","SoundFont.SynthesizerNote","ctx","destination","instrument","channel","key","velocity","buffer","playbackRate","sampleRate","volume","panpot","pitchBend","pitchBendSensitivity","modEnvToPitch","startTime","currentTime","computedPlaybackRate","prototype","noteOn","SoundFont.SynthesizerNote.prototype.noteOn","sample","output","outputGain","now","volAttack","modAttack","volDecay","modDecay","loopStart","loopEnd","subarray","audioBuffer","createBuffer","getChannelData","channelData","set","bufferSource","createBufferSource","loop","updatePitchBend","panner","createPanner","gainOutput","createGainNode","gain","filter","createBiquadFilter","type","LOWPASS","panningModel","setPosition","Math","sin","PI","cos","setValueAtTime","linearRampToValueAtTime","Q","pow","baseFreq","val","peekFreq","sustainFreq","frequency","connect","start","noteOff","SoundFont.SynthesizerNote.prototype.noteOff","volEndTime","modEndTime","cancelScheduledValues","JSCompiler_alias_FALSE","stop","setTimeout","note","disconnect","SoundFont.SynthesizerNote.prototype.updatePitchBend","schedulePlaybackRate","computed","peekPitch","Riff.Parser","input","opt_params","ip","offset","padding","bigEndian","Riff.Chunk","size","parse","Riff.Parser.prototype.parse","chunkList","parseChunk","push","String","fromCharCode","Riff.Parser.prototype.getChunk","index","chunk","JSCompiler_alias_NULL","SoundFont.Parser","parserOption","SoundFont.Parser.prototype.parse","parser","JSCompiler_alias_THROW","Error","getChunk","data","parseRiffChunk","signature","samplingData","presetHeader","apply","presetZone","presetZoneModulator","parseModulator","presetZoneGenerator","parseGenerator","instrumentZone","instrumentZoneModulator","instrumentZoneGenerator","samples","sampleHeader","startLoop","endLoop","originalPitch","pitchCorrection","sampleLink","sampleType","sampleName","end","Int16Array","Uint8Array","newSample","i","il","j","multiply","SoundFont.Parser.prototype.parseModulator","code","SoundFont.Parser.GeneratorEnumeratorTable","SoundFont.Parser.prototype.parseGenerator","SoundFont.Parser.prototype.createBagModGen_","indexStart","indexEnd","zoneModGen","modgenInfo","modgen","info","unknown","value","SoundFont.Synthesizer","bank","bufferSize","createGain","gainMaster","compressor","createDynamicsCompressor","bufSrc","channelInstrument","channelVolume","channelPanpot","channelPitchBend","channelPitchBendSensitivity","currentNoteOn","baseVolume","masterVolume","SoundFont.Synthesizer.ProgramNames","SoundFont.Synthesizer.prototype.createAllInstruments","preset","zone","bagIndex","bagIndexEnd","zoneInfo","presetBagIndex","jl","createBagModGen_","presetGeneratorIndex","presetModulatorIndex","generator","generatorInfo","modulator","modulatorInfo","amount","presetName","instrumentBagIndex","instrumentGeneratorIndex","instrumentModulatorIndex","instrumentName","banks","presetNumber","header","name","replace","sampleId","volSustain","volRelease","modSustain","modRelease","tune","scale","freqVibLFO","getModGenAmount","lo","hi","SoundFont.Synthesizer.prototype.getModGenAmount","enumeratorType","opt_default","SoundFont.Synthesizer.prototype.start","setMasterVolume","SoundFont.Synthesizer.prototype.stop","SoundFont.Synthesizer.TableHeader","SoundFont.Synthesizer.prototype.drawSynth","table","document","createElement","head","body","tableLine","appendChild","createTableLine","SoundFont.Synthesizer.TableHeader.length","select","option","textContent","querySelector","addEventListener","synth","event","programChange","target","selectedIndex","notes","querySelectorAll","preventDefault","drag","SoundFont.Synthesizer.prototype.createTableLine","array","isTitleLine","tr","cell","isArray","Array","SoundFont.Synthesizer.prototype.noteOn","bankSet","classList","add","instrumentKey","goog.global.console.warn","console","warn","SoundFont.Synthesizer.prototype.noteOff","remove","splice","SoundFont.Synthesizer.prototype.programChange","SoundFont.Synthesizer.prototype.volumeChange","SoundFont.Synthesizer.prototype.panpotChange","SoundFont.Synthesizer.prototype.pitchBend","lowerByte","higherByte","bend","calculated","SoundFont.Synthesizer.prototype.pitchBendSensitivity","sensitivity","SoundFont.WebMidiLink","RpnMsb","RpnLsb","messageHandler","onmessage","bind","window","ready","setup","SoundFont.WebMidiLink.prototype.setup","url","load","onload","removeEventListener","SoundFont.WebMidiLink.prototype.load","xhr","XMLHttpRequest","open","responseType","ev","response","loadCallback","send","SoundFont.WebMidiLink.prototype.onload","loadSoundFont","SoundFont.WebMidiLink.prototype.loadSoundFont","createAllInstruments","drawSynth","volumeChange","panpotChange","opener","postMessage","parent","SoundFont.WebMidiLink.prototype.onmessage","msg","processMidiMessage","map","hex","parseInt","command","goog.global.console.error","error","setLoadCallback","SoundFont.WebMidiLink.prototype.setLoadCallback","callback","SoundFont.WebMidiLink.prototype.processMidiMessage","message"] +"names":["goog.global","goog.exportSymbol","publicPath","object","parts","split","cur","execScript","part","length","shift","JSCompiler_alias_VOID","SoundFont.SynthesizerNote","ctx","destination","instrument","channel","key","velocity","buffer","playbackRate","sampleRate","volume","panpot","pitchBend","pitchBendSensitivity","modEnvToPitch","reverb","startTime","currentTime","computedPlaybackRate","prototype","noteOn","SoundFont.SynthesizerNote.prototype.noteOn","sample","panner","outputGain","now","volAttack","modAttack","volDecay","modDecay","loopStart","loopEnd","subarray","audioBuffer","createBuffer","getChannelData","channelData","set","bufferSource","createBufferSource","loop","updatePitchBend","convolver","createConvolver","source","window","atob","array","Uint8Array","ArrayBuffer","i","charCodeAt","convolverGain","createGain","gain","value","connect","createPanner","output","gainOutput","createGainNode","filter","createBiquadFilter","type","LOWPASS","panningModel","setPosition","Math","sin","PI","cos","setValueAtTime","linearRampToValueAtTime","pow","Q","baseFreq","val","peekFreq","sustainFreq","frequency","start","noteOff","SoundFont.SynthesizerNote.prototype.noteOff","volEndTime","modEndTime","cancelScheduledValues","JSCompiler_alias_FALSE","stop","setTimeout","note","disconnect","SoundFont.SynthesizerNote.prototype.updatePitchBend","schedulePlaybackRate","computed","peekPitch","Riff.Parser","input","opt_params","ip","offset","padding","JSCompiler_alias_TRUE","bigEndian","Riff.Chunk","size","parse","Riff.Parser.prototype.parse","chunkList","parseChunk","push","String","fromCharCode","Riff.Parser.prototype.getChunk","index","chunk","JSCompiler_alias_NULL","SoundFont.Parser","parserOption","SoundFont.Parser.prototype.parse","parser","JSCompiler_alias_THROW","Error","getChunk","data","parseRiffChunk","signature","samplingData","presetHeader","apply","presetZone","presetZoneModulator","parseModulator","presetZoneGenerator","parseGenerator","instrumentZone","instrumentZoneModulator","instrumentZoneGenerator","samples","sampleHeader","startLoop","endLoop","originalPitch","pitchCorrection","sampleLink","sampleType","sampleName","end","Int16Array","newSample","il","j","multiply","SoundFont.Parser.prototype.parseModulator","code","SoundFont.Parser.GeneratorEnumeratorTable","SoundFont.Parser.prototype.parseGenerator","SoundFont.Parser.prototype.createBagModGen_","indexStart","indexEnd","zoneModGen","modgenInfo","modgen","info","unknown","SoundFont.Synthesizer","bank","bufferSize","gainMaster","compressor","createDynamicsCompressor","bufSrc","channelInstrument","channelVolume","channelPanpot","channelPitchBend","channelPitchBendSensitivity","expression","currentNoteOn","baseVolume","masterVolume","bankMsb","bankLsb","SoundFont.Synthesizer.ProgramNames","SoundFont.Synthesizer.prototype.init","isXG","isGS","isReset","bankSet","createAllInstruments","programChange","volumeChange","panpotChange","Expression","depth","bankSelectMsb","bankSelectLsb","reverbSend","allNoteOff","SoundFont.Synthesizer.prototype.createAllInstruments","preset","zone","bagIndex","bagIndexEnd","zoneInfo","presetBagIndex","jl","createBagModGen_","presetGeneratorIndex","presetModulatorIndex","generator","generatorInfo","modulator","modulatorInfo","amount","presetName","instrumentBagIndex","instrumentGeneratorIndex","instrumentModulatorIndex","instrumentName","banks","presetNumber","header","name","replace","sampleId","volSustain","volRelease","modSustain","modRelease","tune","scale","freqVibLFO","getModGenAmount","lo","hi","SoundFont.Synthesizer.prototype.getModGenAmount","enumeratorType","opt_default","SoundFont.Synthesizer.prototype.start","setMasterVolume","SoundFont.Synthesizer.prototype.setMasterVolume","SoundFont.Synthesizer.prototype.stop","SoundFont.Synthesizer.TableHeader","SoundFont.Synthesizer.prototype.drawSynth","table","document","createElement","head","body","tableLine","appendChild","createTableLine","SoundFont.Synthesizer.TableHeader.length","select","option","textContent","querySelector","addEventListener","synth","event","target","selectedIndex","notes","querySelectorAll","preventDefault","drag","SoundFont.Synthesizer.prototype.createTableLine","isTitleLine","tr","cell","isArray","Array","SoundFont.Synthesizer.prototype.noteOn","bankNum","element","classList","add","style","opacity","instrumentKey","goog.global.console.warn","console","warn","SoundFont.Synthesizer.prototype.noteOff","remove","splice","SoundFont.Synthesizer.prototype.programChange","SoundFont.Synthesizer.prototype.volumeChange","SoundFont.Synthesizer.prototype.panpotChange","SoundFont.Synthesizer.prototype.pitchBend","lowerByte","higherByte","bend","calculated","SoundFont.Synthesizer.prototype.pitchBendSensitivity","sensitivity","SoundFont.Synthesizer.prototype.allNoteOff","SoundFont.WebMidiLink","RpnMsb","RpnLsb","messageHandler","onmessage","bind","ready","setup","SoundFont.WebMidiLink.prototype.setup","url","load","onload","removeEventListener","SoundFont.WebMidiLink.prototype.load","xhr","XMLHttpRequest","open","responseType","ev","response","loadCallback","lengthComputable","percentComplete","loaded","total","getElementById","firstChild","nodeValue","send","SoundFont.WebMidiLink.prototype.onload","loadSoundFont","SoundFont.WebMidiLink.prototype.loadSoundFont","drawSynth","init","opener","postMessage","parent","SoundFont.WebMidiLink.prototype.onmessage","msg","processMidiMessage","map","hex","parseInt","command","goog.global.console.error","error","setLoadCallback","SoundFont.WebMidiLink.prototype.setLoadCallback","callback","SoundFont.WebMidiLink.prototype.processMidiMessage","message"] } diff --git a/closure-primitives/deps.js b/closure-primitives/deps.js index fadd791..45fbf81 100644 --- a/closure-primitives/deps.js +++ b/closure-primitives/deps.js @@ -9,4 +9,4 @@ goog.addDependency('../src/sound_font_synth.js', ['SoundFont.Synthesizer'], ['So goog.addDependency('../src/sound_font_synth_note.js', ['SoundFont.SynthesizerNote'], []); goog.addDependency('../src/typedef.js', ['Typedef'], []); goog.addDependency('../src/wml.js', ['SoundFont.WebMidiLink'], ['SoundFont.Synthesizer']); -goog.addDependency('../tmp/sf2synth_note.js', ['SoundFontSynthNote'], []); +//goog.addDependency('../tmp/sf2synth_note.js', ['SoundFontSynthNote'], []); diff --git a/src/sound_font_synth.js b/src/sound_font_synth.js index 77dee66..a7f3bae 100644 --- a/src/sound_font_synth.js +++ b/src/sound_font_synth.js @@ -40,6 +40,12 @@ SoundFont.Synthesizer = function(input) { [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; this.channelPitchBendSensitivity = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + /** @type {Array.} */ + this.expression = + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + /** @type {Array.} */ + this.reverb = + [40, 40, 40, 40, 40, 40, 40, 40, 40, 40 ,40, 40, 40, 40, 40, 40]; /** @type {Array.>} */ this.currentNoteOn = [ [], [], [], [], [], [], [], [], @@ -49,6 +55,19 @@ SoundFont.Synthesizer = function(input) { this.baseVolume = 1 / 0x8000; /** @type {number} */ this.masterVolume = 16384; + + /** @type {boolean} **/ + this.isXG; + /** @type {boolean} **/ + this.isGS; + /** @type {boolean} **/ + this.isReset; + /** @type {Array} */ + this.bankMsb = + [0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0]; + /** @type {Array} */ + this.bankLsb = + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; /** @type {HTMLTableElement} */ this.table; @@ -215,19 +234,28 @@ SoundFont.Synthesizer.ProgramNames = [ SoundFont.Synthesizer.prototype.init = function() { /** @type {number} */ var i; + this.isXG = false; + this.isGS = false; + this.isReset = true; this.parser = new SoundFont.Parser(this.input); this.bankSet = this.createAllInstruments(); for (i = 0; i < 16; ++i) { - this.programChange(i, i); + this.programChange(i, i==9 ? 0 : i); this.volumeChange(i, 0x64); this.panpotChange(i, 0x40); + this.Expression(i, 0x7F); this.pitchBend(i, 0x00, 0x40); // 8192 this.pitchBendSensitivity(i, 2); + this.bankSelectMsb(i, i==9 ? 0x7F : 0x00); + this.bankSelectLsb(i, 0x00); + this.reverbSend(i, 0x28); + this.allNoteOff(i); } }; + /** * @param {Uint8Array} input */ @@ -567,28 +595,53 @@ SoundFont.Synthesizer.prototype.createTableLine = function(array, isTitleLine) { * @param {number} velocity 強さ. */ SoundFont.Synthesizer.prototype.noteOn = function(channel, key, velocity) { + var bankNum = this.bankMsb[channel]; + if (this.isXG) { + // XG音源は、MSB→LSBの優先順でバンクセレクトをする。SoundFontではSFXがバンク125に入っているため小細工 + // Bank Select MSB #0 (Voice Type: Normal) + // Bank Select MSB #64 (Voice Type: SFX) + // Bank Select MSB #126 (Voice Type: Drum) + // Bank Select MSB #127 (Voice Type: Drum) + if (this.bankMsb[channel] === 64){ + bankNum = 125; + }else if (this.bankLsb[channel] !== 0 && this.bankMsb[channel] !== 0 && this.bankMsb[channel] !== 126 && this.bankMsb[channel] !== 127){ + bankNum = this.bankLsb[channel]; + } + }else if (!this.isGS){ + bankNum = 0; + } + if (channel == 9) bankNum = this.isXG ? 127 : 128; + + //console.log(this.bank, this.bankSelect); /** @type {Object} */ - var bank = this.bankSet[channel === 9 ? 128 : this.bank]; + var bank = this.bankSet[bankNum] ? this.bankSet[bankNum] : this.bankSet[channel == 9 ? bankNum : 0]; /** @type {Object} */ - var instrument = bank[this.channelInstrument[channel]]; + var instrument = bank[this.channelInstrument[channel]] ? bank[this.channelInstrument[channel]] : this.bankSet[0][this.channelInstrument[channel]]; /** @type {Object} */ var instrumentKey; /** @type {SoundFont.SynthesizerNote} */ var note; if (this.table) { - this.table.querySelector( + var element = this.table.querySelector( 'tbody > ' + 'tr:nth-child(' + (channel+1) + ') > ' + 'td:nth-child(' + (SoundFont.Synthesizer.TableHeader.length+key+1) + ')' - ).classList.add('note-on'); + ); + element.classList.add('note-on'); + element.style.opacity = velocity / 127; // 強弱をつける + } + + if ((bankNum === 127 || bankNum === 128) && (key === 42 || key === 44) ){ + // ドラムパートの時にハイハットを閉じる + this.noteOff(channel, 46, 0); } if (!instrument) { - // TODO + // バンク0にも音がない場合はさすがに警告を出す goog.global.console.warn( "instrument not found: bank=%s instrument=%s channel=%s", - channel === 9 ? 128 : this.bank, + bankNum, this.channelInstrument[channel], channel ); @@ -601,7 +654,7 @@ SoundFont.Synthesizer.prototype.noteOn = function(channel, key, velocity) { // TODO goog.global.console.warn( "instrument not found: bank=%s instrument=%s channel=%s key=%s", - channel === 9 ? 128 : this.bank, + bankNum, this.channelInstrument[channel], channel, key @@ -617,9 +670,10 @@ SoundFont.Synthesizer.prototype.noteOn = function(channel, key, velocity) { instrumentKey['key'] = key; instrumentKey['velocity'] = velocity; instrumentKey['panpot'] = panpot; - instrumentKey['volume'] = this.channelVolume[channel] / 127; + instrumentKey['volume'] = Math.pow((this.channelVolume[channel] / 127) * (this.expression[channel] / 127),2); instrumentKey['pitchBend'] = this.channelPitchBend[channel] - 8192; instrumentKey['pitchBendSensitivity'] = this.channelPitchBendSensitivity[channel]; + instrumentKey['reverb'] = this.reverb[channel] // note on note = new SoundFont.SynthesizerNote(this.ctx, this.gainMaster, instrumentKey); @@ -633,10 +687,11 @@ SoundFont.Synthesizer.prototype.noteOn = function(channel, key, velocity) { * @param {number} velocity 強さ. */ SoundFont.Synthesizer.prototype.noteOff = function(channel, key, velocity) { + //console.log(this.bank, this.bankSelect); /** @type {Object} */ - var bank = this.bankSet[channel === 9 ? 128 : this.bank]; + var bank = this.bankSet[channel == 9 ? 127 : 0]; // 音を鳴らすわけではないのでいい加減だ・・・ /** @type {Object} */ - var instrument = bank[this.channelInstrument[channel]]; + var instrument = bank[this.channelInstrument[channel]] ? bank[this.channelInstrument[channel]] :bank[0][0]; /** @type {number} */ var i; /** @type {number} */ @@ -647,11 +702,13 @@ SoundFont.Synthesizer.prototype.noteOff = function(channel, key, velocity) { var note; if (this.table) { - this.table.querySelector( + var element = this.table.querySelector( 'tbody > ' + - 'tr:nth-child(' + (channel+1) + ') > ' + - 'td:nth-child(' + (key+SoundFont.Synthesizer.TableHeader.length+1) + ')' - ).classList.remove('note-on'); + 'tr:nth-child(' + (channel+1) + ') > ' + + 'td:nth-child(' + (SoundFont.Synthesizer.TableHeader.length+key+1) + ')' + ); + element.classList.remove('note-on'); + element.style.opacity = 1; } if (!instrument) { @@ -669,6 +726,7 @@ SoundFont.Synthesizer.prototype.noteOff = function(channel, key, velocity) { } }; + /** * @param {number} channel 音色を変更するチャンネル. * @param {number} instrument 音色番号. @@ -679,11 +737,10 @@ SoundFont.Synthesizer.prototype.programChange = function(channel, instrument) { this.table.querySelector('tbody > tr:nth-child(' + (channel+1) + ') > td:first-child > select').selectedIndex = instrument; } } - // リズムトラックは無視する - if (channel === 9) { - return; - } - + // GM音源の場合リズムトラックは無視する +// if (channel === 9 && !(this.isXG || this.isGS)) { +// return; +// } this.channelInstrument[channel] = instrument; }; @@ -739,6 +796,14 @@ SoundFont.Synthesizer.prototype.pitchBend = function(channel, lowerByte, higherB this.channelPitchBend[channel] = bend; }; +/** + * @param {number} channel expression を変更するチャンネル. + * @param {number} depth depth(0-127). + */ +SoundFont.Synthesizer.prototype.Expression = function(channel, depth) { + this.expression[channel] = depth; +}; + /** * @param {number} channel pitch bend sensitivity を変更するチャンネル. * @param {number} sensitivity @@ -752,17 +817,30 @@ SoundFont.Synthesizer.prototype.pitchBendSensitivity = function(channel, sensiti }; /** + * 発音中の音をすべてオフ * @param {number} channel 音を消すチャンネル. */ SoundFont.Synthesizer.prototype.allSoundOff = function(channel) { + /** @type {number} */ + var i; + + for (i = 0; i < 127; ++i) { + this.noteOff(channel, i, 0); + } +}; + +/** + * ノートオンしているノートをすべてオフ + * @param {number} channel 音を消すチャンネル. + */ +SoundFont.Synthesizer.prototype.allNoteOff = function(channel) { /** @type {Array.} */ var currentNoteOn = this.currentNoteOn[channel]; while (currentNoteOn.length > 0) { this.noteOff(channel, currentNoteOn[0].key, 0); } -}; - +} /** * @param {number} channel リセットするチャンネル */ @@ -770,3 +848,34 @@ SoundFont.Synthesizer.prototype.resetAllControl = function(channel) { this.pitchBend(channel, 0x00, 0x40); // 8192 }; +/** + * @param {number} channel チャンネルのバンクセレクトMSB + * @param {number} value 値 + */ +SoundFont.Synthesizer.prototype.bankSelectMsb = function(channel, value) { + this.bankMsb[channel] = value; +}; + +/** + * @param {number} channel チャンネルのバンクセレクトLSB + * @param {number} value 値 + */ +SoundFont.Synthesizer.prototype.bankSelectLsb = function(channel, value) { + this.bankLsb[channel] = value; +}; +/** + * @param {number} channel チャンネルのリバーブエフェクト量 + * @param {number} value 値 + */ +SoundFont.Synthesizer.prototype.reverbSend = function(channel, value) { + this.reverb[channel] = value; +}; + +Array.prototype.in_array = function(val) { + for(var i = 0, l = this.length; i < l; i++) { + if(this[i] == val) { + return true; + } + } + return false; +} \ No newline at end of file diff --git a/src/sound_font_synth_note.js b/src/sound_font_synth_note.js index a6cbcf2..e7ed1aa 100644 --- a/src/sound_font_synth_note.js +++ b/src/sound_font_synth_note.js @@ -54,6 +54,8 @@ SoundFont.SynthesizerNote = function(ctx, destination, instrument) { this.pitchBendSensitivity = instrument['pitchBendSensitivity']; /** @type {number} */ this.modEnvToPitch = instrument['modEnvToPitch']; + /** @type {number} */ + this.reverb = instrument['reverb']; // state /** @type {number} */ @@ -129,6 +131,11 @@ SoundFont.SynthesizerNote.prototype.noteOn = function() { var peekFreq; /** @type {number} */ var sustainFreq; + /** @type {number} */ + var reverb = instrument['reverb']; + + var convolverGain; + var convolver; sample = sample.subarray(0, sample.length + instrument['end']); buffer = this.audioBuffer = ctx.createBuffer(1, sample.length, this.sampleRate); @@ -143,6 +150,16 @@ SoundFont.SynthesizerNote.prototype.noteOn = function() { bufferSource.loopEnd = loopEnd; this.updatePitchBend(this.pitchBend); + // Create convolver for effect + convolver = ctx.createConvolver(); + convolver.buffer = this.impulseResponse(); + + // Effect node + convolverGain = ctx.createGain(); + convolverGain.gain.value = reverb / 127; + convolver.connect(convolverGain); + convolverGain.connect(this.destination); + // audio node panner = this.panner = ctx.createPanner(); output = this.gainOutput = ctx.createGainNode(); @@ -164,8 +181,8 @@ SoundFont.SynthesizerNote.prototype.noteOn = function() { // Attack, Decay, Sustain //--------------------------------------------------------------------------- outputGain.setValueAtTime(0, now); - outputGain.linearRampToValueAtTime(this.volume * (this.velocity / 127), volAttack); outputGain.linearRampToValueAtTime(this.volume * (1 - instrument['volSustain']), volDecay); + outputGain.linearRampToValueAtTime(this.volume * Math.pow(this.velocity/127, 2), volAttack); // 指数関数使わないとカーブが急すぎる filter.Q.setValueAtTime(instrument['initialFilterQ'] * Math.pow(10, 200), now); baseFreq = amountToFreq(instrument['initialFilterFc']); @@ -174,7 +191,7 @@ SoundFont.SynthesizerNote.prototype.noteOn = function() { filter.frequency.setValueAtTime(baseFreq, now); filter.frequency.linearRampToValueAtTime(peekFreq, modAttack); filter.frequency.linearRampToValueAtTime(sustainFreq, modDecay); - + /** * @param {number} val * @returns {number} @@ -187,6 +204,7 @@ SoundFont.SynthesizerNote.prototype.noteOn = function() { bufferSource.connect(filter); filter.connect(panner); panner.connect(output); +// output.connect(convolver); output.connect(this.destination); // fire @@ -285,4 +303,16 @@ SoundFont.SynthesizerNote.prototype.updatePitchBend = function(pitchBend) { ) * this.instrument['scaleTuning'] ); this.schedulePlaybackRate(); -}; \ No newline at end of file +}; + +/** + * impulse responce + */ +SoundFont.SynthesizerNote.prototype.impulseResponse = function(){ + var source = window.atob('//OEZAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAAXAAAPeAAICAgIGxsbGycnJycnMjIyMj09PT1HR0dHR1FRUVFbW1tbY2NjY2NtbW1tdXV1dX9/f39/h4eHh5GRkZGampqamqSkpKSxsbGxvr6+vr7Pz8/P2NjY2OTk5OTk9PT09P////8AAAA5TEFNRTMuOThyAm4AAAAALgMAABRGJAJtTgAARgAAD3iGJwqAAAAAAAAAAAAAAAAAAAAA//NUZAAMTHdYB6e8AAAAA0gBQAAACFb4DxWMkSGxq9XslWNRs7YchOCEC5j1kLQuEXwWwQgQwJGEfCRiHkLVbYhh0GmaZOydk7Lmh7PvN73fv379+yPHjyICEEAQwcBAMcEDn/8Hz7viA59P///gAEP+IDgDf/Lq//OkZAAcbbFrL87YAQAAA0gBgAAAwGAwGAwGIyGQyGAyFQNNGcNQDHTzdBisNmqCJGdE4uXJ11RQ1xiIw/NntyaxAyCCGA0bpiAxGiFMjVRmYmoGQIR4GZ9JAGScCoGB4jZ5brMlrgYNh1AY3QuAYBg2gYdAhhaIeU7V2waARAwOAbAwRAhKAYNAGADUl/xAEDAIAsCwIQQgACxMBQBIcDqU7v/DAYaCTZfEqAMAKAcAkcgQTX3//gFAJEogRAAOWA4AYWTByw4xBYk0Uf///y6Msbi0k4XTAmCZNSZIkRpaMh1sv////81MklkWctk8owLB04IRrP0VCK4gKOAX8gJTUwwY7h5lIjBqqjRQLA011TrGTTZ2/K8VYGbIlMAY//N0ZCcUsgVKBu00AIAAA0gBwAAAgnyzZYIJ2JaAYJWM4koJMB7BiCfCdIG4hiSHDMyUL7JDjHVyWrTlxJSCHNFen0FKQ+zNnWdk2NdRmvrXuqm8wN/rNp7UnZ0q01L9nSuavW2tT1o2d3R2vuaJ1qapaf/V0aSCppdrVPRVtS/WmlWlUgZrRQM+6KCZ7Uua5uypVUDEewsjDqQ7kDtBnYhAJo8tbEkQ//N0ZBQUQg1GAmTFogAAA0gAAAAAfAs99XWVs4y5QBJtWFTJJgKkpLJ3o6qxrpUzS7SDYQoo7KCFX8QciWvhlIu8ety77sDec6R6eUWHbeUv8VbGsgj6DxFpyssadCUFDvkDsgwkYPZP1Egk7uiTNynGGa2ugqJf1OW+wsSVquhjFIg1qKhDy+xlLosy6F/9T/qTNmOMDRQyAZIgGfIjcrUD5wZRTgo8//N0ZAUSpflOC2DCpAAAA0gAAAAAaizCHJW4CA5DJCUpimOUhirc0K0NGmKnkLsphpeOhMuGqZUjwI8Nu/TrOK4KzlHFft2X7ZmHwqc5i/2oQET/K8TPboMt96G3rkSCFw775Ppdp3KvZis+m7uT5TEKVR2F8z7EOdlZTo/Je+t0IVLv0OD0IjhDfMabg6NaVtGez9tWzjSYvn1HczmfQUV/uI8Nqgu6//NkZAIPVeleHzBirAAAA0gAAAAA277nBEUVgJ47i6NAjSGTzPrF8DUaw6OoygQERgbPLasVr/xUu+eyy5BoYSzfJgZ36YORjvFJ4zIP4v/qJUK35pGVbG/WT/6zKvDz94Odv0vqNIbl/Iv5A/qH5AEiIAlGq38EbUtB3f718xzlRylaptu+t1ShJVEclQr///NkZAIOdfdkWyTCcwAAA0gAAAAAckqJEz0lRKJ4KtrnyFcwqbEwjbbGUTJxJIWQm9g1JDHkPnRsvzspgbOQj/uQT4VtRKo8zsyvqykZ1aVy1OY3mT6m9fmVr84weqMLSj0JMz6EJ6K6kEtUyv+vk2Sr/+yUa/U6Hf8gcScMKLScrz1AR79KCm5JJKhPfa6T//NkZAkNpfdmHxhihQAAA0gAAAAAKaIwmYGFixzC4QNTZaCT7I5ITNDN1hVUFsX2FDopS+jTsT/1SYNE0dCzOXqczqY4laegpuKV9Ufu1QT9EJq1jomyv/9EqUrHeno1DVTyqb/Z/kl6siqz+CYrCM6MVnlVxAjdi1WFElFlbbbdgciH/kmklWZqphoLyC3h//NUZBYNzflxHxhiKwAAA0gAAAAA2i0lFMKM2pwlGyqUv8pVPDNzZFRvoapXI44VtAjITynOqG5kvv1x36pnbWhzqyKqLVpm/+S+i6abtXVvqziSo/zCmM9RAwdzGq2jwYzCc412v/zECi+Ag4ryKckkloXnGp7Q//NkZAoOHdlmbzDCL4AAA0gAAAAArjzHutYo+qEOfcFJ8wkfu7R8XH7gRedI6ODG+lGynbqcMgqg/+iuhJWoEJRfob0MRZo4JvBpo1stXvOXqV/RHRun9ats2VG66v5tUdXec5xLBWzmUlXsuR2mYhLKNPjf+JAB3Cpnz2IAbb1ttuCEahTRwwgIzHGzuVC5//NUZBQONfVozyBlPwAAA0gAAAAAlBNVQpGobD1RC3tjhe/1VL0t2HsAwMokxROP9BYyivo4sdoFf9G3U7xhmL5eUpWoarqvRjldH43R6MZ7tyiJWpM6927Xnboa9i2YpX+7bNM9Ko99W1EcrewqJCzsklA13I3A//NkZAUOHeNYayDCPwAAA0gAAAAAOEeXRxeMYT3p4Tu7IMT1JsLNNRKQnP3zbR8FOVkgn/MQe2RGPq6uhzNcRKHcQ3Rv0IiN84G9g5+qHc5UNh2/8jOCEgSBCDlqGMbiA784RTsVvponIof8tl0qyN/f/K1dbpT1Gnx8QwT4crfTU1ltvAcKQLJRdPV2XHMi//NUZA8OQO1WDyEitAAAA0gAAAAAXTKj7itR/A9W5WKKmuyWv9hsocqTHVEZkl1MgRhjRSCwwXEhMKQ8uKB40SnDrOsf9Jphaf6BUzU4IG0oEjkHy7aUnaQWw0ige+C57P1uqDOXP8B+S7RE+SjC7RE7NLws+JIf//NkZAANqedUfyAi9AAAA0gAAAAABAdO7a3cJwhiapm4FBgcIhSuzQaOiy0JWLWioTr60K+3n0mlrv1WO/ZfOfyrqdYFrJWo+h7L/n7Wdw0e8rScGaJC5kPhRlm0ubdBn2/IOfiM8GDaki9Nm9tXoy8nO35WgzylSf7qorlQBQHCoxVyuxyVAJD0IK6mZRJ5//NkZA0OwfFMDyQiggAAA0gAAAAAASpsH3GmzaInSFfTYYxv+MY0O0Eo0hR3TzEO6AUr1k5QN3bI279ubyKsZWxYIyk3KDbmOyIRzp0IhGqjqyHJmM3s3/1OpTFO7rysdEfTv1Ps6W5rzLdTsVFIjo73Jd1P2VmeDMgyOfeQE59ZJeD4uktEotXCoeO5eitS//NkZBIPtgtOHyGCLAAAA0gAAAAABg8JiqhINC4ubacTn/RN0ZW+wirlZFM/PSqP9WBu04E9XcCAakdCS9Ag4hDYdX7LsjKKJ+yvRnU+xkbL3cdH3R2q3CIdleVn0ZJvvZ+ORuT0BlW6udwpeZlvPL0dNlqEIocSHc3SORvnKHdKEcmwnGmvVdd+ETgSdGdR//OEZA8V2fc2AmCmvAAAA0gAAAAA5WuBxpK1S9pIlPWkJhDR1awsNA9pAQAyCg9KwASJRJ3QaaRr/UCTqUIuo6qaxKJqWrpZK7kOUjpTMW5/1aWZBP/GB/K2gefHTh8z1H+zQbLNxB5jI9oo9CllKwgZBzVD7qt3xditF2hIRK8aZmECHffqSgkrq+wtEItGJkLviiE68/90ZajV4SX/iCXa3b5X/YBgZFF5/RJ9vwhyLqw2Xgh0g8T8Qy7OAkYq//OEZAsUce80AWBGvwAAA0gAAAAArKjhZrDh0kiJVn6rBVtp3CB4RkiUmeChP2ZVCI4gebXFYQqE4RL6oKjBCJzzviytnjDoKSudporFWRMIh2HbM7Rf+G6oU75/QI0LwgfphWfOdu4n6s2DIDczEMNCPcc4YqnODEgIG6agxJvyMUo8N1KxYg6ndR3CA/DcGoGNMYV2obgkBsn/yuhh/yIoIW35SAMQiM/O05HaIEHunqoOEqi0ylF5cSfAwGAA//OUZBIZJgcuBWUGtAAAA0gAAAAAkgS4aKQRYi6Xma0n0iCZ4QC2EJoY05BZsITDDkKzENhoBBFQlRhLdojd4IW2l8xmHXfTGbo3N5m6OC/cSt/+chv0D74cC2/kiA4of+xYR//wa4uLGiG1a/yGlBzl/kAOR+mCFo3aWFxvJSs98Nci8GUN7ZH5OLV3IPjGQ+9tJU8JKMI2d//jEOeSEpIHIEfykf+STtqS9BWxD/lo7g7efr3sX0s/8//8sHLwX/zE5FL//5aSDkye1VgOPGIuo1S5lj6SNgLutCUi2BPF8UeWQDUnvRxGjFkS1KmS//NkZCMS6gM2BmBiqAAAA0gAAAAAD8G8L6yJI2faZBjostp4dhNK48G3WjwTRxvLVUSzufxAzGbAYxAYIvY3ieY//CAkASipUVD1zKfqFVVBKbHRSm+CRTPiLNUs+3tudjSGeiEgLSlt6oaqPUnn4Z4Xi3mdiXAi6mcxyob7sTaylo+b4YbmBCHVGVCyxFEh//N0ZAYSzfE4Cqw0AAAAA0gBQAAASx8H7atBcVh563mlLfSlxUiZigWDepINmjAXTVqackEDgBXAgiQC6EoMKMkujSJocKBuMMMExgbm/Y+bTiHQepaWeUxmecvLbWZIG70mV+mYKU9qlKQaZGS0T851JOtaWplJZxGeeqro/Xr/upFv1r10f6WjX1pI0m0Vz9JvU51BBapk30Wuk300+psyRgapqgBJ//OUZAIadgcyCczMAIAAA0gBgAAAQIsCkgNMrSA4KM6FZkDnNOLQKTDgjjxEEBc8RiNhL+AazAUuBwOBJwE/AHKCw0XGBIIvgNywNUw6wxgGoJRE1DAIkQrcdayBjDSWINGTHOXD9BS4zJu5eQUWpXY8dN1pubolswJlBmNlOkePIMoxWXlnlIHDyj6i+VdkzEupFPmaKZvN3TcuLtudq908uHK1MtSkFIHWMdajHKbHTc2fUf1q0UDqbGjzBF9empGx49TRfL3UiUcvMxo6Z1SLe9tJVFajinWcMPupbOyLHHLq65klCFFKG8F8BmBV//N0ZAkQ4ekiC+eMAIAAA0gBwAAADicy+iEhqTKfoaaKGssieQ6LCZtwXumJPAMZvqlQEBEwCAgICWMx1VVj9VUKp1VLjMqqXxm/+MzFGZvVWP+qqt6qpf9VeMyl7MzN7N//////qqr6qpcZVL4wEBLszN9/9VVf6q////+q+zMvxmYCFEwEx0KAgLNgoK7wV0IJTEFNRTMuOTguNFVVVVVVVVVVVVVV'); + var array = new Uint8Array(new ArrayBuffer(source.length)); + for(var i = 0; i < source.length; i++) { + array[i] = source.charCodeAt(i); + } + return array; +} \ No newline at end of file diff --git a/src/wml.js b/src/wml.js index d400074..2eb8c13 100644 --- a/src/wml.js +++ b/src/wml.js @@ -53,6 +53,17 @@ SoundFont.WebMidiLink.prototype.load = function(url) { this.loadCallback(xhr.response); } }.bind(this), false); + + xhr.addEventListener('progress', function(ev){ + if (ev.lengthComputable) { + var percentComplete = ev.loaded / ev.total; + if (document.getElementById('message')){ + document.getElementById('message').firstChild.nodeValue = 'Now Loading...'+percentComplete+'%'; + } + } else { + // Unable to compute progress information since the total size is unknown + } + }, false); xhr.send(); }; @@ -162,6 +173,14 @@ SoundFont.WebMidiLink.prototype.processMidiMessage = function(message) { break; case 0xB0: // Control Change: Bn cc dd switch (message[1]) { + case 0x00: // Bank Select MSB: Bn 00 dd + //console.log("BankSelect MSB:", channel, message[2]); + synth.bankSelectMsb(channel,message[2]); + break; + case 0x01: // Modulation + // TODO + // synth.modulation(channel, message[2]); + break; case 0x06: // Data Entry: Bn 06 dd switch (this.RpnMsb[channel]) { case 0: @@ -179,14 +198,22 @@ SoundFont.WebMidiLink.prototype.processMidiMessage = function(message) { case 0x0A: // Panpot Change: Bn 0A dd synth.panpotChange(channel, message[2]); break; - case 0x78: // All Sound Off: Bn 78 00 - synth.allSoundOff(channel); + case 0x0B: // Expression: Bn 0B dd + synth.Expression(channel,message[2]); break; - case 0x79: // Reset All Control: Bn 79 00 - synth.resetAllControl(channel); + case 0x20: // BankSelect LSB: Bn 20 dd + //console.log("BankSelect LSB:", channel, message[2]); + synth.bankSelectLsb(channel, message[2]); + break; + case 0x40: // Hold Pedal: Bn 40 dd + // ホールドペダルは0以外有効なのでbooleanで渡す + //synth.holdPedal(channel, message[2] !== 0); break; - case 0x20: // BankSelect - //console.log("bankselect:", channel, message[2]); + case 0x41: // Portamento : Bn 41 dd + //synth.portamento(channel, message[2]); + break; + case 0x5B: // Reverb : Bn 5B dd + synth.reverbSend(channel, message[2]); break; case 0x64: // RPN MSB this.RpnMsb[channel] = message[2]; @@ -194,6 +221,16 @@ SoundFont.WebMidiLink.prototype.processMidiMessage = function(message) { case 0x65: // RPN LSB this.RpnLsb[channel] = message[2]; break; + case 0x78: // All Sound Off: Bn 78 00 + synth.allSoundOff(channel); + break; + case 0x79: // Reset All Control: Bn 79 00 + synth.resetAllControl(channel); + break; + case 0x7B: // All Note Off + synth.allNoteOff(channel); + break; + default: // not supported } @@ -205,25 +242,66 @@ SoundFont.WebMidiLink.prototype.processMidiMessage = function(message) { synth.pitchBend(channel, message[1], message[2]); break; case 0xf0: // System Exclusive Message - // ID number - switch (message[1]) { - case 0x7e: // non-realtime + // console.log(message[2].toString(16),message[3].toString(16),message[4].toString(16),message[5].toString(16),message[6].toString(16),message[7].toString(16)); + switch (message[2]) { + case 0x43: // Yamaha XG + switch (message[5]) { + case 0x00: + switch (message[7]) { + case 0x04: + // XG Master Volume (FO 43 10 4C 00 00 04 [value] F7) + synth.setMasterVolume(message[8] << 7 ); + break; + case 0x7E: + // XG Reset (F0 43 10 4C 00 00 7E 00 F7) + synth.init(); + synth.isXG = true; + break; + } + break; + case 0x20: + // TODO: + // Reverb Effect (F0 43 10 4C 02 01 00 01 [effect type] F7) + // Chorus Effect (F0 43 10 4C 02 01 00 43 [effect type] F7) + // Variation Effect (F0 43 10 4C 02 01 00 05 [effect type] F7) + break; + case 0x08: + // Drum mode (F0 43 10 4C 08 [channel] 07 [mode] F7) + synth.bankSelectMsb(message[6],127); + break; + } + break; + case 0x41: // Roland GS / TG300B Mode // TODO + switch (message[8]) { + case 0x04: + // GS Master Volume (F0 41 10 42 12 40 00 04 [value] 58 F7) + synth.setMasterVolume(message[9] << 7); + break; + case 0x7F: + // GS Reset (F0 41 10 42 12 40 00 7F 00 41 F7) + synth.init(); + synth.isGS = true; + break; + } break; - case 0x7f: // realtime - var device = message[2]; + case 0x7e: // GM Reset (F0 7E 7F 09 01 F7) + // TODO + synth.init(); + break; + case 0x7f: // GM Command // sub ID 1 switch (message[3]) { case 0x04: // device control // sub ID 2 switch (message[4]) { - case 0x01: // master volume + case 0x01: // master volume (F0 7F 7F 04 01 00 [value] F7) synth.setMasterVolume(message[5] + (message[6] << 7)); break; } break; } - break; + break; } break; default: // not supported