20个有用的网络音频Javascript库
翻译自:https://bashooka.com/coding/web-audio-javascript-libraries/
Web Audio API使你能在网页中用javascript建立令人惊讶的复杂的音频应用。因此,这里有一些有用的Javascript库,它们会使使用Web Audio API的工作变得更容易。
Tone.js
Tone.js是一个在浏览器中创建互动音乐的框架。它提供了先进的调度能力、合成器和效果,以及建立在Web Audio API之上的直观的音乐抽象概念。Tone.js对Web Audio API进行了抽象,使其更容易使用,为我们提供了可以连接在一起的构建块,然后将音频发送到输出端。
https://tonejs.github.io/
Howler.js
howler.js是一个用于现代Web音频库。它默认使用Web Audio API,并用HTML5 Audio 做保底 。这使得JavaScript中的音频工作在所有平台上都很容易和可靠。
https://github.com/goldfire/howler.js
Rythm.js
一个能让你的页面跳舞的javascript库。
MIDI.js
使得在网络上创建一个MIDI-app变得容易。包括一个库,可将协同效应编入你的应用程序,用于记忆识别或创造迷幻效果。将吉他、贝斯、鼓等的声音字体转换为可由浏览器读取的代码。支持多种乐器同时演奏和完美计时。
https://github.com/mudcube/MIDI.js
Tuna
一个用于Web Audio API的音频效果库。
https://github.com/Theodeus/tuna
Bapjs
Bap是一个用Javascript和Web Audio制作节拍和合成序列的工具包,可在现代浏览器中播放。它的灵感来自于经典的 "MPC工作流程",并使节拍制作的所有方面完全模块化和可重复使用。
https://github.com/adamrenklint/bap
Pizzicato
Pizzicato旨在简化你通过Web Audio API创建和操作声音的方式。
https://github.com/alemangui/pizzicato
Musical.js
一个支持ABC符号的WebAudio合成器排序的小库。除了HTML5 WebAudio API之外,这段代码没有任何依赖性,而且它被压缩到了17K左右。
https://github.com/PencilCode/musical.js
Wavesurfer.js
建立在Web Audio 和Canvas上的可导航波形。
Wad
Wad是一个使用新的HTML5网络音频API操作音频的Javascript库。它极大地简化了创建、播放和操作音频的过程,既可以实时播放,也可以按计划间隔播放。Wad提供了一个简单的界面来使用桌面DAW(数字音频工作站)中的许多功能,但不要求用户担心发送XHR请求或设置复杂的音频图。
https://github.com/rserota/wad
Blip
blip是一个轻量级的JavaScript库,它包装了网络音频API,抽象了AudioContext,并简化了节点创建和音频路由。它还提供了一些极其强大和灵活的方法,用于循环和处理样本,允许时间上的精确性和音乐上的表现力。
https://github.com/jshanley/blip
Waud
Waud是一个简单而强大的网络音频库,允许你超越HTML5的音频标签,轻松利用网络音频API。它对网络音频API进行了抽象,使其在多个平台和浏览器上保持一致和可靠。在不支持Web Audio API的非现代浏览器上,它还可以退回到HTML5音频。
Theresa’s Sound World
Theresa的声音世界是在浏览器中以快速和友好的方式操作音频的强大方式。它建立在网络音频API的基础上,使用一个模块化的路由系统,允许你制作复杂的音频应用程序和乐器。
Peaks.js
Peaks.js是一个模块化的客户端JavaScript组件,设计用于在浏览器中显示音频波形并与其互动。
Lissajous
Lissajous是一个使用Javascript进行实时音频表演的工具。它将创建振荡器和采样器的简洁工具包装成一个可连锁的API,使表演者可以用最少的代码建立和即兴创作歌曲。
Beet.js
用于网络音频API的多韵律音序器库。序列器可以有多个层次,每个层次有不同的步数。这个功能允许用户使用一个简单的api创建复杂的多声部节奏和欧式节奏。
XSound
用于合成器、效果器、可视化、录音的网络音频API库...等。
CircularAudioWave
使用网络音频API和ECharts进行圆形波的音频可视化的JS库。
Web Audio Engine
网络音频API的纯JS实现。它为每个用例提供一些AudioContext类:音频播放、渲染和模拟。
Band.js
网络音频API的一个接口,支持节奏、多种乐器、重复部分和复杂的时间符号。