Voicyの過去放送を「ガチャ」で掘り起こす。1,300本のアーカイブに新しい入口をつくった話

Voicy「学びのセカンドオピニオン」を毎日配信して、放送数はすでに1,300本を超えました。

続けてきたことは嬉しい一方で、ふと気づいたことがあります。新しく聴いてくれる人にとって、1,300本という数はただの「壁」にしかならないのではないか。検索窓に何かキーワードを打ち込まないと辿り着けない放送が、ほとんどだということです。

埋もれてしまった放送に、もう一度光を当てたい。そう思ってつくったのが、今回紹介する「のざたんの気まぐれアーカイブガチャ」です。

▶ 実際に触ってみる:voicy-gacha.meetupsensei.com

ボタンを押すと、カプセルがふわふわ→シェイクして、1,300本の中からランダムに1本が表示されます。レア度(N・R・SR・SSR)も一緒に出てきて、プレミアム放送が当たると専用の特別演出が出ます。

この記事は、「自分のチャンネルでも同じものを作りたい」と思ってくれたVoicyパーソナリティさんが、実際に手を動かして完成させるためのガイドです。

この記事の対象者
・ターミナル(黒い画面にコマンドを打つやつ)に苦手意識がある方
・コードは書けないけれど、AIに「お願い」する形なら試してみたい方

この記事では、ターミナル操作は一切出てきません。すべて、Claude Codeという「日本語で指示できるAIアシスタント」に話しかけるだけで完成します。


まず選んでください:2つの作り方があります

実は、このガチャには2つの完成形があります。どちらにするかで、かかる時間が変わります。

🟢 軽量版(おすすめ)🔵 フル機能版
できることカードが出て、ボタンを押すとVoicyのアプリ・サイトに飛んで聴くカードが出たその場で、ページを移動せず再生できる
準備の時間5〜10分くらい30分〜1時間くらい(途中、待ち時間あり)
おすすめな人とにかく早く公開したい/まずは試してみたい多少時間がかかっても、聴き心地を一番よくしたい

迷ったら軽量版から始めてください。 後から「やっぱりフル機能版にしたい」と思ったときも、ここまでの作業はそのまま活かせるので、やり直しにはなりません。

この記事は、軽量版の完成までを丁寧に解説します(多くの方はここまでで十分満足できる仕上がりになります)。フル機能版への発展のさせ方は、最後に簡単に触れます。


全体の流れ(軽量版)

① Claude Codeを準備する
 ↓
② 「これを作って」とお願いする(GitHubのコードを使う)
 ↓
③ あなたのVoicyのデータを渡す
 ↓
④ できあがったものを公開する

「① の準備」は最初の1回だけ。慣れている方は②から読み始めてOKです。


事前に必要なもの

  • Claude Code(Anthropicが提供する、AIに日本語で指示してパソコン作業をしてもらえるツール。有料プランが必要です)
  • Voicyのパーソナリティ管理画面にログインできること(あなたの放送データをダウンロードするために使います)

Claude Codeを初めて使う方は、まず公式サイトの案内に沿ってインストールしてください。インストールが終われば、この記事の②からは「日本語で話しかける」だけです。


ステップ①:Claude Codeを開く

インストールが終わったら、Claude Codeを起動してください。

真っ黒い画面が出てきますが、構える必要はありません。この画面は「AIとチャットする場所」だと思ってください。LINEやメッセンジャーで誰かに話しかけるのと同じ感覚で、日本語をそのまま打ち込んで送るだけです。


ステップ②:「これを作って」とお願いする

Claude Codeの画面に、以下の文章をそのままコピーして貼り付け、Enterキーを押してください。

GitHubの https://github.com/nozatan530/voicy-gacha にあるコードを使って、
「Voicyアーカイブガチャ」の軽量版(gacha-lite.html を使うバージョン)を
自分のパソコンに作りたいです。

まず、このリポジトリの内容を、わたしのパソコンの分かりやすい場所
(例:デスクトップに voicy-gacha という名前のフォルダ)にダウンロード
してください。

ダウンロードが終わったら、中に入っている README.md の
「🟢 ライト版のセットアップ」という部分だけを読んで、次に何をすればいいか、
わたしに日本語で分かりやすく説明してください。
コマンドの実行が必要な場合は、コマンドを直接実行してもらって構いません。
わたしはコマンドを自分で打つことはできないので、すべてお任せします。

これを送ると、Claude Codeが自動でファイルをダウンロードし、次にやることを教えてくれます。この後の作業(コマンドの実行など)は、すべてClaude Codeにお願いしてしまって大丈夫です。 「実行してください」とお願いすれば、Claude Codeが代わりに操作してくれます。

ポイント:分からない言葉や手順が出てきたら、そのまま「これはどういう意味ですか?」「代わりにやってもらえますか?」と聞き返してください。ターミナルに何かを自分で打つ必要は基本的にありません。


ステップ③:あなたのVoicyのデータを渡す

ガチャに使う放送データを用意します。

3-1. Voicyからデータをダウンロードする

  1. Voicyのパーソナリティ管理画面にログイン
  2. 「アナリティクス」→「放送」を開く
  3. 期間を「全期間」に設定し、CSVファイルをダウンロード

ダウンロードされたファイルは、アナリティクス_放送__全期間.csv のような名前のはずです。

3-2. Claude Codeにファイルを渡す

Claude Codeの画面に、ダウンロードしたCSVファイルをドラッグ&ドロップしてください(多くのチャットツールと同じ操作です)。ファイルが添付されたら、以下のように話しかけます。

このCSVファイルを使って、voicy-gachaの convert.py を実行してください。
episodes.json というファイルが生成されるはずです。終わったら教えてください。

これだけで、データの準備は完了です(軽量版はこのステップだけで終わりです。フル機能版だと、ここにもう一つ「数値ID取得」という20〜30分かかる作業が追加されますが、軽量版では不要です)。

3-3. あなたの番組名に書き換える

データの準備ができたら、見た目の文言を自分の番組用に変えます。

voicy-gacha の中の gacha-lite.html というファイルを、わたしの番組用に
書き換えてください。

・番組名:「(あなたの番組名)」
・パーソナリティ名:「(あなたの名前)」

そのあと、さきほど作った episodes.json の中身を、gacha-lite.html の中にある
<script type="application/json" id="episodes-data"> というタグの中に
丸ごと埋め込んでください(README.mdの「ステップ3:JSONをHTMLに埋め込む」を
参考にしてもらえれば大丈夫です)。

色やアニメーションはそのままで大丈夫です。

ステップ④:公開する

ここまでで、あなたのパソコンの中に「あなた専用のガチャ」(gacha-lite.html という1つのファイル)が完成しています。あとは、それを誰でも見られる場所に置くだけです。

一番簡単なのは、GitHub Pagesという無料の公開方法です。Claude Codeに以下のように話しかけてください。

完成した gacha-lite.html を、GitHub Pagesという仕組みを使って、
誰でもブラウザからアクセスできる形で公開したいです。

GitHubアカウントは(持っています/持っていません)。
公開までの手順を、ひとつずつ確認しながら進めてください。
途中で「これでいいですか?」と聞いてもらえると安心です。

GitHubアカウントをまだ持っていない場合も、その旨を伝えれば、アカウント作成から案内してくれます。

公開できたら:表示されたURL(https://(あなたのアカウント名).github.io/voicy-gacha/ のような形)を開いて、実際に「ガチャを引く」ボタンを押してみてください。あなたの放送が表示されれば成功です!


うまくいかない時は

途中で何かエラーが出たり、思った通りに動かなかったりした場合は、そのエラーメッセージや画面の状況をそのままClaude Codeに伝えてください。 「こういうエラーが出ました、どうすればいいですか?」と聞けば、Claude Codeが対処法を考えて、必要なら直接修正までやってくれます。

実際にこのガチャを作る過程でも、いくつか想定外のことが起きました。

  • ガチャ画面に外部のアイコン素材を使っていたら、環境によっては読み込めず文字が崩れて表示された
  • 「ページを移動せず再生したい」を実現しようとしたら、CSVの情報だけでは不足していて、追加の調査が必要だった(これがフル機能版で必要になる手順です)

どちらも「動かない」という事実をClaude Codeに伝えるところから、解決策を一緒に考えて直していきました。最初から完璧に動くことを目指さなくて大丈夫です。 動かない部分が見つかったら、その都度Claude Codeに相談する、という進め方で問題ありません。


レア度のしくみ(カスタマイズしたい方向け)

標準では、以下のルールでレア度が決まるようになっています。

レア度判定条件出現確率
N(日常回)通常放送50%
R(良回)いいね数が一定以上の通常放送30%
SR(ざわつき回)いいね数がさらに多い通常放送15%
SSR(プレミアム放送)プレミアム放送・有料放送5%

この出現確率や判定基準を変えたい場合も、ターミナル操作は不要です。Claude Codeに次のように話しかけてください。

voicy-gachaのレア度の出現確率を変更したいです。
SSR(プレミアム放送)の出現確率を、今の5%から10%に上げてください。
voicy-gachaのレア度判定で、「良回」と判定するいいね数の基準を、
今より少し低くしてください(もっと多くの放送がRになるように)。

希望を日本語で伝えるだけで、該当する設定ファイルを見つけて書き換えてくれます。


🔵 もっと聴きやすくしたい方へ(フル機能版への発展)

軽量版で公開したあと、「やっぱりページを移動せずに再生したい」と思ったら、フル機能版にアップグレードできます。やることは1つだけ追加されます。

voicy-gachaの README.md にある「🔵 フル機能版のセットアップ」の
追加ステップ(fetch_episode_ids.py の実行)を行ってください。
1300件くらいあるので20〜30分かかると思いますが、時間がかかっても大丈夫なので、
最後まで実行してください。終わったら、gacha-lite.html ではなく
gacha-standalone.html を使う形に切り替えてください。

これだけで、ページを移動せずその場で再生できる版に進化します。軽量版で使ったCSVのデータ・番組名の設定などは、そのまま引き継がれるので、最初からやり直す必要はありません。


おわりに

「過去の放送を聴いてもらう」という、配信を続けている人なら誰もが持っているであろう小さな悩みに、ガチャという遊び心で応えてみました。

このガイドの最大のポイントは、「コードが分からなくても、Claude Codeに日本語でお願いすれば形になる」ということです。実際、この記事中のお願い文をそのままコピーして渡すだけで、ステップ②〜④はすべて完了します。

ぜひ試してみてください。途中で詰まったら、遠慮なくClaude Codeに「分からない」と伝えてみてください。それも含めて、ちゃんと進められるようになっています。

voicy-gacha.meetupsensei.com(サンプル)
github.com/nozatan530/voicy-gacha(ソースコード)

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール