迷い家の白猫のシロです。
最近、東方のサブスクをランダム選曲できるWebアプリを作りました。 今日は、どういうキッカケでどう作ったのか紹介しようと思います。
【サブスクの東方アレンジをランダムで選曲してくれるWebアプリ作りました✨】
— シロ (@shiroemons) 2021年1月15日
使い方は簡単!
①URLをクリック
Apple Music版https://t.co/UVVH63tR7W
YouTube Music版https://t.co/0wDKeTHWCU
②東方楽曲をランダムで選曲される
③タップorクリックで再生する
以上!
YouTube Musicに対応✨
キッカケ
キッカケは、フォロワーさんのつぶやきからでした。
東方サブスクの中からランダムで曲流してくれるとかあれば嬉しいんですが
— シマフリ (@shimafuri) 2021年1月12日
そのつぶやきを見つけて、Apple Musicの東方楽曲を1万7000曲以上は調査済みだったので、 これならすぐできそうって思い作り始めました。
ナイスアイディア👍
— シロ (@shiroemons) 2021年1月13日
頑張ればすぐできるかも https://t.co/zywlQbRoyG
実装開始
はじめは、やること自体はシンプルだから、 未経験の Gatsby.js + Vercel で行こうと思いました。
30分くらい触って諦めました...
次は慣れてるRubyにしました。Sinatra + Heroku に切り替えました。 仮実装してみて、すぐに動作することが確認できました。
実装内容
- app.rb
require 'sinatra' SONGS = [ { "title": "曲名", "collection_name": "アルバム名", "url": "Apple Musicの東方楽曲のトラックURL" } ].freeze get '/' do song = SONGS.sample logger.info song redirect song[:url] end
SONGS
は、Apple Musicの東方楽曲の配列です。song = SONGS.sample
のsampleは、配列の中から1つランダムで選ぶメソッドです。logger.info song
は、選んだ楽曲の確認用のログ出力です。実際必要なのは、url
だけだけど、確認のために曲名とアルバム名も配列に含めています。redirect song[:url]
が選んだ楽曲のApple MusicのURLにリダイレクトさせます。
RubyとSinatraを使えば、こんな簡単に作ることができます! あとは、1万7000曲以上の東方楽曲の配列を準備して、 ローカル環境で、動作確認してからGithubにpushして、Herokuにデプロイしました!
するとエラー...
- Procfile
web: bundle exec ruby app.rb -p $PORT
HerokuでSinatraを動かす時の必要なファイルを忘れてました...追加してデプロイで完成しました!
完成!
アイディアを貰ってから1時間15分でできました。
東方のサブスク
— シロ (@shiroemons) 2021年1月13日
出来てしまった...
Apple Musicの東方楽曲をランダムで選択してくれるWebアプリhttps://t.co/KfMwAffytH
はじめからSinatraで作ってれば、30分くらいで出来てたと思います。
その後に、独自ドメインを設定しました。
今年の元日にtouhou-search.com
というドメインを買ったので、そのドメインを早速使ってrandom.touhou-search.com
としました。
YouTube Music対応
自分が作ったApple Musicのスプレッドシートをもとに、フォロワーさんがYouTube Musicの東方楽曲の配信リストを公開してくれました!
東方同人音楽流通でYouTube Musicにストリーム配信されている楽曲リストをまとめました。https://t.co/O9vzUqxkPJ
— いで@いで庵 (@ide_an) 2021年1月15日
その情報を早速、使用させてもらいYouTube Music対応を行いました。
こんな時に使って欲しい!
- 作業BGMが欲しい時!
- なんでも良いから東方アレンジが聴きたくなった時!
- 新しい東方アレンジに出会いたい時!
アクセスするだけで、ランダムで選曲してくれるので簡単に使えるようになっています。
身近に東方アレンジに触れれてもらえれば嬉しいです。
東方我楽多叢叢誌に掲載される!
ありがたいことに、東方我楽多叢叢誌のニュースとして取り上げていただけました🙏
東方アレンジ発掘に最適?サブスク配信曲をランダム選曲してくれるWebアプリ
・サブスク配信曲をランダム選曲してくれるWebアプリ
— シロ (@shiroemons) 2021年1月18日
私が作りました!😆 https://t.co/w8Gg7ZQgO3
ソースコード
こちらが今回実装した、サブスクの東方楽曲をランダムで選曲してくれるWebアプリのソースコードです。
おわりに
すごい良いアイディアですぐに形にできそうだったので、ほぼ勢いだけでWebアプリを作りましたw
楽しかったです😆
今回1時間くらいで出来たのも事前に1万7000曲以上の東方楽曲の情報を持っていたからできました。
東方編曲録や東方カラオケ検索のWebアプリを作っていた経験も活きたと思います。
日々の積み重ねの経験で作れたのかなと思います。