カラオケの「ワイプ」とは? 歌詞が1文字ずつ色づく逐字ハイライトの仕組み
逐字ハイライト(ワイプ)とは、曲の再生位置に合わせて、歌詞が1文字ずつ色づく表示のことです。仕組みは、歌詞の各文字に「いつ歌い始め、いつ終わるか」という時刻が付いていて、再生位置と見比べて色の進み具合を決める、というものです。
歌詞の「タイミング情報」とは?
歌詞データには、時刻の細かさに違いがあります。
- 行単位。 1行がいつ始まるかだけがわかります。行ごとに切り替わる表示になります。
- 単語・文字単位。 1文字ごとに開始と終了の時刻があります。逐字ハイライトには、こちらが必要です。
文字単位のタイミングがない歌詞は、行単位で表示するしかありません。
再生位置は、どうやって知るの?
ヒトカラは、「ミュージック」アプリで再生中の曲の位置を読み取ります。ただ、読み取りは一定の間隔で行われるので、そのままでは色の進みがカクカクします。そこで、読み取りの間は経過した時間から位置を推定し、滑らかに進めます。

色が「じわっと」進むのはなぜ?
1文字の中でも、開始から終了までの進み具合(0〜100%)を計算し、その割合だけを塗り分けます。文字を半分だけ塗ったように見えるのは、そのためです。

歌詞がずれる原因は?
- Bluetooth イヤホンの遅れ。 音が遅れて届くので、歌詞が先に進んで見えます。全体のオフセットで補正できます。
- 歌詞データの個体差。 配信される曲のバージョンと歌詞の元データが少し違うと、ずれが出ます。曲ごとに0.1秒単位で調整できます。

KTV 風の「ページ送り」とは?
KTV 風の表示では、数行ずつをひとまとまり(ページ)として表示します。歌い終わる行に合わせて、次のページの行が順に現れます。これにより、次に歌う歌詞を先に目で追えます。
