跳至內容

無縫播放

出自Taiwan Tongues 繁中維基
這是此頁批准,以及是最近的修訂。

無縫播放(Gapless playback)是指連續音軌的不間斷播放,使得原始音訊源中的相對時間距離在播放時能夠跨越音軌邊界而得以保留。為使其有效,音軌邊界處其他(與時間無關的)人為效果也不應被切斷。無縫播放在 CD 唱片、留聲機唱片或磁帶上很常見,但在其他採用壓縮數位音訊的格式中則不一定可用。對於那些音軌之間需要無縫銜接的音樂聽眾而言,缺乏無縫播放功能會造成困擾,例如某些古典音樂(特別是歌劇)、前衛搖滾、概念專輯、電子音樂,以及音軌間帶有觀眾噪音的現場錄音。

產生間隙的原因

播放延遲

各種軟體、韌體和硬體元件可能會在開始播放音軌時產生顯著的延遲。如果不將此延遲納入考量,聽眾將在靜默中等待播放器擷取下一個檔案(見硬碟存取時間)、更新元數據、解碼整個第一區塊,然後才有數據可以饋入硬體緩衝區。間隙可能長達半秒或更久——在某些古典或舞曲等「連續性」音樂中,這點非常明顯。在極端情況下,硬體甚至會在音軌之間重置,產生非常短暫的「喀嚓」聲。

為了應對整個延遲鏈,理想情況下,應在當前播放的音軌結束前,就將下一音軌的開頭部分預先解碼。這兩段解碼後的音訊必須在過渡期間連續地饋入硬體,就如同在軟體中將音軌串接起來一樣。

許多個人電腦上的舊式音訊播放器並未實作播放無縫音訊所需的緩衝處理。其中一些依賴第三方的無縫音訊外掛程式來進行輸出緩衝。大多數近期的播放器以及舊播放器的新版本現在都已直接支援無縫播放。

壓縮失真

基於重疊時域/頻域轉換的有損音訊壓縮演算法,會在每個音軌的開頭和結尾加入少量靜音填充。這些靜音段會增加壓縮後音訊數據的播放時長。如果在播放時未將其裁切,跨越音軌邊界連續播放的兩段靜音,聽起來就會像是原始音訊內容中的一次暫停。無損格式則不會有此問題。

對於某些音訊格式(如 Ogg Vorbis),其開頭和結尾有精確定義,因此填充的靜音會在解碼過程中被隱式裁切。其他格式可能需要額外的元數據,才能讓播放器達到相同效果。流行的 MP3 格式並未定義任何方法來記錄延遲或填充的量以便後續移除。此外,不同編碼器的延遲可能各不相同,使得自動移除變得困難。即使將兩個音軌解壓縮並合併成一個單獨的音軌,它們之間通常仍會存在暫停。

以 TAO 模式錄製的 CD

音訊 CD 可以用「一次性燒錄」(DAO)或「軌道一次性燒錄」(TAO)模式進行錄製。後者更具彈性,但缺點是在音軌之間會插入大約 2 秒的靜音。「一次性燒錄」(DAO)模式允許在一次連續的操作中錄製整張 CD,音軌之間沒有任何暫停。此模式可實現歌曲間不中斷的播放。DAO 常用於現場錄音、DJ 混音或音軌間相互融合的概念專輯。

消除間隙的方法

精確無縫播放

與啟發式技術相對,「精確無縫播放」通常指的是保證播放時序與音訊源完全相同。根據此定義,一個精確的無縫播放器不應在連續音軌間引入間隙或重疊(交叉淡入淡出),也不應使用猜測的方式處理。

除了處理播放延遲外,這裡的「精確性」在於:對無損數據進行「照原樣」處理,並從有損數據中移除正確長度的填充靜音。對於那些編碼器規範定義鬆散、缺乏元數據,因而編碼器無法記錄額外靜音時長的檔案格式,這是不可能實現的。

近似方法

某些音樂播放器使用啟發式演算法來偵測音軌間的靜音,並在播放時進行必要的音訊裁切。由於有損壓縮會損失時間解析度,此方法並不精確。具體來說,靜音部分的音量並非絕對為零。如果靜音閾值設得太低,某些靜音段會無法被偵測到;設得太高,則音軌開頭或結尾整段安靜的音樂可能會被移除。

數位訊號處理(DSP)演算法也可用於音軌間的交叉淡入淡出。這消除了某些聽眾認為惱人的間隙,但同時也大幅改變了音訊訊號,可能對聆聽體驗產生不良影響。有些聽眾對這些效果的反感程度,甚至超過了他們試圖消除的間隙。例如,交叉淡入淡出不適用於本身已是無縫的檔案,在這種情況下,過渡可能會顯得不自然地短促,並干擾節奏。此外,根據未裁切靜音的長度和特定的交叉淡化器,可能會導致音量大幅下降。

這些方法違背了在音軌間刻意保留間隔的初衷。並非所有專輯都是混音專輯;也許更典型的情況是,在不相關的音軌之間存在著一種美學上的停頓。此外,藝術家可能會為了戲劇效果而刻意留下靜音,無論那裡是否有音軌邊界,這些靜音都理應被保留。

與精確無縫播放相比,這些方法是處理音訊檔案中錯誤靜音的另一種途徑,但其他所需的功能是相同的。然而,這種方法需要更多的運算。在可攜式數位音訊播放器上,這意味著電池播放時間的縮短。

使用者變通辦法

一個常見的變通辦法是將連續的音軌編碼為單一檔案,並依靠 CUE 檔案(或類似檔案)來進行導航。雖然此方法能在連續音軌內實現無縫播放,但由於產生的壓縮檔案可能體積龐大,操作起來可能很麻煩。此外,除非播放軟體或硬體能夠辨識 CUE 檔案,否則在音軌之間進行導航可能會很困難。

或許可以將無縫播放的元數據添加到現有檔案中。如果編碼器已知,便可能猜測出編碼器的延遲。此外,如果壓縮是在 CD 音訊上進行的,原始播放長度將是 588 個樣本(一個 CD 磁區的大小)的整數倍。因此,總播放時間也可以被猜測出來。將此類資訊添加到音訊檔案中,將使支援此功能的播放器能夠實現精確的無縫播放。

先決條件

格式支援

由於無損數據壓縮排除了引入填充靜音的可能性,所有無損音訊檔案格式本質上都是無縫的。

以下有損音訊檔案格式具備無縫編碼的規定:

  • Musepack
  • Ogg Vorbis
  • Speex
  • Opus

其他一些格式雖未正式支援無縫編碼,但某些編碼器或解碼器的實作版本可以處理無縫播放的元數據。AAC 官方支援無縫播放,但其標準相當複雜,因此許多函式庫從未正確實作,不過 Google Chrome 支援該功能。

  • 使用 LAME 編碼的 MP3,在支援 LAME Mp3 info 標籤或蘋果 iTunSMPB 標籤的播放器上可以實現無縫播放。
  • 由 Nero AG 的 Nero Digital 編碼的 MP4 格式 AAC,可在 foobar2000、最新版 XMMS2 以及 iTunes 7.1.1.5 至 11.4 版本中實現無縫播放。AAC 在 Google Chrome 中通常是無縫播放的。
  • 由 iTunes(當前及先前版本)編碼的 MP4 格式 AAC,在 iTunes 7.0 至 11.4、第二代 iPod nano、所有已更新至最新韌體的具備視訊功能的 iPod,以及近期版本的 foobar2000 中可實現無縫播放,但大多數應用程式不支援蘋果的 iTunSMPB 標籤。
  • 由 iTunes 編碼的 MP3,在 iTunes 7.0 至 11.4、第二代 iPod nano,以及所有已更新至最新韌體的具備視訊功能的 iPod 上播放時是無縫的。
  • 使用 Windows Media Player 9 編碼的 Windows Media Audio,可在 Windows Media Player 9 及更高版本中實現無縫播放。
  • 使用 Sound Player Lilith 編碼的 Windows Media Audio,可在最新版 Sound Player Lilith 及更高版本中實現無縫播放。
  • MiniDisc 上的 ATRAC 格式透過使用目錄表(TOC)實現無縫播放。

播放器支援

最佳解決方案:

硬體

  • 蘋果(Apple):
    • iPod classic 自第五代起支援 MP3 和 AAC 的無縫播放
    • iPod nano 第二代及後續版本
    • iPod Touch
  • Archos Gmini XS202S
  • Cowon S9 自 2.31b 韌體版本起支援無縫播放,無須軟體輔助。大多數較新的 Cowon 播放器(J3、X7、iAudio 9)出廠即支援無縫播放。
  • Linn Products DS 網路播放器
  • 羅技/Slim Devices 的 Squeezebox 系列所有播放器均支援所有無縫格式(lame MP3、FLAC、Vorbis 等)的無縫播放。亦可選用交叉淡入淡出功能。
  • Microsoft Zune 在 Zune 2.5 或更高版本韌體中支援無縫播放,但仍存在一些錯誤,偶爾會聽到輕微的爆音或跳音。
  • Panasonic RX-D55AEG-K,一款帶 CD 播放機的可攜式收錄音機
  • Rio Karma,無須軟體輔助的無縫硬體播放器(支援 FLAC、Ogg、MP3、WMA),首款具備此功能的可攜式數位音訊播放器(DAP)
  • Roberts Sound 48,一款帶 CD 播放機的時鐘收音機
  • Rockbox,適用於各種數位音訊播放器。
  • 索尼(Sony):
    • MiniDisc Walkman 支援無縫播放(包含非索尼的 Walkman MiniDisc 播放器)
    • CD Walkman(如 D-NE330)支援 ATRAC 編碼 CD 的無縫播放
    • VAIO Pocket(透過韌體更新)支援 ATRAC 檔案的無縫播放
    • Network Walkman NW-HDx 及 NW-A(1x00、3000、60x、80x)系列數位音訊播放器支援 ATRAC 檔案的無縫播放——此後,隨著 ATRAC 支援的停止,Walkman 數位音訊播放器失去了此功能,但在日本市場,播放器仍支援 ATRAC,該功能得以延續。五年後,無縫播放功能透過 FLAC 格式在 Walkman NWZ-F80x 上重返日本以外的市場。
  • Trekstor Vibes,無須軟體輔助的無縫硬體播放器
  • Victor Alneo V 系列與 C 系列

軟體

  • Amarok,適用於 Linux
  • AIMP,適用於 Windows
  • Audacious,適用於 Linux
  • Banshee,適用於 Linux
  • Clementine,跨平台。
  • Cog,適用於 OS X
  • DeaDBeeF,適用於 Linux
  • foobar2000,適用於 Windows 和 Mac
  • Groove Music,適用於 Windows 10。
  • iTunes 7.0 至 11.4 在 Macintosh 和 Windows 上預設支援無縫播放,無須在編碼時合併音軌(這是先前版本的限制)。部分處於特殊情況的使用者抱怨,一次性的分析過程非常耗費系統資源,可能導致電腦停滯或當機。
  • JRiver Media Center,適用於 Windows
  • KODI,適用於 Windows、Linux、OS X、Android 及其他平台。
  • mplayer2,適用於 Linux、OS X 和 Windows,使用「-gapless-audio」選項時支援 flac 的無縫播放。
  • mpv(媒體播放器),適用於 BSD、Linux、macOS、Windows。
  • MusicBee,適用於 Windows
  • Music On Console,適用於 Linux 和其他類 Unix 平台。
  • Music Player Daemon,適用於 Linux 和其他類 Unix 平台。
  • Neutron Music Player,適用於 Android、Windows、Linux、OS X、iOS。
  • Plex,適用於所有支援的平台,可透過平台播放器或 PlexAmp 實現
  • Qlab,適用於 OS X
  • Quod Libet,跨平台。
  • Rhythmbox,適用於 Linux
  • Winamp,自 5.3 版起支援 MP3、M4A/AAC、Ogg Vorbis 和 FLAC 檔案的無縫播放。
  • Windows Media Player,自 Windows Media 9 起已支援 WMA 的無縫擷取與播放。適用於所有當前的 Windows 電腦。
  • XMPlay,支援所有格式檔案的無縫播放

替代或部分解決方案:

  • XMMS2 – 原生支援 MP3/Ogg Vorbis 和 FLAC 的無縫播放

參見

  • Segue,古典音樂中的技巧
  • Loop (music)

參考資料

註釋

外部連結

  • MP3 播放器:消費者請注意,關於數位音訊播放器中無縫播放功能的描述。

Category:數位音訊