random-scripts/better-radio
2023-01-28 23:47:04 +01:00
..
components Migrate better-radio to personal project graveyard 2023-01-28 23:47:04 +01:00
LICENSE Migrate better-radio to personal project graveyard 2023-01-28 23:47:04 +01:00
README.md Migrate better-radio to personal project graveyard 2023-01-28 23:47:04 +01:00

Development has unfortunately stopped

better-radio

I got fed up with the radio station playing at work. It's pretty much a 2 hour playlist on a loop with ads inbetween songs. My idea of what this software will do is create a simple internet audio stream that can be played by any device.

The initial idea goes like this:

  • Have a raspberry pi connected via AUX to the radio at work.
  • The raspberry pi loads a audio stream generated by the software described below.
  • A icecast server which distributes an opus audio stream.
  • A audio source with dynamic playlist support which plays audio into the icecast server.
  • yt-dlp downloading songs on command by the software below.
  • A web-gui where employees can request songs based on music on Youtube Music.
  • Optionally link the orderpicking system with this so no phone is needed.
  • Optionally link the IBM i system so that no phone is needed.
  • When no songs are requested, keep playing the youtube Radio playlist until a song is requested.
  • An admin portal where every aspect can be changed.

Fricking commercial licensing

So apperantly in The Netherlands you need to pay a copyright holding company hefty sums of money a year if you play radio on the workfloor. This is the reason why we have the same radio station on the whole time. Because it's paid for that one and that one only. This is an amazing project but realistically it will never be rolled out on the workfloor because of this.

Changing work is much easier at this point.

How it should work

This software will be built in four components.

  • A container which automatically plays this audio stream running on the raspberry pi, this also makes it easier to update remotely.
  • A audio streamer which supports dynamic playlists, this is so that a "background" playlist can be interrupted by a request.
  • A yt-dlp script which gets commands by the GUI listed below, downloads songs and playlists, keeps up a simple library and such
  • A web-gui component which handles user interaction, this can be optionally split up to frontend and backend which then controls the components listed above.

Milestones

First milesone (done)

Have a working concept, just change the music already. No need for youtube music searching and such, just change the fricking radio station. Being able to change the radio station from the desktop is already miles better.

  • A working raspberry pi player which can be controlled remotely
  • A web frontend where users can select the radio station

Second milestone

Add some Youtube components and an administrator page wich can override some site functions.

  • Add youtube-dlp backend wich can fetch search results and show them
  • Add youtube-dlp backend wich can download songs for streaming, no file cache yet
  • Add administrator page which can lock some functions which can be controlled publicly (done)
  • Add function for site administrators to add radio stations by themselves (done)