
こんにちは!AIサービス開発室の鈴木生雄です。毎週木曜日にAIを中心としたIT関連のニュースのPodcastを配信している私ですが、Podcastは聴くのも大好きです。何が良いって通勤で歩いている時や旅行に行く飛行機の中など、移動中の時間を有効に使えるところですね。20代の頃はRadio SHARKというFM/AMラジオチューナー&録音ソフトを使って、深夜のバラエティラジオやドラマ、落語を録音して聴くことを繰り返していました。Radikoができるまでは、エリアフリーという概念がなくて、東京に行かないと東京のパーソナリティのラジオは聴けなかったのですよね。あぁ、懐かしい…。こうした経験がPodcast好きにつながっているかもしれません。
さて、そんな私が最近ハマっているPodcastをご紹介します。Lex Fridmanです。
Lex Fridmanは、私が尊敬する中島聡さんが著書「メタトレンド投資」の中で以下のように紹介しています。
数あるPodcast番組の中でも私が特におすすめしたいのが、レックス・フリードマン氏の番組です。彼はAI研究に携わるエンジニアとして専門知識を持ち、マサチューセッツ工科大学で教鞭も執っています。彼の番組では、エンジニアや経営者、科学者、政治家など、多岐にわたる分野の第一人者をゲストに迎え、1本あたり2~3時間、場合によってはそれ以上の長尺インタビューを行っています。彼はインタビュアーとしての視点が鋭く、ゲストの思考や哲学を丁寧に、そして徹底的に掘り下げます。一般的なテレビ番組では「もっとこの話を聞きたい」と思った矢先に、時間切れで次の話題や質問に移ってしまうことが多く、消化不良感を覚えることも少なくありません。しかし、フリードマン氏のPodcastでは、ゲストが抱える問題意識や、それを解決するための技術的な挑戦、そして社会に対する熱い思いなどが詳細に明かされます。しかも出演者がとても豪華です。イーロン・マスク氏や、Amazon創業者のジェフ・ベゾス氏、OpenAIのCEOのサム・アルトマン氏、さらにドナルド・トランプ氏まで出演しています。
実際に聴いてみるとまさにこの紹介文のとおりであることがわかります。長尺なので聴くのは大変ですが、文脈が途切れることがないため、出演者の肝心の考えやビジョンを深く理解することができます。しかしながら、英語ができないと聴けないという難点があります。私は残念ながら英語、特にリスニングは全然できないので、YouTubeの日本語のキャプションを見ながら視聴しています。しかし、この方法だと当然移動中には聴くことができません。そこで、この問題を解決するために、AIを使って日本語版Lex Fridmanを作ってみました。
このエピソードのインタビュイーは、ノーベル化学賞受賞者でAI研究者のDemis Hassabis氏です。Hassbis氏は“自然界で見つかるパターンは、基本的に古典的な学習アルゴリズムで効率よくモデル化できる”と語っています。そして、その理由は(タンパク質の折りたたみにおける進化のように、)選択的プロセスを経て生き残った結果、対象自体が構造を持っているからだと言います。私はこの話を聴いて、面白いと興奮したのと同時にとても腑に落ちた感じがしました。こういう感覚こそが茂木健一郎氏が提唱するアハ体験なのでしょうか。
Lex Fridmanはとにかく素晴らしいコンテンツなので、こんなふうに日本語化して移動時間に聴けるようにしたいところですが、そのための作業は結構手間でした。今回は gemini-2.5-flash-preview-ttsによる複数スピーカーの音声合成 で作ったツールを使ったのですが、これが機能不足でした。具体的には、長尺動画のためgemini-2.5-flash-preview-ttsの制限(明確な根拠は見つけられなかったがおそらくコンテキストウィンドウの制限)で約5分しか一度に音声化できなかったのが大変でした。仕方がないので、テキストを手動で30個のチャンクに分割して、一つ一つシリアルに音声化していきました。1個のチャンクを音声にするのに約3分かかったので、3分×30個=90分の時間を要しました。
今後はこうした手間を減らしたいので、以下のようなフローを実現するツールを開発することにしました。
- YouTubeからトランスクリプトを取得する。:手動(APIが提供されていないため)
- トランスクリプトを入力にして、話者分離と日本語訳したテキストファイルを作成する。:gemini-2.5-pro(ChatGPTはコンテキストウィンドウが小さいので不向き)
- テキストファイルをTTSの長さ制限に引っかからないサイズのチャンクに分割して、非同期並列処理で音声化する。:GraphAI(フロー制御)、gemini-2.5-flash-preview-tts(TTS)
- 音声化が全て完了したら元の順番通りに結合する。:GraphAI(フロー制御)、FFmpeg(音声合成)
- BGMをつける。:SUNO(BGM作成)、FFmpeg(音声合成)
課題になりそうなことしては、チャンクを非同期並列処理で音声化する際に、Geminiのレート制限 に引っかかることです。例えば、私の顧客レベルであるTier1(有料枠の1番下)だと1分間あたりのリクエストは10件までという制限があるので、同時に30件とかはリクエストできないというわけです。手っ取り早いのはTier2に上げることですがそのためには”合計費用: $250 超”という要件をクリアする必要があるので、そこそこお金がかかります。そのため今回はTierを上げる以外の方法で解決したいと思います。
プログラミングは今回もGemini CLIを使ってやります。GraphAIを使うので、言語は慣れたPythonではなく、TypeScriptです。さて思い通りのツールは完成するでしょうか。お楽しみに!