# myradio開局レシピ
## 〜キャラクターがニュースを読む「ラジオ局」の作り方〜

キャラクターが毎朝ニュースを読んでくれるWebラジオ局を、GitHub（ギットハブ）のリポジトリ1つで開くためのマニュアルです。元ネタは、誰でも使えるテンプレート「myradio」。

- テンプレート：https://github.com/monoradio102/myradio
- お手本の局「ものラジオ」：https://monoradio102.github.io/myradio/

完成形は「動画」ではなく「HTMLの番組」です。音声の再生に合わせて、字幕・スライド・記事へのリンクカード・キャラクターの口パクやまばたきが動きます。台本は文字データなので、過去の回もずっと「記事」として読めます。

このレシピは、誰が読んでもそのまま真似できる形で書いています。特定の個人の環境や事情に依存する内容は入れていません。

---

## 1. 用意するもの

| もの | 説明 |
|---|---|
| GitHubアカウント | 無料でOK。局の置き場所（GitHub Pages）も無料枠で足ります |
| パソコン | ファイルの編集とアップロードに使います |
| 声 | 台本を読み上げる音声（mp3）。音声合成ソフトで作ります（下記） |
| キャスターの絵 | 最初はテンプレート付属のキャラをそのまま使ってOK。差し替えは後からできます |
| ニュースの元ネタ | 自分で読みたい記事のURL。台本には出典のURLが必須です |

声の作り方の候補（規約は声ごとに確認してください）：
- VOICEVOX（無料、日本語の声が豊富）
- COEIROINK（無料〜、キャラクター性の強い声）
- Kokoro（英語向け）

---

## 2. 開局の手順（最初の1回だけ）

1. **局を建てる**：テンプレートのページで「Use this template」を押して、自分のGitHubにリポジトリを作る
2. **局の自己紹介を書く**：`station.json` を書き換える
   - `name`：局の名前
   - `description`：どんな放送か（1〜2文）
   - `language`：`"ja"`
   - `credits`：声や素材のクレジット（利用条件で必要なものは必ず入れる）
   - `url`：公開先のアドレス（`https://<自分のID>.github.io/<リポジトリ名>/`）※手順6で使います
   - お手本の局のコメント欄設定（`comments`）が入っていたら、消すか自分の値に書き換える
3. **ロゴを差し替える**：`logo.svg` を自分のものに（お手本のロゴは残さない）
4. **お手本の回を消す**：`episodes/` の中のファイルと `episodes.json` を空（`[]`）にする
5. **最初の回を作る**：次の「3. 放送1回分の作り方」へ
6. **公開する**：`tools/publish.sh` を実行する。あわせてGitHubのリポジトリの Settings → Pages で、公開元を `gh-pages` ブランチに設定する
7. **看板を書き換える**：`README.md` を自分の局の紹介に変える（冒頭のお手本の放送画面の画像は、自分の局のスクリーンショットに差し替えるか、画像の行ごと消す）

> つまずいたら：このテンプレートには「AIへの指示書」（`AGENTS.md`）が最初から入っています。ChatGPTやClaudeなどのAIに「このリポジトリのAGENTS.mdを読んで、開局を手伝って」と頼むのが、いちばんの近道として公式に勧められています。

---

## 3. 放送1回分の作り方（毎回の作業）

### 3-1. 台本を書く

`episodes/<日付>-ja.json` という名前で置きます。骨格はこうです：

- `opening` / `closing`：番組の最初と最後のあいさつ
- `news`：ニュースごとに `label`（見出し）、`points`（要点）、`lines`（話す文）、`url`（出典のURL）

話す文は2つの形で書くのがコツです：

```json
{"say": "読み上げ用の文", "show": "字幕用の文"}
```

- `say` は、音声合成が読み間違えない形にする（英字の名前はカタカナにする、など）
- `show` は、画面に出る普通の表記でOK

大事なルール：
- **出典は必ず付ける**。事実は出典に書いてあることだけを書く。URLは実在を確認したものだけ
- 台本はそのまま公開されます。個人が特定されるような内容や、非公開の事情は入れない

### 3-2. 声を作る

- 台本の文を音声合成で読み上げ、**1回分を1本のmp3**にして `audio/<日付>-ja.mp3` に置く
- 声を作るときに、各文の開始・終了の秒数（`lines_timed`）と、パートの区切り（`segments`）を台本に書き込む。声とずれると、字幕やスライドもずれるので、ここは丁寧に
- **音声ファイルはGitHubの本体（main）には入れない**。`publish.sh` が、直近30日分（`station.json` の `audio.keep_days` で変更可）だけを公開用ブランチに載せてくれる仕組みです

### 3-3. 公開する

`tools/publish.sh` を実行すると、公開用ブランチが作り直されて放送開始。ついでにSNS共有用のカード画像も自動で作られます。

毎日の作業は、実質この3手だけです：**台本を書く → 声を作る → publish**。

---

## 4. Museのフィードをニュースの元ネタにする方法（Museユーザー向け）

個人向けAIエージェント「Muse」には、自分の関心に合わせて記事が集まる「フィード」（個人新聞）があります。Museを使っている人は、そのフィードをニュース選びの工程としてそのまま使えます。ニュース探しと取捨選択が済んだ状態から台本作りに入れるのが利点です。

### 流れ

1. **その日のフィードを開き、放送で扱う記事を選ぶ**（3〜5本くらいが1回の分量として扱いやすい）
2. **各記事から、見出し・要点・出典URLを取り出す**。フィードの記事には出典情報が付いているので、それを台本の `url` に使う
3. **本文を丸写しせず、見出し＋要点を自分の言葉で台本の形に書き直す**
   - `label`：見出し
   - `points`：要点を短く
   - `lines`：読み上げ文（`say`／`show` の2形式に分ける）
4. あとは通常の手順どおり、**声を作って publish**

### Museに手伝ってもらう場合の頼み方

Museを使っているなら、フィードからの台本化も会話で頼めます。たとえば：

> 「今日のフィードから3本選んで、myradioの台本形式（episodesのJSON）で書いて。出典URLを必ず付けて、本文の丸写しではなく見出しと要点を自分の言葉で。声はVOICEVOXで作る前提で、say は読み間違いしにくい表記にして」

AIに任せる場合でも、公開前チェックは人がやるのが安全です。特に：
- 出典URLが実在するか
- 事実関係が元の記事と食い違っていないか
- 公開して困る内容（個人が特定される情報など）が混ざっていないか

この方法は「フィードが既に自分の関心で選別済み」だから効きます。つまり、ニュース収集はMuseのフィードに、台本化と読み上げはmyradioに、という分業です。

---

## 5. キャスターを変えたいとき（慣れてからでOK）

`character/` フォルダの中身を差し替えます。方式は2つ：

- **sprites方式**（お手本と同じ）：背景が透明な立ち絵1枚（口を閉じて正面）＋、口（半開き・開き）や目（まばたき等）の小さな差分画像。差分は、立ち絵を画像編集で描き直して、変わった範囲（口・目のまわり）だけを切り出して作ります。位置合わせは `character/character.json` に書く
- **clips方式**：黙っているときの静止画＋、話しているときの短い映像

注意：
- 権利のはっきりした素材だけを使う。AIで作ったキャラなら、その旨を書いておく
- テンプレート付属のキャラは、公序良俗に反しない使い方なら自由に使ってよいことになっています（クレジット不要）

任意の追加要素：
- `station.json` に `"weather": true` と書くと、ニュース中にキャラの横へ今日の天気が出ます
- コメント欄（GitHub Discussions＋giscus）も付けられます。手順は `AGENTS.md` の「コメント欄」にあります

---

## 6. やってはいけないこと・大事な注意

1. **音声をmainにコミットしない**（履歴に残り続けて、リポジトリが重くなる）
2. **他人のサイトの画像を保存して入れない**。記事の画像は、そのサイトが共有用に出している画像（OGP）のURLを台本に書くだけにする
3. **声や素材のクレジットを消さない**
4. **秘密の情報を書かない**（APIキー、メールアドレス、自宅のネットワーク名など）
5. **個人情報を書かない**（自分や他人の実名・住所・所属・予定など）。匿名で運用したい局ならなおさらです
6. **公開範囲の自覚**：GitHub Pagesは基本的に「誰でも見られる」場所です。身内だけに見せたい放送には向きません。台本に書いたことは全部、世界に公開される前提で

---

## 7. 費用の目安

- GitHub（リポジトリ＋Pages）：無料
- 音声合成：VOICEVOX／COEIROINKなら無料で始められる
- つまり、開局も毎日の放送も **0円から**始められます

---

## 参考リンク

- テンプレート本体：https://github.com/monoradio102/myradio
- お手本「ものラジオ」：https://monoradio102.github.io/myradio/
- 台本やファイルの形式の詳細：リポジトリ内の `docs/formats.md`
- AIに手伝ってもらうときの指示書：リポジトリ内の `AGENTS.md`

ライセンス：プログラムはMIT、台本はCC0（自由に使い回しOK）。「ものラジオ」の名前とロゴだけは先方のものなので、自分の局の名前に差し替えてください。
