時間是1974年,哈里·考爾正在監視一對在舊金山擁擠的聯合廣場散步的夫婦。他使用獵槍麥克風秘密錄製他們的談話,但在關鍵時刻,附近的打擊樂隊淹沒了談話。最終,哈里不得不使用一種不可思議的小工具,從錄音中提取出幾乎聽不見的話語,“如果他有機會,他會殺了我們。”
這段音訊取證在三十多年前的電影《對話》中出現時,還屬於科幻範疇。今天有可能實現嗎?
從多重對話中理清混亂的談話,俗稱“雞尾酒會問題”,研究人員在過去十年中已經取得了許多突破。當多個人同時說話時,人類聽眾可以選擇性地忽略除了感興趣的說話者之外的所有人。與人不同,機器在嘈雜的環境中,尤其是在背景語音嘈雜的情況下,在識別語音方面一直非常不可靠。語音識別技術正變得越來越普及,現在被用於向計算機、電話和GPS裝置口述文字和命令。但是,如果兩個人同時說話,你除了得到胡言亂語之外,什麼也得不到。
關於支援科學新聞
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保關於塑造我們當今世界的發現和想法的有影響力的故事的未來。
最近的大量研究都集中在雞尾酒會問題上。2006年,英國謝菲爾德大學的馬丁·庫克和加州大學聖地亞哥分校的李德元組織了一項語音分離“挑戰”,這是一項旨在比較分離和識別兩位說話者混合語音的不同方法的任務。從那時起,世界各地的研究人員已經構建了系統,彼此競爭,並與最終的基準:人類聽眾競爭。
在這裡,我們調查了語音分離的計算挑戰,並概述了用於解決該問題的技術。特別是,我們描述了我們三人(以及我們的同事谷歌的特勞斯蒂·T·克里斯蒂揚松)在分離挑戰中使用的“超人”演算法的工作原理。然後,我們描述了一種後續演算法,它可以有效地解決更復雜的,具有兩個以上說話者的分離問題,而使用原始方法需要花費很長時間才能解決。(另請參閱《大眾科學》2011年4月刊的“解決雞尾酒會問題”一文。)
1. 自己嘗試
為了瞭解語音分離演算法所面臨的挑戰,請嘗試聽清挑戰中使用的一些重疊語音中的目標詞。樣本中說出的所有句子都使用非常有限的詞彙,並且具有與以下示例相同的簡單結構:“現在將紅色放在C2位置。” (如果你想象它們是在棋盤遊戲中如何使用彩色標記的說明,這些句子可能看起來不那麼奇怪。)
在每個混合語音中,其中一個說話者會提到“白色”。您的目標是辨別關於“白色”的句子中說出的字母-數字組合(例如示例中的“C2”)。
有限的詞彙和簡化的語法使得研究可以專注於分離重疊語音的挑戰,而無需識別更復雜的發音所需的基礎設施。這些演算法處理了數千個這樣的測試樣本,這些樣本在幾個方面有所不同。在某些樣本中,“目標”和“掩蔽”說話者的聲音大小相同,但大多數情況下它們的音量略有或中等差異。“目標”和“掩蔽”說話者可能性別不同或性別相同,甚至可能是同一個人說出兩個句子。當目標是同一個人,以與掩蔽者相同的或略低的音量說話時,人類聽眾的困難最大。
2. 頻譜圖如何表示語音
為了分離多個說話者的語音或識別一個人的語音,計算機透過其頻譜來表示聲音訊號,即聲音在每個頻率上的能量。頻譜圖顯示頻譜如何隨時間變化,每個點的顏色表示該頻率和時間的聲音能量。頻譜圖傳達了識別語音所需的所有資訊。事實上,麻省理工學院的計算機科學家維克多·祖曾經教授一門關於如何透過僅僅檢視頻譜圖來轉錄語音的課程。
為了生成頻譜圖,軟體將聲音訊號劃分為短的,重疊的時間段,稱為幀,每個幀大約40毫秒長(1/25秒)。重疊避免了在每個幀的開始和結束時丟失資訊。確定每個幀的聲音訊譜。因此,頻譜圖是一系列單獨的頻譜,每個幀一個。語音識別和語音分離通常透過一次移動一個頻譜圖幀來實現。
3. 重疊語音的頻譜圖
將音訊源混合在一起有點像將牛奶倒入咖啡中。一旦它們混合在一起,就沒有簡單的方法可以將它們分開。在每個時間幀中,每個源的頻譜基本上加在一起。原則上,將聲音分成兩部分就像問“如果x加y等於10,那麼x和y是多少?”一樣任意。
在真正的雞尾酒會上,您可以透過擁有兩隻耳朵獲得一些額外的資訊。每隻耳朵檢測到的略有不同的聲音會告訴您聲音的來源方向,這可以幫助您從人群中挑出一個說話者。但是,如果兩個人處於同一大方向,並且計算機也沒有處理用單個麥克風錄製的錄音,則您將不會獲得這種幫助。語音分離挑戰側重於此問題的“單聲道”版本。
幸運的是,正如檢視頻譜圖所見,語音的聲音具有很多結構。所有語音分離方法都在某種程度上利用了這種結構。
