ギャップレス再生とは、連続するオーディオ トラックを途切れることなく再生することです。再生時に、元のオーディオ ソースの相対的な時間的距離がトラック境界を越えて保持されます。これを有効にするには、トラック境界における他のアーティファクト (タイミング関連以外のもの) も切断されてはなりません。ギャップレス再生は、コンパクト ディスク、レコード、テープでは一般的ですが、圧縮されたデジタル オーディオを使用する他の形式では必ずしも利用できるとは限りません。ギャップレス再生がないと、クラシック音楽(特にオペラ)、プログレッシブ ロック、コンセプト アルバム、エレクトロニックミュージック、トラック間に観客の雑音があるライブ録音など、トラックが互いに連続するように意図されている音楽を聴く人にとっては不快感の原因となります。
様々なソフトウェア、ファームウェア、ハードウェアコンポーネントが重なり合い、トラックの再生開始時に大きな遅延が生じることがあります。これらの遅延を考慮しないと、プレーヤーが次のファイルを取得し(ハードディスクアクセス時間を参照)、メタデータを更新し、最初のブロック全体をデコードして、ハードウェアバッファにデータを送るまで、リスナーは静かに待たされることになります。この遅延は最大で0.5秒以上になることもあり、特定のクラシックやダンスなどの「連続した」音楽では非常に顕著です。極端なケースでは、トラック間でハードウェアがリセットされ、非常に短い「クリック音」が発生することもあります。
遅延の連鎖全体を考慮すると、理想的には、現在再生中のトラックが終了する前に次のトラックの開始位置をデコードしておく必要があります。デコードされた2つのオーディオデータは、あたかもトラックがソフトウェアで連結されているかのように、トランジションの間中、ハードウェアに連続的に送られる必要があります。
パソコン上の古いオーディオプレーヤーの多くは、ギャップレスオーディオの再生に必要なバッファリングを実装していません。中には、出力のバッファリングにサードパーティ製のギャップレスオーディオプラグインを使用しているものもあります。最新のプレーヤーのほとんど、および古いプレーヤーの新しいバージョンでは、ギャップレス再生を直接サポートしています。
オーバーラップする時間/周波数変換に基づく非可逆オーディオ圧縮方式では、各トラックの先頭と末尾に少量の無音部分が追加されます。これらの無音部分により、圧縮されたオーディオデータの再生時間が長くなります。[ 1 ]再生時に切り取られない場合、トラック境界を越えて連続して再生される2つの無音部分は、元のオーディオコンテンツでは一時停止として認識されます。ロスレス形式では、この問題は発生しにくいです。
一部のオーディオ形式(例:Ogg Vorbis)では、開始と終了が明確に定義されているため、デコード処理中にパディングは暗黙的に削除されます。他の形式では、プレーヤーで同様の処理を実行するために追加のメタデータが必要になる場合があります。一般的なMP3形式では、遅延やパディングの量を記録して後で削除する方法が定義されていません。[注 1 ]また、エンコーダの遅延はエンコーダごとに異なる場合があり、自動削除が困難です。[ 2 ] 2つのトラックを解凍して1つのトラックに結合した場合でも、通常はトラック間に一時停止が残ります。
オーディオCDは、ディスク・アット・ワンス(DAO)モードとトラック・アット・ワンス(TAO)モードのいずれかで録音できます。後者はより柔軟性が高いですが、トラック間に約2秒間の無音部分が挿入されるという欠点があります。ディスク・アット・ワンス(DAO)モードでは、CD全体を1回の連続セッションで録音でき、トラック間の無音部分は一切ありません。このモードでは、曲間の中断なく再生できます。DAOは、ライブレコーディング、DJミックス、またはトラック同士が溶け合う コンセプトアルバムなどでよく使用されます。
ヒューリスティックな手法とは対照的に、精密ギャップレス再生とは、再生タイミングがソースと完全に一致することが保証されていることを意味します。この定義によれば、精密ギャップレスプレーヤーでは、連続するトラック間にギャップやオーバーラップ(クロスフェード)が生じることはなく、推測による調整も許可されません。
再生レイテンシを考慮することに加え、ここでの精度はロスレスデータをそのまま扱い、ロスレスデータから適切な量のパディングを削除することにあります。これは、エンコーダ仕様が曖昧でメタデータが存在しないファイル形式では不可能であり、エンコーダが不要な無音の長さを記録する方法はありません。
一部の音楽プレーヤーでは、トラック間の無音部分を検出し、再生時に必要に応じてオーディオをトリミングするためにヒューリスティックスが使用されています。非可逆圧縮では時間分解能が失われるため、この方法は不正確です。特に、無音部分は完全にゼロではありません。無音部分のしきい値が低すぎると、一部の無音部分が検出されません。一方、しきい値が高すぎると、トラックの最初または最後の静かな音楽部分が丸ごと削除されてしまう可能性があります。
デジタル信号処理(DSP)アルゴリズムは、トラック間のクロスフェードにも使用できます。これにより、一部のリスナーが気になるギャップが除去されますが、オーディオ信号が大きく変化するため、リスニング体験に望ましくない影響を与える可能性があります。リスナーの中には、除去しようとするギャップよりも、こうした効果を嫌う人もいます。例えば、クロスフェードは、既にギャップレスになっているファイルには適していません。その場合、トランジションが不自然に短く感じられ、リズムが乱れる可能性があります。[ 3 ]また、トリミングされていない無音部分の長さとクロスフェーダーによっては、音量が大幅に低下することもあります。
これらの方法は、トラック間の意図的な間隔の目的を損ないます。すべてのアルバムがミックスアルバムというわけではありません。おそらくより典型的なのは、無関係なトラックの間に美的な休止を設けることです。また、アーティストはドラマチックな効果を出すために意図的に無音部分を残すこともありますが、トラックの境界の有無にかかわらず、無音部分は保持されるべきです。
これらの手法は、正確なギャップレス再生と比較すると、オーディオファイル内の誤った無音部分に対するアプローチが異なりますが、その他の必要な機能は同じです。ただし、このアプローチではより多くの計算が必要になります。ポータブルデジタルオーディオプレーヤーでは、バッテリー駆動時間が短くなります。
一般的な回避策としては、連続するトラックを1つのファイルにエンコードし、キューシート(または類似のファイル)を使用してトラックをナビゲートする方法があります。この方法では連続するトラック間でギャップレス再生が可能になりますが、圧縮ファイルのサイズが大きくなる可能性があるため、扱いにくくなる場合があります。さらに、再生ソフトウェアまたはハードウェアがキューシートを認識できない場合、トラック間のナビゲーションが困難になる可能性があります。
既存のファイルにギャップレスメタデータを追加できる可能性があります。エンコーダが分かれば、エンコーダの遅延を推測できます。また、CDオーディオに圧縮が行われた場合、元の再生時間はCDの1セクターのサイズである588サンプルの整数倍になります。したがって、再生時間の合計も推測できます。このような情報をオーディオファイルに追加することで、ギャップレス再生に対応したプレーヤーで正確なギャップレス再生が可能になります。
ロスレス データ圧縮ではパディングが導入される可能性が排除される ため、すべてのロスレス オーディオ ファイル形式は本質的にギャップレスです。
以下の非可逆オーディオ ファイル形式には、ギャップレス エンコーディングの規定があります。
他のフォーマットの中には、ギャップレスエンコードを公式にサポートしていないものもありますが、一部のエンコーダーやデコーダーの実装ではギャップレスメタデータを処理できる場合があります。AACはギャップレス再生を公式にサポートしていますが、規格が複雑なため、多くのライブラリで適切に実装されていません。ただし、Google Chromeはサポートしています。
最適な解決策:
代替または部分的な解決策: