把喜歡的歌變成伴唱帶:電腦軟體如何從樂曲中分辨樂器聲與人聲?

把喜歡的歌變成伴唱帶:電腦軟體如何從樂曲中分辨樂器聲與人聲?
Photo Credit: Shutterstock / 達志影像

我們想讓你知道的是

想把完整版的音樂檔轉成卡拉OK版本?過往數十年來所發展的工具,大多有人聲分得不夠乾淨的問題,如今由於深度學習的發展,才有越來越多方便好用的單聲道聲源分離工具問世。

文:蘇黎(台大電機系及數學系雙學士,台大電信所博士。目前為中研院資訊所助研究員,研究興趣為音樂人工智慧)

對於愛唱卡拉OK(Karaoke)或音樂迷來說,如果有個系統或軟體,能將音樂檔的人聲與背景音分離,就能隨時高歌一曲或編輯音樂了。

但電腦軟體處理音樂的方式與人腦不同,需要在音樂的訊號中找尋及分辨進行分析,而近年來的卷積式神經網路,也使音訊分離的能力更上層樓,未來可透過更多訓練資料提升準確度。

在一場喧囂的派對中,高分貝的電子音樂似乎蓋過了所有的聲音。孤獨的你置身其中,只看見四周的人們互相交談,卻聽不見彼此說話的內容。但他們依然持續交談著,臉上的表情充分顯示自己聽得懂彼此訴說的話語。此情景並不罕見,人們往往能夠專注在特定對象的聲音上,而忽略其它噪音干擾,這即是雞尾酒會效應(cocktail party effect)。

Happy friends having fun at cocktail bar - Young trendy people drinking cocktails and laughing together in a club - Party and nightlife concept
Photo Credit: Shutterstock / 達志影像

類似雞尾酒會效應的能力,也出現在日常的聽覺經驗中,例如收聽流行歌曲時,有時候會特別注意主旋律的人聲,而當陶醉於歌手的聲線時,人的聽覺或多或少能把伴奏的成分排除。

而讓機器自動辨識吵雜的環境中說話的內容,在伴奏中分析歌手的音高與音色,甚至將人聲及伴奏的樂器聲分離,都是音訊處理與人工智慧領域中探索久遠的技術。這些技術在音樂工程中有相當多的應用,其中一個重要的例子就是本文的主題:分離單聲道(mono-channel),將音樂中的人聲及作為伴奏器樂聲進行聲源分離(source separation)。

相信這對許多愛唱卡拉OK的朋友來說,把完整版的音樂檔轉成卡拉OK版本,是長久以來所期待的夢想。過往數十年來所發展的工具,大多有人聲分得不夠乾淨的問題。如今由於深度學習(deep learning)的發展,才有越來越多方便好用的單聲道聲源分離工具問世。

不同聲源的聲源分離

在進入正題之前,必須先釐清聲源分離問題的範疇。

首先聲源分離問題,與雞尾酒會效應中所指的音高或音色的辨識問題不同。當辨識吵雜環境中對方說話的內容,指的是直接「聽見」或「聽懂」特定的聲源;而聲源分離則要求「復現」此聲源。

例如在派對中聽著歌手的高音,聽者可立即知道歌手所唱的那是哪一首歌,甚至能精準地跟著唱出還原每個音高與歌詞,但此精準的辨識能力與復現歌手唱歌的原始訊號無關。

事實上,聽者完全不需要、也無法因為聽懂音樂就能把音樂訊號處理乾淨,更無法因此復現每個聲部的訊號。相對而言,機器即便是能復現原音,也未必能像人類理解原音的內容與意義。

其次,必須進一步規範何謂一個獨立而特定的聲源。試比較下列兩種情形:一名歌手獨唱一段旋律與一大群歌手合唱同一段旋律,前者固然是一個聲源,但後者則是多個聲源?還是依然是同一個聲源,但整體而言音色是否不同?假如是多個聲源,那聽者有辦法聽出每一位歌手的聲音嗎?假如無法,有可能復現每一位歌手的歌聲嗎?

當歌手與歌手之間音色高度相似,演唱內容雷同,則似乎很難界定每位歌手彼此都是不同的聲源,而彼此的聲音可以被分離。換句話說,何謂一個獨立而特定的聲源,是由彼此的音色及演唱內容所決定,而以訊號處理的語言來說,則是藉由訊號特徵(feature)所決定。因此,筆者將從訊號特徵的討論出發。

找尋聲波中的訊號特徵

接下來的挑戰,就是如何從聲波中找出訊號特徵。一般人平常所聽到的音樂,都是由不同波形的聲波訊號疊加而成。如下方圖一顯示的是一個人聲與鋼琴各自的訊號波形,及兩個訊號疊加的結果。

未命名
Photo Credit:科學月刊
圖一:音樂波形截錄範例。上圖為女性人聲音高為D4的波形,中間為鋼琴音高為D4的波形,下方則為人聲與鋼琴的疊加。在A0 = 440 Hz時,D4的基礎頻率為293.67 Hz,相當於週期3.405 毫秒,如紅色虛線所標示的訊號週期。

讀者可以觀察到這種訊號的規律性:每隔一個週期(period)的時間,會觀察到相似的波形(wave shape),而人類的聽覺機制中,不同週期可對應不同的音高,不同的波形則能對應到不同的音色。

但觀察兩個聲波的疊加時,其實很難從疊加後的波形回推原本的波形。換句話說,一般人很難從波形本身找到足夠的訊號特徵描述兩種聲音。

此時就需要利用頻譜分析(spectral analysis)。頻譜分析中最重要的工具是傅立葉變換(Fourier transform), 傅立葉變換能夠將週期性訊號,表示成各種不同振幅與頻率正弦波訊號的加總。

本文經科學月刊授權刊登,原文刊載於此

責任編輯:朱家儀
核稿編輯:翁世航