毎朝6時、AIニュースを2人が対話形式で解説する12分の音声番組が、自動で公開されます。台本を書いたのも、声を当てたのも、Spotifyに届けたのも、すべてプログラムです。
この記事では、その仕組みと、4ヶ月動かして分かった「自動化しただけでは聴かれない」という現実を書きます。うまくいった話より、つまずいた話のほうが多いかもしれません。
結論:音声代は0円。でも、0円のまま品質を上げるのが本題だった
先に結果です。
| 項目 |
実績 |
| 1本あたりの長さ |
約12分(対話形式・2人) |
| 音声合成の費用 |
0円(edge-tts) |
| 台本生成の費用 |
0円(Gemini の無料枠) |
| サーバー代 |
0円(GitHub Pages) |
| 配信先 |
自前サイト・Spotify・メール |
| 人間の作業 |
0分(公開まで全自動) |
費用の話はここで終わりです。本当に時間がかかったのは、この0円の中で「聴けるもの」にする作業でした。
やっぱり先入観で有料のサービスの方が出来が良いだろうと言う思い込みがありました。でもいちかばちか無料でできる最高の方法を探すと言う手段をやってみたところ、チャットのラリーを重ね、修正を重ねるたびに、どんどんと精度の高い苦労に成長しているのがわかりました。現在は90点位でちょっと妥協して一旦フィックスします。また運用しながらブラッシュアップしていこうかなと思います。
全体の流れ
ニュース収集 → 台本を書く(AI)→ 2人分の声を作る → つなぐ → 配信
1日1回、GitHub Actions というクラウドの仕組みが動きます。自分のパソコンは関係ありません。夜中でも旅行中でも、朝には出来上がっています。
① 台本 ─ 「要約」ではなく「会話」にする
最初に作ったものは、ニュースを1件ずつ読み上げるだけのものでした。情報は正しいのに、3分で飽きるのです。
今は2人の会話にしています。解説役と、聞き役です。同じ内容でも、質問が挟まると急に聴きやすくなります。ラジオがなぜ2人以上でやっているのか、作ってみて分かりました。
台本はGeminiに書かせています。無料枠で足ります。1日1回しか呼ばないので、上限に当たることはありません。
② いちばん効いた改善:AIに「英語の原文」を渡す
ここが今回いちばんの学びでした。
当初、集めた英語ニュースを機械翻訳してからAIに渡していました。すると出てくる台本が、どうにも硬いのです。
「〜することが可能になりました」「〜であると報告されています」
耳で聴くと、これがとても不自然です。機械翻訳の文体を、AIがそのまま引き継いでいたのが原因でした。
そこで、翻訳せずに英語の原文をそのままAIに渡すように変えました。「意味を理解して、日本語のラジオで話す言葉に置き換えて」と頼む形です。結果はこうなりました。
「そうなんですよ!実は、マイクロソフトのAI需要が急増しすぎて、なんとライバルのアマゾンに助けを求めたんです」
同じニュースです。間に翻訳を挟まないほうが、自然な日本語になる。 直感に反しますが、こういうことが起きます。
③ 声 ─ 無料でどこまでできるか
音声合成には edge-tts を使っています。Microsoftのブラウザに入っている読み上げ機能を、プログラムから呼ぶものです。APIキーも料金も不要です。
日本語の声を調べたところ、男性は1種類しかありませんでした。 選択肢を増やすため VOICEVOX(無料)の男性話者9種も聴き比べましたが、採用には至りませんでした。
修正後の音声を実に50種類以上聞いたでしょうか。自分の声であるという事情もあり、品質には妥協したくなかったので、とにかくわがままを言いました。今もそうです。
なお VOICEVOX を毎朝の自動処理で使うには一工夫要ります。あれはパソコンの中で動くソフトで、クラウドからは呼べないからです。この違いは、自動化を考えるときに何度もぶつかる壁でした。
④ 起きた失敗と、その原因
音声が途中で終わる
「12分あるはずの音声が、途中でぷつっと終わる」という報告を受けました。
最初はMP3ファイルの不具合を疑い、フォーマットを作り直しました。でも直りません。調べていくと、原因は音声ではなく台本でした。
AIが出力できる文字数の上限に当たって、台本自体が会話の途中で切れていたのです。音声は、切れた台本を忠実に読んでいただけでした。
上限を引き上げ、さらに「途中で切れた場合は自動で締めの言葉を足す」処理を入れて解決しました。症状が出た場所と、原因の場所は違う。 当たり前のようで、見落としやすい話です。
「AIっぽい」と言われる
聞き役の相づちを、感情豊かにしようと調整した時期がありました。
「えーっ!それはすごいですね!」「ええっ、本当ですか!?」
これがかえって不自然でした。人間はニュースにここまで驚きません。今は「なるほど」「たしかに」といった落ち着いた相づちを基本にし、驚きは言葉の中身で表すようにしています。
「その数字は想像以上でした」
感情は、記号ではなく中身で出す。文章では当たり前のことが、音声だと忘れがちでした。
番組がSpotifyから消えていた
GitHubのアカウントを移した日から、Spotifyに登録していた配信アドレスが無効になっていました。Spotifyは新しい場所を知る手段がないので、更新が止まったまま放置されます。
気づいたのは、しばらく経ってからでした。登録し直して復旧しましたが、外部サービスは「こちらの引っ越し」を追いかけてくれないという教訓です。
現在のAIエージェントは自動化やルーティーンワークが得意ですが、単に「お願いね」と伝えるだけで半永久的に動き続けてくれるわけではありません。結局のところ従業員と同じで、うまく動いているか確認してあげることがたまには必要なのです。
⑤ 自動化しただけでは足りなかったこと
最後に、いちばん考えさせられた話です。
このニュースの持ち味は、記事に出てくる専門用語すべてに解説が付くところにあります。ところが音声だけ聴いている人には、それが存在しないのと同じです。
音声で「エージェント」と言われて分からなければ、そこで置いていかれます。名前に「わかりやすい」と付けていても、聴いている人が分からなければ意味がありません。
そこで3か所に導線を足しました。
- 番組の締めで「説明欄のリンクから、解説つきの記事でも読めます」と一言
- 配信アプリの説明欄に記事のリンク
- プレイヤー画面に「専門用語の解説つきで読む」のボタン
媒体の強みは、その媒体の中にいる人にしか伝わらない。 音声から入った人に、どうやって強みのある場所まで来てもらうか。自動化とは別の設計が要るところでした。
これから作る人へ
4ヶ月やってみて、順番としてはこう考えています。
- まず出し続ける仕組みを作る(品質は後で上げられる。止まると何も残らない)
- 次に、聴いた人の反応で直す(作り手には自分の音声の不自然さが分からない)
- 費用は最後に考える(無料で始められる。足りなくなってから払えばいい)
そして、自動化できないところを見極めること。台本も音声も配信も自動にできますが、「これは聴きづらい」と気づくのは人間だけです。
結局、聞いてくださるのはリスナーの方なので、違和感なく耳から入ってこないと音声学習どころではありません。この「違和感なく」という点は動画も同様で、映像クリエイターとして携わってきた経験からの知見です。尖ったものよりも、違和感なくインプットできるものが大事だと考えています。