Web端midi播放新方法?

我好像发不了太多链接:expressionless:

在github上发现似乎存在一个纯js的midi播放器。
[github链接](https://github.com/mudcube/MIDI.js/)

简单的技术细节

关于[WebAudioAPI](https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API)
WebAudioAPI[播放自定义波形](https://www.coder.work/article/940412),需要通过正弦余弦波叠加逼近音色。
我们知道理论上同一个乐器的音色(即波形是一样的),所以可以混合波形。
WebaudioAPI会调用浏览器底层C++或者汇编编写的接口,所以性能没有问题。

该js库官网

2 Likes

甚至可以进行音频可视化

更新:不能放交响曲,js性能较差,容易爆炸。

加油,再增加点功能就是FM合成器了

我自己写过一个合成器,不过功能很少(仅仅考虑音色和音高),原理就是AM/FM/叠波:https://madderscientist.github.io/noteDigger/