Backcast

24/7 Retro Radio

Check out the website here

DISCLAIMER: Website takes a second on first load

Inspiration

Coming up with an idea for this theme was a challenge. Our team didn't just want to build a retro-video game, or retro-fy something modern, we instead wanted to modernize something retro. After multiple days of deliberation and brainstorming, we eventually came up with the idea of a retro audio stream, mimicking the 24/7 nature of lofi hip hop radio that we all know and love. Inspired by Fallout, and the Golden Age of Radio, we decided to bring AI generated 24/7 retro reflection to the internet, and a $10 radio we found at Goodwill.

What it does

Backcast serves as a portal to the past, offering a continuous stream of AI-generated retro music. The music is interjected every 15 minutes with an AI radio jockey talking about inspiring historical events, cultural milestones, and anecdotal stories from the audience of that time 'on that day' many years ago.

We also converted an old radio to continuously broadcast our AI-generated retro radio station. Anyone can simply switch on the radio and tune in, instantly transporting themselves back in time, both sonically and physically.

How we built it

We stream the retro radio station with Flask on AWS EC2. The scripts are generated using gpt-3-turbo through the OpenAI API and converted to speech using Google Cloud TTS. Music is scraped and downloaded using PyTube, and concatenated with the radio script using PyDub. The radio shows are generated automatically and continuously throughout the day!

There are two ways to interact with our project, the physical, and the digital.

For the physical, we converted an old radio from Goodwill using the electrical engineering knowledge of our teammate, an ESP32-WROOM-32D (microcontroller with WiFi capability), and the Arduino-Audio-Tools library written by Phil Schatzmann.

For the digital, we built a cozy 3D bedroom using the 3JS library, a JavaScript 3D library, and some free open-source models for the bedroom and the radio. Anyone can tune into the website and listen to some cozy radio in a cozy room.

Challenges we ran into

One of the biggest challenges was coming up with an idea for the topic. Besides that, it was a struggle to find a working Arduino library for converting the MP3 stream to analog audio. Another struggle was working with 3JS, as none of our team loved working with JS. The largest challenge was dealing with finite resources on the free EC2 tier on AWS, it took a long time to set up and also get optimized to run everything. One logistical struggle was debugging the transitions between 15-min sections of the radio show, since we had to wait 15 minutes to check.

Accomplishments that we're proud of

We are proud to have integrated ECE into the project and to have been able to produce a physical product for the Hackathon. We kept expanding the scope of the project, and are proud to have finished everything we wanted to do (and more).

What we learned

  • AWS is harder to set up than we thought.
  • Things never go according to plan.
  • Understanding the functions of a PCB without a schematic isn't as straightforward.
  • 3JS is a fun library!

What's next for Backcast

  • Better website
  • More radio stations
  • More interactivity on the website
  • Make loading of the website quicker
  • Make more buttons on the physical radio responsive

Built With

Share this project:

Updates