音樂串流服務Spotify開源了可以大規模處理音訊檔案的工作管線Klio,Spotify稱Klio為一個生態系,是為了要執行大規模音訊智慧系統,讓開發團隊能夠與音訊研究人員良好協作,更易於部署音訊演算法而開發。

Klio的取名,來自於希臘神話掌管歷史的繆斯女神之一克利俄(Kleio),為了方便發音而將e去掉,成為了Klio。Klio讓用戶能夠建置媒體處理系統,讓生產系統和研究團隊,可以共用工具和基礎設施,使工作成果和輸出能夠重複使用,進而降低維護和重新計算的成本。

Klio同時支援開發人員與音訊研究人員的工作,研究人員可以使用與開發工程師相同的基礎設施,並且獲得處理完整內容目錄的能力,而開發人員則能以簡單地方法,將研究人員產出的大量媒體處理成果直接產品化,Spotify提到,由於雙方共用相同的開發框架,因此這項工作也變得容易許多。

當Klio透過串流工作管線提取新內容時,便能立刻對內容進行處理,用戶可以從像是Google Pub/Sub等事件輸入擷取音訊檔案,並將這些檔案下載到工作機臺上,並使用librosa、ffmpeg或機器學習演算法處理檔案,最後將輸出結果儲存到選擇的目標上。

處理檔案的演算法可以是機器學習模型,也可以是各種方法,只要能以Python打包就沒問題,Klio可以擴展針對整個媒體集進行處理,也能夠對單一項目快速迭代。不過,目前Klio僅支援讀寫至Google Pub/Sub,Spotify開源Klio歡迎社群能夠貢獻強化I/O支援。

Klio建立在統一程式開發模型Apache Beam之上,並且調校使其適合處理音訊和二進位檔案,Apache Beam一開始主要由Google開發,並在2016年的時貢獻給Apache軟體基金會,能夠用來定義和執行資料處理管線,進行ETL、批次處理和串流處理工作負載。

官方提到,由於目前Klio還在快速開發階段,也就是說,API和功能可能會不停變更,新版本也不一定會與舊版本相容,他們建議使用者在Klio新版本釋出時,就立刻升級。


Advertisement

更多 iThome相關內容