平常很少用電腦聽音樂,前陣子心血來潮想聽音樂專心Coding,不料遇上靈異現象: 歌曲音樂聲還在,但人聲部分極小,聽起來像從遠方傳來,有種空靈感~ 連換了好幾首MP3都是如此,全變成卡拉OK伴唱帶,只播音欒跟和聲,歌得自己唱,但Copy至手機播放則正常。更恐怖的來了,決定播個影片做對照,開了Anders Heljsberg的TypeScript介紹影片測試,大神的演講也被消音,鍵盤聲比說話清楚。但是Windows播放WMV音效正常,控制台的左右聲道測試也很OK。要不是事情發生在鬼月之前,還真得朝「某位抑鬱而終女歌手的怨念發作,偷走了歌聲」偵辦。
起初認定是驅動程式問題,試過升級及重裝音效晶片驅動無效。接著懷疑MP3/MP4的Codec(編碼解碼器)有問題,重裝Codec Pack亦未見改善。
無意間發現,調整左右聲道平衡,若將左聲道或右聲道音量歸零,人聲就會出現,而且左右都有聲音(咦?),感覺人聲因左右聲道抵消才消失。用Vocal、Missing、Blanace等關鍵字查詢,再由查詢結果抓出新關鍵字,終於查出原因:
如上圖,為圖方便,我拿Lumia 920的耳機接電腦,插頭有三環分為四節,由尖端到尾端分別是左聲道、右聲道、接地、麥克風端子(AHJ TRRS標準,另一種規格則是OMTP,接地與麥克風順序相反,Nokia WP8系列的Lumia插孔同時支援AHJ及OMTP);而PC耳機插座規格為兩環三段式,分別為左聲道、左聲道及接地。兩種規格間有微小差距,當端子接觸不夠精準,便可能出問題。若左聲道或右聲道接觸不佳,導致左耳或右耳無聲不讓人意外;但如果是接地接觸不良呢? 是的,下場是音樂裡的人聲會消失! 很神奇吧?
背後的原理是這樣的: 立體聲的立體感來自左右耳聽到的音量有差異,當兩耳音量相同,人類會產生聲音在正前方的感覺。錄製歌曲時會透過混音讓左右聲道提供同相音量的歌聲,樂器聲則安排成左右有別,讓聽者產生「歌手在正前方,伴奏樂團位於歌手身旁」的層次感。換句話說,在音樂MP3裡多半會採歌聲部分左右音量相同,樂器聲左右不同的配置。
當接地良好,左右聲道都能完美呈現。當訊號未確實接地,猜猜會發生什麼事? 左右聲道訊號並未因此消失,而是變成以另一聲道訊號為參考基礎的電壓變化訊號。有趣的部分來了,因為左右聲道具有相同音量的歌聲訊息,互為參考基準後剛好完全抵消,於是便得到「歌聲消失、伴奏保留」的卡拉OK伴唱效果。
那為什麼將左右聲道一方調為零,人聲就會恢復,而且兩耳都有聲音?
將左聲道音量調為0,對右聲道而言參考基準歸零,形同接地,故右聲道恢復正常。而左耳則變成零減去右聲道,待到正負相反但波形相同的訊號,故左耳也聽得到聲音。
另外還有一個現象,按下耳麥通話鈕,人聲也能恢復正常。這應該是因為插孔的接地端搭在插頭的麥克風端子上,按鈕後麥克風端子與接地端子形成通路,讓插孔順利接地,訊號便正常。
奇妙現象全都有了合理解釋,沒有鬧鬼,一切回歸科學。
但聽不到人聲要怎麼解決? 專業解法是買個TRRS插頭轉立體聲的轉接頭,或者有個懶人解法: 插頭別插到底,拉出來一點點讓接地正常,一秒搞定~ XD
【參考資料】