Categories
程式開發

Web音樂交互框架Tone.js簡介


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框架。

npm install tone

import * as Tone from "tone";

Tone.js為瀏覽器支持音樂功能提供了穩健的框架。軟件以MIT許可開源提供,並給出了一些頗具吸引力的示例和演示。歡迎貢獻者參閱Tone.js貢獻指南

原文鏈接:

Tone.js Interactive Music Web Framework