LISTEN-moe / feedback

Repo to keep track of feedback, suggestions, and issues with the service.
0 stars 1 forks source link

Listen.moe does not display song metadata in 3rd-party radio apps. #32

Closed ghost closed 1 year ago

ghost commented 3 years ago

Please describe the problem you are having in as much detail as possible:

In 3rd-party generic internet-radio apps that connect straight to stream URLs instead of going through Listen.moe API, song names and artists are not displayed.

When connect to Listen.moe listen

When connect to another radio: anison

This is probably caused by Listen.moe not including metadata tags in stream URL (or something like that, I'm not an expert). I would like to request Listen.moe devs to make the site more friendly to 3rd party radio apps.

ghost commented 1 year ago

I wonder if anyone even read this.

Pitu commented 1 year ago

Unfortunately, metadata is not carried on the stream itself and that's why we provide it over WebSocket. There are no plans to change this in the near future.

ghost commented 1 year ago

Unfortunately, metadata is not carried on the stream itself and that's why we provide it over WebSocket. There are no plans to change this in the near future.

Then how do other radio stations do this? Not just anime station but every other music stations.

Pitu commented 1 year ago

Unfortunately, metadata is not carried on the stream itself and that's why we provide it over WebSocket. There are no plans to change this in the near future.

Then how do other radio stations do this? Not just anime station but every other music stations.

Oh I'm not saying it's not possible, I'm saying we don't do it. And probably won't in the near future.

ghost commented 1 year ago

Okay then...

folliehiyuki commented 1 year ago

Unfortunately, metadata is not carried on the stream itself and that's why we provide it over WebSocket. There are no plans to change this in the near future.

The docs website states that metadata is available for Vorbis stream right on the front page https://docs.listen.moe/ (in the Tip section).

A quick run of ffplay shows that metadata is indeed there:

$ ffplay https://listen.moe/stream
...
Input #0, ogg, from 'https://listen.moe/stream':B sq=    0B f=0/0   
  Metadata:
    icy-br          : 256
    icy-description : Delivering the best Japanese and Anime music around the globe!
    icy-genre       : Anime,Jpop,Japan,Asia,Asian
    icy-name        : LISTEN.moe
    icy-pub         : 1
    icy-url         : https://listen.moe
  Duration: N/A, start: 256.569333, bitrate: 256 kb/s
  Stream #0:0: Audio: vorbis, 48000 Hz, stereo, fltp, 256 kb/s
    Metadata:
      track           : 3
      comment         : https://hikarinoakari.com
      genre           : J-Pop
      title           : いやいいや
      artist          : 當山みれい
      year            : 2021
      date            : 2021
      album           : still
      ENCODER         : Liquidsoap/1.3.7 (Unix; OCaml 4.07.1)
 258.83 M-A: -0.000 fd=   0 aq=   34KB vq=    0KB sq=    0B f=0/0

The icy-* fields are correctly picked up by most Internet radio apps. Here is a screenshot inside pyradio:

2022-09-26-235113_grim

For some reasons the specification for available fields are really scarce. Here are some documents I could find:

From a couple of radio streams I regularly listen to, the consensus seems to be providing icy-title field (corresponding to StreamTitle in the 3rd link above) either in <artist> - <song_title> or <song_title> - <artist> format. Some examples are:

Since all the common fields are already presented, I don't think adding another one would hurt.

Pitu commented 1 year ago

The docs website states that metadata is available for Vorbis stream right on the front page https://docs.listen.moe/ (in the Tip section).

That's true, my comment was aimed more at the other streams which are more widely used. While some stream data is carried over in the vorbis stream is not complete and not something we are actively maintaining since most of our apps support WebSockets which gives much more and richer information.