2.3 KiB
Fuuka
Introduction
This is the web interface for Juno, a music player. This service is in charge of orquestrate the music playback and schedule of the player, manually and automatically.
Features:
- Listen to Juno's music stream in a public page, this is a radio like stream that will be the same wherever you open it.
- Recoursive folder indexation for music files.
- Add remote music streams, like youtube lives.
- Create, edit and delete playlist with the indexed files.
- Create schedules for the playlists:
- Set playlist to autoplay at a specific dates and time.
- Create custom schedules like "every day", "on weekdays", "every monday", etc.
- Choose a specific playlist or a random from a category.
FAQ
Why Rust?
A core requirement is to index and handle a masive collection of music, so the project needs an efficient backend language. By the quote I read somewhere of "un-optimized Rust code is faster than optimized Go code", I decided to use Rust.
Why the name?
TLDR
The name comes from Fuuka Yamagishi, a character from Persona 3.
Long Version
One of my first projects was a discord bot that acted as a frontend of MPD while also played the HTTPS stream in the voice call. I called the bot fuuka because you actually have to talk to the bot to ask for music. This is the 3rd iteration of the idea (and hopefully the definitive), so I decided to maintain the name in it's honor.
The project was split into 2 though:
- Fuuka, the navi of SEES in Persona 3, you can ask her to change the musing in tartarus. It act as the frontend to interact with the player.
- Juno, the persona of Fuuka that grants her the ability to communicate telepatically to her teamates. It act as the music player.
Similar projects
- Navidrome
- Azuracast
- Cadence (Use Icecast and Liquidsoap)
- forte
- Simple MPD in Rust