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 貢獻指南

原文鏈接:

Tone.js Interactive Music Web Framework

相關文章