Releases: stepankaiser/RetroPhone
Releases · stepankaiser/RetroPhone
RetroPhone v3.0 — The Real Radio Experience
What's New in v3.0
Real-Time Voice Conversations
- ElevenLabs Conversational AI replaces the old sequential pipeline (Whisper → GPT → TTS)
- Sub-second voice response latency — feels like talking to a real person
- 9 tools available to every DJ: play music, queue songs, search Spotify, skip, pause, now playing, weather, news
14 Unique DJ Personalities
Every decade has its own named DJ with a unique voice from ElevenLabs' community library:
- 1900s: Antonio "Grumpy Grandpa" | 1920s: Grandpa Danish "Speakeasy Storyteller"
- 1930s: Retro Radio Man "Classic Transatlantic" | 1960s: Captain Blackbeard "Pirate Radio"
- 1980s: Phil "Explosive WWE Announcer" | And 9 more...
Random Operator Personalities
Dial 0 and get a different character every time — pirate, cowboy, demon, wrestling announcer, or professional broadcaster. Same modern knowledge, surprise personality.
Classical Era
Dial any year before 1900 for Maestro Bradford hosting from Vienna's Royal Concert Hall with Spotify classical music.
World-Aware DJs
- Live weather from wttr.in injected into every DJ prompt
- Historical "on this day" events from Wikimedia API, filtered per decade
- BBC World News headlines available to the Operator
Smart Spotify
- Era-filtered search (1950s searches append
year:1950-1959) - Queue support ("play X then queue Y")
- Volume normalization across tracks
- Device guard — reclaims playback if another device steals it
More Features
- Discover mode (dial 99) — random decade with taste learning
- Cross-decade handoff — previous DJ says goodbye, new one greets
- Phonograph mode — AI-generated pre-1930s audio via ElevenLabs Sound Effects
- Persistent preferences and chat history across reboots
- Bilingual: English and Czech
Technical
- Runs on Raspberry Pi 3 Model B
- 30 ElevenLabs voices on account (14 premade + 7 community + 9 others)
- systemd service with auto-restart
- 2-minute ConvAI session timeout to prevent billing runaway
- Direct GPIO polling for hangup detection during ConvAI sessions
Full documentation: See README.md