Blog

【創意編程】《我想讓你說句話(Say Something, Please)》 技術實踐

螢幕快照 2019-03-24 下午5.09.33

作品介紹:【作品介紹】以光影為你發聲——紀柏豪《我想讓你說句話(Say Something, Please)》

《我想讓你說句話(Say Something, Please)》,在實作上分為網路串接及音訊處理兩部分,使用到的工具包含Firebase Realtime Database、Web Speech API、 Soundflower、Max。

主要流程為:
  1. 運用Firebase Realtime Database做文字即時通訊
  2. 使用Web Speech API將串接到的文字由瀏覽器發出聲音
  3. 最終經由SoundFlower將聲音串接回Max做音訊處理。
以下將依依介紹這些工具給大家認識!

Firebase Realtime Database:即時資料庫


「firebase」的圖片搜尋結果
圖源:https://firebase.google.com/
「firebase」的圖片搜尋結果
圖源:https://tw.alphacamp.co/blog/2016-07-22-firebase
Firebase是一套雲端後端服務平台,主要提供行動裝置及網頁端一個快速且不需要建置的後台及資料庫。Firebase提供了多項免費的功能,如:Authentication(會員認證)、Realtime Database(即時資料庫)、Clound Message(推播服務)……,本件作品主要使用到Firebase所提供的Realtime Database(即時資料庫),將使用者所輸入的文字即時同步至裝置上,而Firebase Realtime Database能夠做到30毫秒以下的延遲時間,因此在使用上能夠達到近乎即時的體驗,若想自己動手玩玩看Firebase,可以參考這篇文章

Google Web Speech API:語音轉換


圖源:https://www.google.com/intl/en/chrome/demos/speech.html
Web Speech API為Google所提供的聲音API,主要功能分為Speech Synthesis(文字轉聲音)及Speech Recognition(聲音轉文字),本次作品主要使用Speech Synthesis(文字轉聲音)的功能,將取得到的文字經由Web Speech API所提供的SpeechSynthesisUntterance物件,將文字轉換成聲音,並由瀏覽器將聲音說出,結合Firebase Realtime Database,我們能使每個使用者的手機及裝置本身都同步發出聲音,有趣的是,Web Speech API會因為各個使用者使用不同廠牌的手機,而預設不同類型的聲音,因此若有多個使用者同時於裝置附近互動,將會產生非常有趣的聲音體驗,若想自己動手玩玩看Web Speech API,可以參考這篇文章喔!

Soundflower:虛擬的音訊通道


圖源:https://zlargon.github.io/blog/MAC/tools/record-both-system-audio-and-mic-input/
Soundflower與Max同為Cycling ‘74所開發的產品,因此時常被用來搭配使用,而Soundflower其主要功能為,提供電腦產生虛擬的音訊通道,能同時將電腦內部音源及麥克風外部音源串接起來,因此被廣泛的運用在同時需要麥克風聲音及遊戲背景音的遊戲直播上,而本件作品運用了Soundflower做為網路瀏覽器與Max中間的橋樑,我們將電腦的內部音源串接至Max裡的麥克風輸入,最後由Max輸出經過處理後的音訊,若想自己試試看使用Soundflower,可以參考這篇文章

Write a comment