イクチオカップ

Radio - 24

https://github.com/IzmYuta/Hacz_Ichthyo

Next.js

Go

TypeScript

Redis

PostgreSQL

AI x ラジオ = 24時間!?

IzmYuta

推しアイデア

「24時間、AIパーソナリティが生声で喋り続けるラジオ局」 リスナーはワンクリックで話しかけ、AIとその場で会話できます。

作った背景

ハッカソン中、耳寂しいと思ったので

推し技術

OpenAI Realtime API (GA版) WebRTC 直結で 音声↔音声の低遅延対話

プロジェクト詳細

はじめに

開発環境はDockerに載せろ!!!

お詫び

SafariやiOSで見ている方、申し訳ありません! ユーザ側で「自動再生」の設定を有効化しないと音声の再生ができないようです!! どう頑張っても回避できませんでした!!

https://sora-doc.shiguredo.jp/SAFARI

概要

24時間連続でAI DJが放送を行うラジオシステムです。視聴者はWebブラウザからアクセスして放送を聴くことができ、PTT(Push-to-Talk)機能でAI DJと対話することも可能です。

技術スタック

  • フロントエンド: Next.js + React
  • バックエンド: Go
  • 音声配信: LiveKit (WebRTC SFU)
  • AI音声生成: OpenAI API (TTS + Realtime API)
  • データベース: PostgreSQL
  • キャッシュ: Redis
  • インフラ: Google Cloud Platform (Cloud Run, Cloud SQL)
  • IaC: Terraform

システム全体アーキテクチャ

image

データフロー図

image

できたこと

  • 24時間連続放送: Host Agentが常時発話
  • 自動台本生成: Host Agentが独自に台本を生成してTTSで読み上げ
  • 音声配信: LiveKitによる高品質音声ストリーミング
  • 双方向対話:OpenAI API(Realtime)による、低遅延・リアルタイムAI音声処理
  • マイクロサービス化:APIとHostを分離してスケーラビリティを向上

IzmYuta

@IzmYuta