Skip to content

Releases: stepankaiser/RetroPhone

RetroPhone v3.0 — The Real Radio Experience

28 Mar 06:18

Choose a tag to compare

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