音楽が好きなら音楽と配信技術を掛け合わせた研究をしなよ。
そう恩師に言われたことがあります。
当時の僕は出来っこないと思って、手を出しませんでした。当時の環境に融合させられる研究テーマを自分でひねり出して、周りの活動に見劣りしないクオリティの論文を書いたり、技術をモノにしていく自信はなかったからです。何年か経ち、AIエージェントが普及し、何となくその時のことを思い出す日が増えるようになりました。
今年はなんだかんだで、色々それらしきものを作るようになっていました。
ekp jazz spreads
現行ジャズを普及したい思いで作ったラジオがspotify対応し、それなりにweb上で聴けるようになりました。ですがニッチ過ぎて日本では誰も聴いてくれません。一方ラジオ友達はできて、遠隔から結婚祝いをしたり、海外掲示板のジャズオタクと繋がって、番組で紹介したアーティストの友人と話したり出来るようになりました。
STILL Player

Windows用の音楽プレーヤーを自作し、楽曲生成AIで作ったBGMをcloudfrare R2に入れて流せるようにしました。システム的にはローカルのファイル読み出しもできるので、あなたがお持ちの音源も全て再生できます(この機能はまだ追加していませんが、ストリーミングの機能はもう別のマーケットで販売しています)。
それはそれで思い入れのあるプロダクトになりましたが、今回ほんとうにご報告したいのはそれではなくて、3つ目のプロダクトです。 hatenablogという僕の大好きなブログで解説するには、これが一番似合うかなと思ったからです。
Yekipod
https://t-bfny.github.io/yekipod/
僕のハンドルネームから取って名付けました。
Google Driveと連携して使うことができます。シングルサインオンを使ってお手持ちのGoogleアカウントに「Driveを編集・読込権限」を初回ログイン時に許可し、Drive内に「music」「music/artwork」フォルダの2つを作れば動きます。
なぜつくったか
サブスクに僕の聴きたいジャズが置いてないからです。
ここ最近はそんなこともなく(というか数種類のサブスクを漁ると大体は見つかる時代になりました)わりかし快適ですが、CDやレコードでしか聴けない音源は基本的に買うしかありません。そういうことで過去数年でいくつか買ったCDがあるのですが、スマホで聴く習慣が出来てしまったのでどうにかして行動様式を合わせたいわけです(高いコンポが買えたらゆったりCDを部屋で聴くというのもやりたいですが)。
理由はもう1個あって、ドラムの練習用です。
こっちが本命で、僕がジャズを聴く理由はリスナーとして楽しみたいからというだけでなく、楽器の上達とか作曲のインスピレーションを得る為でもあります。今のところCDとYoutubeしか統合できていませんが、僕が聴いている音源のソースの大部分を統合して、音楽活動をやりたくなったらここにアクセスすればいいというような間口を作りたかったのです。
後は、windows media playerが連続再生に向いてないとか、ウォークマンを売ってしまった上に販売元のソフトウェアもメジャーアップデートがここ数年は途絶えているとか、VLCのUIが気に入らないとか、他の人に使ってもらえる方向性に持っていけたら面白そうとか、ローカルのディスク領域を圧迫したくないとか、スマホでもPCでも屋内外から聴きたいとか、色々あります。
機能
fav機能:★マークをアルバムにつけると上にあるFavorite Albumsリストに入ります。枚数が増えてきたら左右に自動スクロールすることもできます(PC版のみ)。
翻訳機能:かんたんですが日本語と英語を切り替えることが出来ます。
Youtube再生リスト管理:GoogleログインできるということはYoutubeとDriveを同時に処理できるということです。非公開再生リストはセキュリティの都合上取得できませんが、公開と限定公開のリストは引っ張ってこれます。
アップロード機能:手作業でGoogle Driveのmusicフォルダ内にアルバムを作るのが面倒なので、画像と楽曲をアプリ内でアップロードできるようにしました。ネットでDL・購入した音源をそのまま放り込めます。
要はデータを取得して表示しかやってないわけですが、僕はジャズのCDとジャズの再生リストしか持っていないので現状こういう運用ができています。
つまり、人によってはビジネス用のポッドキャストとか瞑想用の音源を集約することもできますし、同人ASMR作品の集約みたいなこともできます。何も考えずに使い始めるとジャンルはごっちゃになるので見た目が良くなるかはあなた次第ですが、要は制作者の僕はあなたが何を聴こうが知る由もないということです。
まあ、好きなようにしてください。
所感とか
こだわりとしては、スクロールバーや再生時のシークバー等のデザインを設計して世界観を統一したところとか、fav albumsを回転させてレコードっぽくしたところとかになります。詰まったポイントは、chrome拡張のlanguage reactor(youtubeの英語字幕にリアルタイムで母語の字幕を被せて英語学習できる)をONにしたまま使うと、iframeの処理がおかしくなって動画再生時に周辺ボタンが出せなくなる現象を見つけたとかですね。
でもまあAIに言えば治るのであんまり苦労してないです(おい)。
今後の予定
先に紹介したSTILL Playerに統合すると、「ローカル再生」「Cloudflare R2(外部ストリームサーバ)」「Google Drive(私用クラウド)」の3種類で経験値としてはストリーミング自体は出来たことになり、だいぶニーズに合わせた使い勝手のいい何かに近づけると思っています(UIはどちらも好きなので片方がお蔵入りするのは悩ましい)。
あと、これは元々CDなので、ジャケット画像は現状だと自力で紐づけています。ネットから自動で取得するような機能はどうすると実装できるのか想像が出来ていないのでここは手つかずです(版権が絡む可能性があると個人開発レベルでできないのでは、とも思っています)。
歌詞については、音源を自動文字起こしシステムを内蔵したサーバに投げれば96%くらいは表示できそうですが、Google Driveからどこかのサーバを中継するとなると、再生までのRTTが伸びそうですよね。ローカル音源であっても、再生までに一度インターネットに出ないといけないのは筋が悪いです。一番大事な部分の品質に関わるのでここはコスト面を検討していきます。
あとは認証部分ですね。現状Googleログインする時には「得体のしれないアプリなので危険」みたいな通告をこちら側で無視していかないと動きません。人に使ってもらうのにセキュリティのリサーチが甘いのでは良くないので、もう少し調べていきます。あるいは有識者の方がいればコメントをもらえると助かります。
Spotify連携は現状考えていません。
そんなことをするならSpotifyで聴いた方がいいです。
連絡先
Xは @yekiponk でDMしてください。投げ銭は下からどうぞ!









![イシューからはじめよ[改訂版]――知的生産の「シンプルな本質」 イシューからはじめよ[改訂版]――知的生産の「シンプルな本質」](https://m.media-amazon.com/images/I/41Kwlpco12L._SL500_.jpg)