DAWNSHIFTr開発記

朝から晩まで、Cursorをさわっていた。病に取り憑かれたようだ、と自分でも思った。できたものは、DAWNSHIFTrというネットラジオである。Chromeの拡張機能。枕元で、明け方の気怠い空気のなか、ローファイな音を流すためのものだ。名前は、その使い方そのものだった。徹夜のあとのDawn。シフトするのは、局であり、自分の時間である。最初は小さな音楽プレイヤーの気配を借りて、拡張機能の骨格を置いた。名前も途中で何度か変わった。窓は小さく、ツールバーのアイコンを押せば開く。閉じても音は裏で鳴り続ける。そこまで決まったところで、あとは直しては壊し、壊しては直す一日になった。私は、その一日を、ほとんど席を立たずに過ごした。Cursorに投げる言葉は雑だった。直して、とだけ言うこともあった。雑な言葉でも、画面は動いた。動いた先で、また崩れた。崩れたところを、また直した。それが、その日の仕事の全部だった。プレビュー用の窓と、拡張機能の窓は、別物である。同じ音に見えて、通る道が違う。道が違うと、切れる場所も違う。切れた場所を、そのつどCursorに渡した。渡す、直る、また切れる。その繰り返しが、朝から晩まで続いた。途中で、自分が何を作っているのか、言葉では説明しにくくなった。説明しにくいものは、だいたい、枕元に置きたくなる。枕元に置きたいものは、だいたい、人に見せたくなる。見せたくなる前に、まず自分の耳で鳴らした。鳴った。それで、続けた。続けているあいだは、時間の感覚が薄かった。薄い時間のなかで、窓の幅を直したり、スリープのチップが切れて見えないのを直したり、曲名の段の高さを直したりした。直すたびに、少しだけ枕元に近づく。近づいた気がして、また直す。その気が、朝から晩まで私を席に縛っていた。
スリープの終わりに、まず銅鑼を鳴らしてみた。枕元にしては、うるさすぎた。女の声でOKと言うほうに変えた。ポモドーロの二十五分だけは、フェードせずに切って、Your Time is up! と言わせる。いちばん長いスリープは三時間。二時間、一時間、五十五分、三十分と並んで、その隣にPTがある。十分、五分、三分、一分もある。普通のスリープは、終わりの十五秒で音が痩せる。ポモドーロだけは、痩せない。切れて、声がする。カウントは、SLEEP IN から SLEEPING IN に変わる。ポモドーロのときは、POMODORO ENDS AT と出る。イコライザの棒が跳ねない日があった。AudioContextが鍵だった。鍵を開けても、休止中の低い帯域がうるさい。それも止めた。棒は、鳴っているときだけ跳ねればいい。リストのカーソルと、実際に鳴る局がずれる。Enterを押すと、長いリストの別の行が再生される。ネイティブのスクロールが、キーの位置を置いていく。検索欄がアルファベットのAを飲み込む。スキップボタンを足して、すぐ外す。行のボタンが、再生を奪う。奪われないように直す。YouTubeを、いま開いているタブから鳴らそうとした。隠れた埋め込みでは足りない、と思った。CORSのルールが全サイトに効いてしまい、今度はYouTubeが死ぬ。拡張機能からの通信だけに直す。直す。また直す。キーバインドは増えていく。Spaceで再生と停止。矢印でカーソル。Enterで、いま指している行を鳴らす。Uで局のサイトを開く。FでFav。Nでメモ。Xで隠す。Pでポモドーロ。Sで局一覧。Hで履歴。Cで国。EscでFavに戻る。はてなで、鍵の一覧が出る。気に入った局には、一行のメモが書ける。メモは一覧のどこからでも探せる。新しいFavは、上に乗る。国別の一覧もある。再生中に流れてくる曲名があれば、それを出す。曲名の高さが、画面を押し下げないように、場所をあらかじめ取っておく。鳴っている局の名前は、オレンジにする。STATIONSを開くと、ラジオブラウザの人気の五十局が並ぶ。見た目は大文字に揃えた。URLを貼る欄も、ファイルを開く欄も、テーマを選ぶ欄も、途中で捨てた。枕元に要るものだけ残す。Chromeウェブストア用のzipまで、その日のうちにできた。メディアキーでも開く。別窓にも、別タブにも出せる。ローカルのプレビューと、拡張機能は、別の道である。同じ画面に見えて、音の通り道が違う。違うせいで、切れる場所も違う。切れた場所を、テストに書いて、また直した。ストアに出すなら、名前も要約も、短い英文で用意した。Bedside internet radio. その言葉が、自分でも気に入っていた。私は、満足した。公開するかも、とまで思った。満足は、危ない。満足すると、人は自分の作ったものを、世界に出してよいものだと思い込む。私は、その思い込みのほうへ、かなり深く入っていた。
土曜日に、よくよく考えた。拾ってきているSTATIONのリストが、日本の送信可能化権の点で、まずいものばかりだった。地上波の中継も、HLSも、このプレイヤーに置くべきではなかった。公開は断念である。残したのは、枕元の私用である。コミュニティFMの、FMいかるとラジオ川越。自分でFavしたIcecastの局。HTTPの音だけ。YouTubeは外した。ブランドの文字も、窓の上から消した。再インストールしてもFavが戻るようにした。ツールバーの小さな窓のまま、鳴らす。かつて私は、いまはなきListen Japanの中の人だった。アメリカ発の音楽ディレクトリの、日本側にいた。Listen Radioの日本版を作り、Windows用のストリーミングラジオとして出した。JASRACやレーベルに呼び出されて叱られた。あれから四半世紀。また同じことをするところだった。賢い人間なら、もっと早く気づく。私は、できたものの手触りが良かったせいで、遅れた。遅れたことを、いまさら賢く語っても仕方がない。局のリストは、世界中から拾える。拾えることと、日本で人に渡してよいことは、別である。別だと知っていたはずだった。知っていたはずのものが、満足のあとに、遅れて来る。遅れて来るものほど、重い。重いものを、法律の言葉で言うと、送信可能化権である。権利の名前を口にすると、作ったものの温度が下がる。下がった温度のまま、私はリストを見た。見て、公開をやめた。やめる決断は、一日では終わらない。やめたあとに、何を残すかが残る。残したものが、私用である。私用は、小さい。小さいものを、小さいまま置くのが、いちばん難しい。小さいまま置く、と決めた土曜日の夕方は、それでもまだ熱が残っていた。熱が残っていると、人は公開のほうへ戻ろうとする。戻ろうとして、リストをもう一度見る。見ると、また同じ結論になる。結論は変わらない。変わるのは、気持ちのほうだけである。気持ちが冷めるまで、私は同じ画面を何度も開いた。開いて、閉じて、また開いた。開くたびに、できたものの完成度が、邪魔をした。完成度が高いほど、出すのが惜しい。惜しいものが、出せない。出せない惜しいものは、いちばんたちの悪い荷物である。
かなりいいものができた、という自信があった。あったから、このことに気づいた落胆は深かった。一晩、何もやる気が起きなかった。画面を開くのも億劫だった。作ったものが、急に遠ざかった。罪ではない。ただ、人に渡せないだけだ。ただ、という言葉が重い。個人でたのしむのでいいや、と納得するまで、時間がかかった。納得は勝利ではない。負けを飲み込む作業である。私はその作業が遅い。遅い人間が、夜明けのラジオを作ったのが、おかしい。おかしくても、Favした局は残っている。残っているもので、聴く。それがいいや、と思えるまでに、土曜日の夜は長かった。公開しない。ストアに出さない。四半世紀前に叱られた場所へ、もう一度は行かない。そう決めるのに、夜が要った。夜が要る人間は、たぶん、また同じ穴のふちに立つ。立ったあとで、降りる。降りるのが、今回の仕事だった。作ることより、降りることに時間がかかった。それが、正直なところである。降りる夜は、音を鳴らさなかった。鳴らすためのものを、一日中作っていた人間が、夜は何も聴かない。聴かないほうが、気持ちが落ち着いた。落ち着いた先で、私用でいいや、と思えた。いいや、は、諦めの言葉である。諦めの言葉が、枕元のラジオには似合っている。似合っていると思えるまでに、また少し時間がかかった。Cursorのログをあとから見ると、その日の私は、局の再生より、窓の幅や、棒の跳ね方や、文字の大文字ばかりを直している。直しているあいだは、法律のことは考えていなかった。考えていなかったことが、落胆の本体である。本体に気づくのが遅れた。遅れた人間の夜は、長い。長い夜のあとに残るのは、Favした局と、自分で書いた一行のメモだけだった。
日曜日。LinuxのメインのブラウザはFirefoxである。個人でたのしむなら、いつも開いている窓で聴きたい。Chromeでできたものを、Addonにして、こちらでも使えるようにした。うまく動かない。残念すぎる。公開を諦めて、私用に逃げた。逃げた先の窓が、動かない。朝から晩まで直していたものが、メインのブラウザで沈黙する。直しては壊し、壊しては直した一日の相手は、Chromeのほうだった。Firefoxは、その一日の外にある。外にあるものに、同じものを載せようとして、載らない。載らない理由を、いまはまだ、きれいに言えない。言えないまま、動かない。弱い人間の朝は、こうして二度負ける。明け方のラジオは、まだ機械の中にある。聴ける窓は、メインではない。メインではない窓で私用をしろ、という話だ。私はその話にも、少し敗れた。それでも、Chromeのほうでは鳴る。スリープは切れる。ポモドーロは終わる。Favした局は、そこにいる。閉じても、裏で鳴り続ける。枕元の、私的なラジオである。それでいい、と、いまは言っておく。言うしかない。言うしかないものを、私はラジオにしてしまった。公開しないラジオは、ラジオとして正しいかどうか、わからない。正しいかどうかより、明け方に音があるかどうかだ。音は、まだある。メインの窓ではない。それでも、ある。ある、で止めておけばよかったものを、私は人に渡したくなった。渡したくなった心が、四半世紀前と同じだった。同じ心で、同じ叱りを、もう一度は受けない。Chromeの小さな窓で、私用を鳴らす。Firefoxでは、まだ鳴らない。鳴らないほうを、残念だと言う。残念だと言いながら、Favした局のメモを見る。ヒットパレードだけどたまに超シブい曲がかかる、と自分で書いてある。書いてあるものを、自分だけで読む。ロンドン発の局には、クルアンビンとの繋がりを書いた。フランスの局には、アンダーグラウンドと書いた。書いたメモは、公開用の文章ではない。自分の耳のための、短い札である。札だけが、私用の証拠になる。Cursorで朝から晩まで直したログは、残っている。残っているログほど、その日の熱を覚えている。熱は、公開できなかった。熱のあとに残ったのは、枕元の小さな窓である。それが、いまのDAWNSHIFTrである。メインのブラウザでは、まだ動かない。動かないことを、残念だと言って、今日は終わる。終わりかたとしては、美しくない。美しくない終わりかたのほうが、私には似ている。似ていることを、いまは責めない。責めるより、Chromeの窓を開いて、Favした局を鳴らす。鳴らして、スリープを三十分にする。三十分後に、音が痩せて、止まる。止まって、夜が来る。夜が来ても、Firefoxではまだ聴けない。聴けないことを、明日の自分に渡す。渡すものとしては、小さい。小さいものを、また直すかどうかは、わからない。わからないまま、今日は私用で終わる。