Web 音乐交互框架 Tone.js 简介
2009 年 9 月 9 日
Tone.js
是一个使用 Web Audio API
为浏览器创建交互式音乐功能的前端框架。
Web Audio API
是 W3C 组织倡议的在 Web 上创建音乐的推荐标准,尽管其前景看好,但当前仍存在 一些挑战和局限性
。为此,Tone.js 致力于提供一个对音乐人士和音频编程人员均友好的框架,以便于创建基于 Web 的音频应用。
Tone.js 提供大量 DAW(数字音频工作站,digital audio workstation)特性,包括事件编排、预建合成器和音效等。Tong.js 在 Web Audio 的 AudioContext 时间之上做了一层抽象,实现用音符和音节替代秒数。
为支持在播放声音前等待浏览器端交互,框架返回一个连接用户交互事件句柄的 Promise(即承诺将来会执行)对象。
Tone.js 提供跟踪时间的 Transport API,并支持循环,以实现音乐的重播和一般声音的循环播放。
Tone.js 提供多种合成器、音效、音源和噪声生成器,并支持创建新的特性。对于支持 WebRTC 协议
的浏览器,还可通过 Tone.js 实现输入外部音频。
运行 Tone.js 只需通过 npm 安装即可。然后在应用中导入相关的 ES 模块,或是导入整个 Tone 框架。
复制代码
npminstalltone import*asTonefrom"tone";
Tone.js 为浏览器支持音乐功能提供了稳健的框架。软件以 MIT 许可 开源提供
,并给出了一些颇具吸引力的 示例和演示
。欢迎贡献者参阅 Tone.js 贡献指南
。