💾 Archived View for auragem.letz.dev › devlog › 20230918.gmi captured on 2024-05-10 at 11:36:22. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-03-21)

-=-=-=-=-=-=-

2023-09-19 Introducing AuraGem Music's Public Radio (Updated Again)

I am now introducing AuraGem Music's new Public Radio! It livestreams public domain and royalty free mp3 music over Gemini.

AuraGem Music's Public Radio

Client Support

Some spec-compliant clients that support playing mp3 files should be able to stream, particularly Lagrange on Desktop. Clients that can pipe into another program will also work. This includes diohsc, which can pipe the data into mpv or vlc.

Currently, Rosy Crow does not seem to support streaming mp3 files. Additionally, Lagrange has several bugs that prevent it from streaming or playing audio on Android and iOS. There is an issue open for this on Github and Bubble, and it seems to apply to all audio playback within the app from all protocols that lagrange supports:

Lagrange Github: spartan mp3 links won't play on android

[#14] Lagrange android doesn't play any sound files

Finally, Lagrange via the AppImage also seems to be bugged for some users and does not stream audio files. You can try the Flatpak, which should work, or build lagrange yourself instead.

Supported Clients: diohsc (pipe into vlc or mpv), Lagrange on Desktop (Windows, macOS, Flatpak, & self-built w/ mpg123)

Unsuported Clients: GemiNaut, Lagrange on iOS & Android, Kristall, Rosy Crow

Buggy Clients: Lagrange AppImage

Client Problems

If your client starts playing but then times out, then you can look in settings to disable this timeout, or request that the developer change the implementation so that timeouts only apply when no data has been received for a given period of time.

Some clients, like GemiNaut, will timeout if the connection hasn't been closed by the server within a given time (aka. if the file hasn't downloaded within a given time). This assumes that all files take a specific period of time to download, which is a faulty assumption, especially for users with very slow connections that can't even download a text file within that given time. This is a naive implementation that developers should fix by only timing out based on the period of time that the client has not been given any data. This allows both very slow connections and the downloading of binary and large text files to work.

If your client tries to download infinitely without playing, that means the client is waiting for the connection to close before displaying/playing the file. You can try to look in settings for a streaming option, or request that the developer change this so that data is displayed/played as it comes in. This change is compliant with the spec, as per Section 1.1:

Note that clients are not obligated to wait until the server closes the connection to begin handling the response. This is shown above only for simplicity/clarity, to emphasise that responsibility for closing the connection under typical conditions lies with the server and that the connection should be closed immediately after the completion of the response body.

Gemini Specification

In fact, this addition to the spec was made specifically to allow for streaming:

2020-06-16 A vision for Gemini applications (Solderpunk)

If your client doesn't start playing the music and also times out, then both problems above apply to this client.

AuraGem Music

If you cannot stream the public radio, you can still download music from your personal library on AuraGem Music! Since these files are not infinite streams like the radio, you'll still be able to download files and play the downloads in a media player. Shuffled Stream, however, will still not work as it is a infinite stream of randomly selected pieces/songs from your private library.

AuraGem Music Homepage

Gemini-Supported Media Player Project

I am also announcing that I will be working on a Media Player that uses VLC (libvlc) as the backend and which will support gemini urls and streams. I have not started the project yet, but I intend to very soon. I hope to make it cross-platform on the desktop, but I plan to support Linux first since it does not seem to have a graphical browser that supports audio streams atm (since Lagrange seems to be buggy with this). It would be nice to also get mobile apps, that that requires much more work and I have to pay to get the app in official appstores, so I won't be able to do any of that for a while, unless Skyjake fixes lagrange's audio streaming on mobile.

Schedule

Here is a schedule of which genres play at which times:

PST         | CST         | Weekdays      | Weekends
------------|-------------|---------------|---------------
10 - 11 PM  | 12 -  1 AM  | Ambient       | Electronic
11 - 12     |  1 -  2     | Lofi          | Electronic
12 -  1 AM  |  2 -  3     | Cinematic     | Calm Piano
 1 -  2     |  3 -  4     | Acoustic      | Ambient
 2 -  3     |  4 -  5     | BeOS Music    | Lofi
 3 -  4     |  5 -  6     | World         | World
 4 -  5     |  6 -  7     | Classical     | Classical
 5 -  6     |  7 -  8     | Classical     | Classical
 6 -  7     |  8 -  9     | Jazz          | Jazz
 7 -  8     |  9 - 10     | "Pop"         | Cinematic
 8 -  9     | 10 - 11     | Rock          | Acoustic
 9 - 10     | 11 - 12     | "Pop"         | Blues
10 - 11     | 12 -  1 PM  | Rock          | "Pop"
11 - 12     |  1 -  2     | Any           | Rock
12 -  1 PM  |  2 -  3     | Any           | "Pop"
 1 -  2     |  3 -  4     | Any           | Rock
 2 -  3     |  4 -  5     | Any           | Any
 3 -  4     |  5 -  6     | Any           | Any
 4 -  5     |  6 -  7     | Blues & Jazz  | Blues & Jazz
 5 -  6     |  7 -  8     | "Pop"         | "Pop"
 6 -  7     |  8 -  9     | Rock          | Any
 7 -  8     |  9 - 10     | Electronic    | Classical
 8 -  9     | 10 - 11     | Calm Piano    | Rock
 9 - 10     | 11 - 12     | Classical     | Electronic

Note that times are fluid as a piece/song can go over the hour mark. Also note that the schedule may change in the future. You can always find updates to the schedule on the official Schedule page here:

AuraGem Music' Public Radio Schedule