perminder-klair/subwave
TypeScript0 / 0
Navidrome 음악을 AI DJ가 선곡하고 Icecast로 함께 송출하는 self-hosted 라디오 플랫폼입니다.
TL;DR
SUB/WAVE는 Navidrome 음악 라이브러리를 바탕으로 AI가 선곡과 곡 사이 멘트를 수행하는 self-hosted 인터넷 라디오 플랫폼입니다. Icecast의 단일 공유 stream으로 모든 청취자에게 같은 방송을 전달하고, LLM과 TTS를 조합해 station ident, 날씨, 시간 안내, 곡 소개를 생성합니다. Docker Compose와 `subwave setup` CLI로 Linux 호스트에 배포하며 LLM provider, TTS engine, DJ persona, schedule, skill을 운영 중에 바꿀 수 있습니다. 라디오 방송의 일관된 편성, 자체 음악 보관, 세밀한 DJ 자동화를 원하는 운영자에게 적합하지만 Navidrome, Icecast, LLM, TTS 구성과 오디오 분석 서비스까지 관리해야 합니다.
핵심 포인트
- SUB/WAVE는 독립 실행형 self-hosted 인터넷 라디오 애플리케이션이며 TypeScript 기반 CLI와 MCP server를 함께 제공합니다. Icecast 방송, Navidrome 음악 라이브러리, AI DJ controller, Next.js 웹 UI를 Docker Compose로 묶습니다. 특정 프레임워크의 플러그인보다는 한 대의 Linux 호스트에서 운영하는 통합 서비스에 가깝습니다.
- AI DJ는 Navidrome의 곡을 고르고 LLM으로 곡 소개와 station ident를 작성한 뒤 TTS로 읽습니다. Ollama, Anthropic, OpenAI, Google, DeepSeek, OpenRouter 등 여러 LLM provider를 재배포 없이 교체할 수 있습니다. Piper와 Kokoro 같은 로컬 TTS부터 Chatterbox, PocketTTS, OpenAI, ElevenLabs까지 발화 유형별 엔진을 선택합니다.
- 모든 청취자가 같은 Icecast mount에서 동일한 곡과 진행을 듣고 청취자용 skip은 제공하지 않습니다. 평문 요청은 DJ가 해석해 방송 queue에 삽입하며 운영자만 admin API에서 재생을 건너뛸 수 있습니다. 라디오의 편성 흐름과 개인 음악 라이브러리를 함께 운영하려는 경우에 적합합니다.
- 24×7 schedule, 최대 24개 DJ persona, 최대 3명의 guest co-host, 편집 가능한 SKILL.md, mood-aware rotation을 지원합니다. 곡의 BPM, key, loudness, 종료 방식과 vocal 구간을 측정해 crossfade와 DJ speech ducking을 조정합니다. `/admin/playlists`의 자연어 playlist builder와 `/observatory`의 embedding 기반 Library Observatory가 운영 도구를 확장합니다.
이미지 분석




1.3k
STARS
111
FORKS
+203
TRENDING
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.