[00:00:00]

開発者の想い

ぴったり同期する歌詞を、
ずっと作りたかった。

90年代。ひとりの大学生が、あるWebページで小さな仕様に出会いました。そこから始まった、「ぴったり同期する歌詞」をめぐる物語です。

CHAPTER 01

「タイムタグ」との出会い

1990年代、私がまだ大学生だったころのことです。あるWebページで、ひとつの仕様に出会いました。

歌詞の先頭に、そこを歌い出す時間を書いておく。すると、曲に合わせて歌詞が表示される ──「タイムタグ」と呼ばれる仕組みです。

音楽と言葉が、画面の上でひとつにつながる。初めてそれを見たとき、胸が高鳴るほど感動しました。

CHAPTER 02

1 秒の壁

ところが、実際に使ってみてすぐに気づきました。私が見つけたタイムタグの仕様は「分:秒」まで。1 秒より細かい時間は書けなかったのです。

分:秒1 秒単位。歌い出しとズレてしまう
[00:12]もしもし かめよ かめさんよ

歌は、1 秒よりずっと細かく動いています。1 秒単位では、歌い出しと表示のあいだにどうしても大きなズレが生まれてしまいました。

CHAPTER 03

100 分の 1 秒、そして一文字ずつ

だったら、秒の下にもう 2 桁を足せばいい。「分:秒:ミリ秒(2 桁)」、つまり 100 分の 1 秒まで刻めば、ズレはぐっと小さくなるはずだ ── そう思いついた時、大学の授業の合間を縫ってこれを自分で作ろうと決めました。

分:秒:ミリ秒(2 桁)100 分の 1 秒まで刻める
[00:12:30]もしもし かめよ かめさんよ

考えは、さらに先へ進みます。この精度のタイムタグを、行の頭だけでなく一文字ごとに置いたらどうだろう。歌っているその文字に寄り添って、完全に同期した歌詞が作れるんじゃないか。

一文字ずつ歌っている文字に、ぴったり
[00:12:30]も[00:12:52]し[00:12:74]も[00:12:96]し [00:13:40]か[00:13:62]め[00:13:84]よ [00:14:30]か[00:14:52]め[00:14:74]さ[00:14:96]ん[00:15:18]よ

※ 時刻と書き方はイメージです。

NOWあのとき思い描いた「一文字ずつ」のタイミングは、いまの Think Songs の歌詞ファイル形式(ALRC)にも生きています。 歌詞ファイル形式を見る →

CHAPTER 04

KRAAMP(カラアンプ)、誕生

当時の Windows では、Winamp というフリーの音楽プレイヤーが大流行していました。そのプラグインとして作れば、みんなが毎日使っているプレイヤーで、ぴったり同期する歌詞を楽しんでもらえる。

作るものは決まりました。開発にかけた時間は 3 ヶ月。完成したソフトを、Web ページで公開しました。

KRAAMP

カラアンプ

*.kra

名前は Winamp に似せて「KRAAMP(カラアンプ)」。拡張した歌詞ファイルには「*.kra」という拡張子を付けました。

KRAAMP には、ふたつの顔がありました。

▶ Player

タイムタグに合わせて、歌詞を同期して表示する。

✎ Editor

曲を聴きながらスペースキーを押して、歌詞にタイムタグを付けていく。

Space
NOW曲を聴きながらスペースキーでタイミングを刻んでいく ── この作り方は、いまの Think Songs の歌詞づくりにもそのまま受け継がれています。 歌詞の作り方を見る →

CHAPTER 05

*.kra の行方

公開からしばらくすると、似たようなソフトが現れました。この拡張した書き方で歌詞を作り、「*.txt」として公開するサイトも出てきました。自分の考えた形が、少しずつ広がっていく。それは、うれしい出来事でした。

ただ、ひとつだけ心残りがあります。「*.kra」という拡張子は、最後までどのソフトにも採用されませんでした。……ちょっと、残念です。

CHAPTER 06

月 5,000 円で、1 曲まで

自分でも歌詞を公開したい。そう思って JASRAC に許諾を申請し、許可をいただきました。ところが、その条件は ──

当時の許諾の条件

1 ヶ月 5,000 円で、1 曲まで

10 曲を同時に公開すると、月 50,000 円

大学生に、そんなお金は出せません。

そこで、苦肉の策をひねり出しました。「月の途中で曲を何回も入れ替えれば、何曲も公開できるんじゃないか!」

さっそく JASRAC に「月に何曲まで変更できますか?」と問い合わせてみました。返ってきた答えは ──

「常識の範囲でお願いします」

常識の範囲って、いったいどこまでだろう……。悩みに悩んだ末に思いついたのが、テレビの番組表のように、1 時間ごとに曲を切り替えるという方法でした。

歌詞の番組表(構想)
20:00曲 A
21:00曲 B
22:00曲 C
23:00…

……もっとも、この「歌詞の番組表」は、運営の負担も考えると非常に負荷が高く、結局実装しませんでした。

※ いまの Think Songs は、JASRAC と NexTone の許諾を受けて運営しています。

CHAPTER 07

届いた、一通のメッセージ

KRAAMP のページには、作者に意見や感想を送れるフォームを置いていました。ぽつりぽつりと届くメッセージを読むのが、何よりの楽しみでした。応援の言葉がとても多く、それが本当にうれしかったのを覚えています。

その中に、ふと目に止まった一通がありました。

こんにちは、初めまして。私は聴覚障害を持つものです。音楽は聞こえるのですが、人の発音の音をなんとなくしか聞き取れず、なんと発音しているのかはうまく聞き取れません。しかし、このソフトを使って歌詞を表示することで、こういうことを歌っているんだと知ることができ、とても感動しました。これからも応援しています。
※ 当時の記憶をたどって書き起こしたものです。

これを読んだとき、確信しました。

音楽に合わせて同期する歌詞は、エンターテイメントのためだけのものじゃない。人の役に立つことができるんだ、と。

CHAPTER 08

時代は、大きく変わった

それから時が経ち、同期する歌詞は少しずつ身近なものになっていきました。行の頭にタイムタグを置く「LRC 形式」は多くの音楽プレイヤーで使われるようになり、ソニーのウォークマンも LRC 形式の歌詞表示に対応しました。2010 年には、曲に合わせて歌詞が流れる「歌詞ピタ」という機能もウォークマンに搭載されています(2018 年に終了)。

同じ 2010 年には、シンクパワーの「プチリリ」が Windows 版アプリとして登場しました。プチリリでは、ユーザー自身が曲に合わせて同期歌詞を作り、投稿することができます。その歌詞データは、Spotify や Amazon Music など、多くの音楽配信サービスでも使われるようになりました。

同期する歌詞は、もう特別なものではありません。けれど私の中には、ずっとひとつの想いが残っていました。「ぴったり同期する歌詞を、届けたい」。そう思いながらも、長いあいだ形にできずにいました。

CHAPTER 09

そして、もう一度

状況を変えたのは、近年の生成 AI でした。作りたいものを伝えると、その実現をぐっと後押ししてくれる。長年あたためてきた構想に、ようやく手が届くようになりました。

これは、実現するチャンスだ。そう思って、あらためて立ち上げたのが、この Think Songs です。

CHAPTER 10

開発者のこだわりポイント

Think Songs には、どうしても譲れないこだわりがいくつかあります。ここからは、実際の歌詞エンジンで表示しながら紹介します。

※ 下の歌詞の表示は画像ではなく、Think Songs の歌詞エンジンがこのページの中で動いているものです。歌詞はデモ用に作ったものです。

POINT 1

どこよりも、「ぴったり同期」

このサービスでいちばん大切にしているのは、「ぴったり同期」することです。ここだけは、ほかのどのサービスよりもこだわりたいと思っています。

とはいえ、いまは音の出口がたくさんあります。有線のイヤホン、Bluetooth、カーオーディオ……。つなぐ機器によって音が耳に届くまでの時間が違うので、すべての環境で「ぴったり」を実現するのは、簡単なことではありません。

有線イヤホン
Bluetooth
カーオーディオ

音が届くまでの時間は、つなぐ先ごとに違う

そこで iPhone 版と Android 版では、有線や Bluetooth といった接続先ごとにプロファイルを持ち、それぞれでズレを調整できるようにしています。

NOWズレの見分け方と直し方は、こちらにまとめています。 音ズレの直し方を見る →

POINT 2

ロングトーンも、スタッカートも

歌は、いつも同じ速さで進むわけではありません。一つの音を長く伸ばすロングトーンもあれば、音を短く切って弾むように歌うスタッカートもあります。

Think Songs の歌詞は、一文字ごとに歌い始めと歌い終わりのタイミングを持てます。作者がそこまでタイミングを付ければ、こうした歌い方もそのまま表現できます。

ロングトーン ──「け」を 2 秒かけて伸ばす

空へ届け

スタッカート ── 音と音のあいだで塗りを止める

ぴょんぴょんぴょん
ALRC の書き方タグを 2 つ続けると、そのあいだは塗りを止める(「切る」)
<0.00>ぴょ<0.14><0.20>ん<0.32>

切らずに書くと、声が止まっているあいだも塗りが進み続けてしまい、そこで音とズレて見えます。

NOWタイミングの書き方は、歌詞ファイル形式のページで詳しく説明しています。 「切る」の書き方を見る →

POINT 3

ふりがなで、誰でも読める

漢字が読めない小さなお子さんや、日本語を学んでいる外国の方にも歌詞を楽しんでもらえるように、ふりがなを表示できます。

ふりがなも一文字ずつ塗られていくので、読めない漢字の上でも、いまどこを歌っているのかが目で追えます。

君と見上げた夜空

POINT 4

ローマ字と、英語の辞書

日本語を学ぶ人や、英語を学ぶ人に向けて、ローマ字の表示と和英辞書を搭載しています。

ローマ字は、タイミングの単位ではなく語のまとまりで区切ります。「悲しい光」なら kanashii hikari と、意味のまとまりのまま読めます。

悲しい光
光ひかりn

light; illumination; ray; beam; gleam; glow; happiness; hope; influence; power; vision

英語の意味を翻訳

辞書データ: EDICT2 / EDRDG (CC BY-SA 4.0)

用例: Tanaka Corpus / Tatoeba Project (CC BY 2.0 FR)

歌詞の「光」を押したときに出る、実際の辞書カード

歌詞の語を押すと、その語の英語の意味が出ます。使い方が分かる用例も、一緒に見られます。

NOW辞書やローマ字の詳しい使い方は、こちらにまとめています。 辞書とローマ字の使い方を見る →

POINT 5

ハモリも、ユニゾンも、見て分かる

複数の人で歌う曲では、誰がどこを歌っているのかを色で表します。

同じ旋律を一緒に歌うユニゾンは、パートの色を混ぜた 1 色で。別々の旋律を重ねるハモリは、文字を上下に塗り分けて表します。

ユニゾン ── ♥ と ♠ が同じ旋律を一緒に

一緒に歌おう

ハモリ ── 上が ♥、下が ♠

ずっとそばにいるよ

パートの色は、作者が曲ごとに指定することも、読む人が自分の見やすい色に変えることもできます。

みなさんへ

好きな曲を、
ぴったり同期させよう。

まだまだ歌詞の数は、とても少ないのが現状です。このサービスを育てていくには、みなさんの力が必要です。

好きなアーティストの曲が、ぴったり同期したら ── 楽しいですよね!? ぜひ、歌詞の投稿をお願いします。

ぜひ Think Songs で、「ぴったり同期」を楽しんでください。

Apple Music と連携すれば、すぐにぴったりの歌詞を楽しむことができます。

— Think Songs 開発者