シークバグ
| Top | Back | Next |

Winamp には歌詞表示の際にほとほと困ってしまうバグがいまだにあります。1つは次の項目で説明する「再生時間バグ」であり、もう1つはここで説明する「シークバグ」です。

シークバグとは、素のWinamp で、曲をシーク(早送り・巻き戻し)させると、再生時間がズレてしまうバグです。

「素の」と書いたのは、ここで説明している通りに mp3 patch for Winamp をインストールして設定してあれば、この「シークバグ」は起きないからです。

したがって、タイムタグを付ける場合も、表示する場合も、とにかく、Winamp で歌詞表示を楽しみたいのであれば、mp3 patch for Winamp は必ず導入してください。


ということで、mp3 patch を導入していれば、この問題は全く意識しなくていいのですが、一応、詳細説明をしておきます。なお、これ以降を完全に理解するためには、次の「再生時間バグ」をまず理解しておく必要があります。実はこの2つのバグは切っても切れない関係にあるのです。(っーか元をただせば同じ原因なのです。)

もし、シークバグ対処を何もせずにタイムタグを作成すると、どうなるでしょうか。

もちろん、最初から最後まで一度も早送り・巻き戻しをせずに、タイムタグをつけたのなら、大丈夫です。しかし、行頭タイムタグならまだしも、カラオケタグの場合、一度もシークしないので作るのはほぼ不可能でしょう。

もし途中でシークをし、そのまま続きのタイムタグをつけていき、一応完成させて、保存して、あらためて最初から合わせて聞いてみると、あら不思議、シークをしたあとのタイムタグがズレてしまうじゃありませんか^^;

特にシークを曲の後半にしたとき程ズレがひどくなります。また、44.1kHzのmp3やwavだと、シークバグが発生しますが、32kHzのmp3やwavでは発生しません。

と聞けば、勘のいい人なら、もうお分かりかもしれませんが、シークバグの原因は、再生時間バグに関係しているのです。

結論を言ってしまえば、Winamp は再生中は、Winamp時間で進んでゆくくせに、シーク時には標準時間が設定されるのです。つまり、シーク位置のフレーム番号を元に標準時間計算によってその位置の時間を設定し、シーク後はその標準時間にWinamp時間が足されていくのです。

したがって、シーク後は標準時間でもWinamp時間でもない、どうしようもない再生時間になってしまうのです。

もしタグ付けした後の表示でも、ぴったり合わせたいのなら、タグ付けした時とおなじタイミングでおなじ量のシークをしなくてはいけません。(そんな馬鹿な^^;)

というわけで、この「シークバグ」に対して、mp3 patch などで対処をせずにタグ付けした歌詞を、あとから計算によって補正することは、完全に不可能なのです。

したがって、@タグ補正や、ツールを使った調整でも、このシークバグ由来の「曲の途中から突然大きくズレる」パターンは補正・調整できません。

ということで、最初に書いたとおり、Winamp を使ってタグ付けをするならば、シークバグ対策は必ず行ってください。

もちろん、Winamp で聞くだけの場合でも、シークバグは発生します。せっかく最後まで合っている歌詞をもっていても、シークしたとたんズレてしまいますので、この場合でもシークバグ対策は必須といえるでしょう。


| Top | Back | Next |