法國尼斯大學電腦科學教授Michel Buffa指出,電音外掛整合開發環境Faust IDE以WebAssembly撰寫,可直接在瀏覽器上打造外掛程式,還能進行除錯,簡化傳統需要複雜工具才能執行的不便。(圖片來源/Michel Buffa)

網路技術蓬勃發展、瀏覽器迅速普及,也催生了低階程式語言WebAssembly,讓瀏覽器能直接高效能執行多種應用程式,比如遊戲、視訊、音訊轉碼等。法國尼斯大學電腦科學教授、同時也是W3C全球資訊網協會諮詢委員會成員的Michel Buffa,在這次大會中,分享了WebAssembly技術在如何影響網頁音訊(WebAudio)的發展,來在網頁上執行原本肥大的電子音樂編輯程式,打造電音所需的外掛程式(Plug-ins)。

WAP可在網頁上打造外掛程式,但使用門檻高

Michel Buffa指出,電子音樂市場發展以來,幾乎由商業性大廠主導,在音樂製作方面,也以非網頁軟體為主,特別是數位音樂製作軟體(DAW)。不過,DAW功能並非包山包海,於是,社群以C或C++等程式語言來開發外掛程式,進一步擴充DAW功能。

隨著外掛程式興起,為打造一套外掛標準,2年前,Michel Buffa集結其他開發者和研究員,提出一套網路音訊外掛程式的開發標準WAP(WebAudio Plugins)。

這個標準,可讓使用者在網頁上,利用JavaScript等程式語言,來打造電音外掛、編輯音樂。不只如此,在網頁上,還能透過API,整合由不同程式碼撰寫的外掛程式,並利用這些外掛程式,來製作更多音樂效果。

雖然WAP能讓使用者在網頁上製作電音,卻也凸顯了使用門檻高的缺點。這是因為,音訊外掛程式組成複雜,包括由演算法組成的標準即時數位訊號處理(DSP),以及使用者介面(UI)和MIDI控制元件等。

因此,開發外掛程式本身就不容易,而且在除錯時,還需要特殊工具,才能處理。

藉助WebAssembly,簡化外掛程式開發

於是,WebAudio社群希望簡化外掛程式的開發,對WebAssembly呼聲越來越高,希望以WebAssembly線上工具,來打造端到端的WAP電音製作器。

其中著名的例子,就是使用電音外掛整合開發環境Faust IDE,來進行音訊訊號處理、製作音樂。

Michel Buffa指出,Faust IDE以WebAssembly撰寫,可直接在瀏覽器開發外掛程式。Faust IDE具有來源程式碼編輯器、即時音訊分析器,也提供不同的視覺化圖表,讓使用者參考。最重要的是,Faust IDE還有一個預設、可全面操作的圖形使用者介面(GUI),讓使用者更容易上手。

此外,Fasut IDE還可直接在瀏覽器上,進行程式除錯。最後,使用者可將在Faust IDE製作的外掛程式,直接發布或匯出到其他平臺上。

WAP下一步:打造收斂層支援所有外掛

話鋒一轉,Michel Buffa表示,現階段的WAP仍有一個挑戰,也就是各家開發的外掛程式,特別是商業大廠,多半使用自己的API,容易出現不相容的問題。為解決這個困難,包括Faust、個別開發者和研究員在內的WebAudio社群成員,都正研發WAP 2.0,目標是要打造一個收斂層,來支援所有的外掛程式。


Advertisement

更多 iThome相關內容