Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lossless Radio Stations CSV #195

Open
amski1 opened this issue Jun 6, 2023 · 15 comments
Open

Lossless Radio Stations CSV #195

amski1 opened this issue Jun 6, 2023 · 15 comments

Comments

@amski1
Copy link

amski1 commented Jun 6, 2023

Mostly stations collected from https://www.hiresaudio.online/cd-quality-internet-radio/ but also some that I found scouring the web.

If any stations do not play, they either went quiet and I'm still waiting until they perhaps show up again, or they need to reboot their streaming server. I try to update this list often. Some stations may not work if you use a VPN.

I have removed stations that don't stream in OggPCM or FLAC, the truly lossless formats.

But then again, care has to be taken even when judging FLAC because some stations will use an EQ that cuts off high frequencies (happened on Radio 2.0 from Italy), others will just up-sample mp3.

For example, Punk Rockers Radio streams in FLAC, if you test the spectrum of it, it cuts off at 16KHz. Another station - Dance Wave Retro - streams at 14KHz. I'm sorry, but that's mp3 128kbps territory. The only explanation is that it's up-sampled from lower quality.

So if you'd like to check the quality of a playing stream, record a little bit of it in Audacity, export as WAV, then drag & drop into Spek. I would consider anything that registers below 20KHz to be an up-sample. However, it does happen that a single song or two are played in lower quality, then all of a sudden true lossless plays and so the station still counts as lossless, so we need to be careful with judgement.

🔹 Note on m3u8 "stations"... I know VLC and MPV play these, Foobar2000 needs a component, I do not know about MPlayer, you tell me.

🔹 Note on La Radio de La Mer, VLC doesn't like its expired certificate so it may not play, Foobar2000 has an option to suppress this.

🔹 Note on La SuperSonica, Foobar2000 doesn't like it.

If you think you can help me make corrections to this list, please let me know. Perhaps a station that I missed / misjudged needs to be included, or removed.

Sorted alphabetically by station name.

Enjoy,

stations.csv - updated June 6, 2023

Excel file with stations that didn't make the cut (in red)

@amski1 amski1 changed the title CD Quality Radio Stations CSV Lossless Radio Stations CSV Jun 6, 2023
@s-n-g
Copy link
Collaborator

s-n-g commented Jun 7, 2023

Ho @amski1

Thank you very much for creating this list of stations!
It is awesome!

I can confirm that all stations in the list do play correctly using pyradio (tested with mpv).

It would be great if you could publish it as a github repo, and more importantly maintain it, so that users can download and benefit from it. What do you think of this idea?

@s-n-g
Copy link
Collaborator

s-n-g commented Jun 7, 2023

If you think you can help me make corrections to this list, please let me know. Perhaps a station that I missed / misjudged needs to be included, or removed.

I think I probably do not have the knowledge (surely not the time) to help you with that, but I will leave this issue open, so hopefully someone else will :)

I have pinned the issue, maybe add a "[Help wanted]" at the title?

@s-n-g s-n-g pinned this issue Jun 7, 2023
@amski1
Copy link
Author

amski1 commented Jun 7, 2023

Hey, thank you for taking the time to check it out and reply. I probably should create a repo and not piggy-back here. It'd be a more responsible way of doing it. I will get to it, just not sure if it'll be today.

As I understand it, I ought to be able to create a pull request if I have my own repo, correct?

@s-n-g
Copy link
Collaborator

s-n-g commented Jun 7, 2023

just not sure if it'll be today.

Don't worry about it, take your time

As I understand it, I ought to be able to create a pull request if I have my own repo, correct?

Creating a pull request has nothing to do with you creating a repo for this list of stations.

The way it works is, after you create a repo, anyone can clone it (github calls it fork it), then he can change anything in their copy and submit a PR to you, to either accept their changes (merge them to your original repo) or decline them.

You just go on and create a repo with the list and we'll get back to it then.

Just a suggestion; do not call the CSV file stations.csv, give it another name, maybe lossless.csv or something.

@amski1
Copy link
Author

amski1 commented Jun 7, 2023

Isn't it better for me to fork Pyradio repo and submit a Pull Request? If not, then I will stick to creating my own.

If I rename it to lossless.csv, how will Pyradio know which file to load? By default it loads stations.csv, therefore you can just replace the file in the Pyradio folder and have it loaded.

@s-n-g
Copy link
Collaborator

s-n-g commented Jun 7, 2023

There are two or three ways to load a different playlist.

  1. You can just load it, press "o" and select it (it has to be in ~/.config/pyradio

  2. The you can set it to "always reload the last opened playlist", press "c" and you'll see it there.

  3. You can change the default playlist in the config, again with "c".

Now, regarding this lossless.csv there are a couple of ways to get it:

  1. pack it with pyradio
  2. let the user know about it and how to download it and such

We'll have to think about it

For the time being, just create the repo and we'll go from there

@amski1
Copy link
Author

amski1 commented Jun 7, 2023

Good to know about the "o" and "c"

@s-n-g
Copy link
Collaborator

s-n-g commented Sep 19, 2023

Just a something to consider...

Using the following script, I created a CSV file which contains groups, using the third column from the xlsx file as a group name... Manipulating these comments will probably give better result

import pandas as pd
from numpy import nan
import csv

print('Reading "ALL.Stations.xlsx" ... ', end='', flush=True)
x = pd.read_excel("ALL.Stations.xlsx")
d = x._data.as_array()

out = {}

for n in d:
    index = n[2]
    if index is nan:
        if 'Stations' in out:
            out['Stations'].append([n[0], n[1]])
        else:
            out['Stations']=[[n[0], n[1]]]
    else:
        # index = index[:40]
        if index in out:
            out[index].append([n[0], n[1]])
        else:
            out[index]=[[n[0], n[1]]]

llist = []
for n in out.keys():
    if n != 'Stations':
        llist.append([ n, '-' ])
    for k in out[n]:
        llist.append([k[0], k[1]])
out = None

# for n in llist:
#     print(n)

print('done\nWritting "Lossless-grouped.csv" ... ', end='', flush=True)

with open('Lossless-grouped.csv', 'w', encoding='utf-8') as csvfile:
    wr = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
    for n in llist:
        wr.writerow(n)

print('done')

This is what it looks like...

2023-09-19_18-00

And this is the resulting file...

Lossless-grouped.csv

Thoughts?

@amski1
Copy link
Author

amski1 commented Sep 19, 2023

Hey, by all means, if you want it - go ahead. Though I think the groups will kill you, because reasons change all the time.

@amski1
Copy link
Author

amski1 commented Sep 19, 2023

This is completely off-topic, but where can I submit a theme I created?

@s-n-g
Copy link
Collaborator

s-n-g commented Sep 19, 2023

This is completely off-topic, but where can I submit a theme I created?

Why don't you create a new issue?
Just for clarity 😉

@amski1
Copy link
Author

amski1 commented Sep 19, 2023

True

@Scary-Guy
Copy link

Mostly stations collected from https://www.hiresaudio.online/cd-quality-internet-radio/ but also some that I found scouring the web.

If any stations do not play, they either went quiet and I'm still waiting until they perhaps show up again, or they need to reboot their streaming server. I try to update this list often. Some stations may not work if you use a VPN.

I have removed stations that don't stream in OggPCM or FLAC, the truly lossless formats.

But then again, care has to be taken even when judging FLAC because some stations will use an EQ that cuts off high frequencies (happened on Radio 2.0 from Italy), others will just up-sample mp3.

For example, Punk Rockers Radio streams in FLAC, if you test the spectrum of it, it cuts off at 16KHz. Another station - Dance Wave Retro - streams at 14KHz. I'm sorry, but that's mp3 128kbps territory. The only explanation is that it's up-sampled from lower quality.

So if you'd like to check the quality of a playing stream, record a little bit of it in Audacity, export as WAV, then drag & drop into Spek. I would consider anything that registers below 20KHz to be an up-sample. However, it does happen that a single song or two are played in lower quality, then all of a sudden true lossless plays and so the station still counts as lossless, so we need to be careful with judgement.

🔹 Note on m3u8 "stations"... I know VLC and MPV play these, Foobar2000 needs a component, I do not know about MPlayer, you tell me.

🔹 Note on La Radio de La Mer, VLC doesn't like its expired certificate so it may not play, Foobar2000 has an option to suppress this.

🔹 Note on La SuperSonica, Foobar2000 doesn't like it.

If you think you can help me make corrections to this list, please let me know. Perhaps a station that I missed / misjudged needs to be included, or removed.

Sorted alphabetically by station name.

Enjoy,

stations.csv - updated June 6, 2023

Excel file with stations that didn't make the cut (in red)

I came up with a possible solution in issue 267

If implemented you wouldn't need to keep posting it here, but you would need to change the name of the .csv file to avoid conflicts... which I just thought of a solution for.

@Scary-Guy
Copy link

We can rename it, no problem. S-N-G said to name it lossless.csv. I was considering abandoning it, because I doubt anyone, but myself, uses that list. I started working on an update yesterday (12/29/24), but the list is longer now and takes more time, so I will be done either today or tomorrow.

Cool, if you set up a Github and stick it in there then I can at the very least set up a cronjob to fetch it periodically.

(Moved discussion of that back here as the other thread is specifically meant for the repository system itself.)

@amski1
Copy link
Author

amski1 commented Jan 2, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants