Skip to content
אצלי
Go back

Rádio online no Linux: curadoria humana, FLAC e nenhum algoritmo

Close do dial de um rádio antigo, com o mostrador analógico iluminado e os botões de sintonia em destaque
Foto de Jakub Zerdzicki na Pexels

Existe um ponto na vida de qualquer assinante de streaming em que a playlist “feita para você” entrega o mesmo roteiro robotizado de sugestões ou pseudo match sem lógica feito por IA, o YouTube resolve que você quer um mix de lo-fi com um vídeo de dez minutos de música fake ou áudio sem qualidade mesclado com música pasteurizada feita por IA… e você percebe que falta algo além das playlists e artistas de sempre (ou simplesmente a necessidade de surpresa num random real).

A solução tem 25 anos de idade e continua funcionando: rádio na internet. Um humano escolhendo a música, uma URL de Icecast, um player e nada mais. Sem conta, sem cookie de consentimento, sem “descubra semanalmente” feito por IA, tags ou regex de um database por semelhança.

Este artigo é o complemento natural do Qobuz no Linux: lá o assunto era extrair qualidade máxima de um serviço pago sem cliente oficial, aqui é conseguir a mesma disciplina técnica de graça. O parque de equipamentos está em Meu Setup Musical, e a parte móvel dessa história em Transformando antigo smartphone em DAP.

TL;DR

Como rádio online funciona, tecnicamente

Praticamente tudo que você vai ouvir é um servidor Icecast (ou Shoutcast, o veterano proprietário) servindo um fluxo HTTP infinito com um codec de áudio dentro. O player abre a URL, não fecha, e vai decodificando. Metadados de faixa chegam por ICY (Icy-MetaData: 1 no request, blocos de texto intercalados no fluxo) ou, nos casos mais modernos, por HLS com manifesto .m3u8.

Isso importa por um motivo prático: rádio é um fluxo contínuo, não um arquivo. Não existe seek, o buffer é o que separa você de um underrun, e a taxa de bits é fixa durante toda a transmissão.

CodecBitrates típicosComentário
MP3128, 192, 320 kbpsCompatível com absolutamente tudo, eficiência ruim
AAC-LC96 a 320 kbpsMelhor que MP3 no mesmo bitrate, padrão das estações que se importam
HE-AAC (aacPlus)32 a 64 kbpsSBR para segurar agudos em banda baixa, teto de qualidade limitado
Ogg Vorbis96 a 192 kbpsBom, mas metadados em Ogg quebram em vários players e receptores
Opus96 a 128 kbpsMelhor eficiência do lote, suporte irregular em hardware antigo
FLAC sobre Icecast~700 a 1000 kbpsLossless de verdade, 16 bits / 44,1 kHz na prática

Regra de bolso: 128 kbps AAC-LC soa melhor que 128 kbps MP3, e 320 kbps MP3 é bom o suficiente para 99% dos cenários com fone decente. FLAC em rádio existe, funciona, e custa cerca de dez vezes mais banda que o AAC de 128k. Se você paga internet por franquia, faça a conta antes de deixar tocando o dia inteiro.

Indexadores e buscadores de rádio

radio-browser.info

É a infraestrutura invisível de quase todo app FOSS de rádio (Shortwave, Tuner, MusicPod, PyRadio, Strawberry, RadioDroid). Base comunitária, dezenas de milhares de estações, API REST pública, sem autenticação, com mirrors resolvidos por DNS round-robin em all.api.radio-browser.info.

# descobrir os mirrors disponíveis
dig +short all.api.radio-browser.info

# top 20 estações brasileiras, com codec, bitrate e URL resolvida
curl -sG 'https://de1.api.radio-browser.info/json/stations/search' \
  -H 'User-Agent: esli-radio/1.0' \
  --data-urlencode 'countrycodeexact=BR' \
  --data-urlencode 'hidebroken=true' \
  --data-urlencode 'order=clickcount' \
  --data-urlencode 'reverse=true' \
  --data-urlencode 'limit=20' |
  jq -r '.[] | "\(.name)\t\(.codec)/\(.bitrate)\t\(.url_resolved)"'

# só o que transmite em FLAC, no mundo inteiro
curl -sG 'https://de1.api.radio-browser.info/json/stations/search' \
  -H 'User-Agent: esli-radio/1.0' \
  --data-urlencode 'codec=FLAC' \
  --data-urlencode 'hidebroken=true' \
  --data-urlencode 'order=votes' --data-urlencode 'reverse=true' |
  jq -r '.[] | "\(.name)\t\(.url_resolved)"'

# a API cospe playlist pronta, não precisa gerar no braço
curl -s 'https://de1.api.radio-browser.info/m3u/stations/bytag/jazz?limit=30' > jazz.m3u

O mantenedor pede duas coisas: User-Agent descritivo (app/versão) e um GET /json/url/<stationuuid> a cada reprodução, que é como o ranking de popularidade se alimenta. Custa uma linha de curl e mantém a base útil para todo mundo.

Radio Garden

O Radio Garden é o globo giratório com pontos verdes: cada ponto é uma cidade com estações ao vivo, você arrasta o planeta e cai em uma rádio de bairro em Ulan Bator. Nasceu em 2016 em Amsterdã como projeto de pesquisa do Netherlands Institute for Sound and Vision com o Studio Moniker, virou empresa, e hoje passa de 40 mil estações.

Radio Garden aberto no navegador Brave mostrando o globo terrestre em imagem de satélite, coberto por milhares de pontos verdes concentrados na Europa e na costa africana. Um círculo destaca o arquipélago da Madeira e o player inferior toca a Rádio Clube 106.8 FM de Funchal

Dando zoom, o globo vira mapa e cada ponto verde vira uma emissora com nome e cidade. O player fica no canto, o indicador diz LIVE, e não existe nada além disso: sem cadastro, sem recomendação, sem histórico.

Radio Garden com zoom no Mediterrâneo oriental, exibindo Chipre, Israel e o delta do Nilo cobertos de pontos verdes. O card superior direito mostra a Kol Galim FM 106, de Kfar Galim, Israel, tocando ao vivo, e o menu inferior traz as abas Explore, Favorites, Browse, Search e Settings

É uma ferramenta de curiosidade e sem concorrentes. Serve muito bem para achar a estação e depois extrair a URL real no radio-browser ou no fmstream.

Os outros que valem a barra de endereços

ServiçoPara quê
fmstream.orgCerca de 100 mil estações e 200 mil streams, filtra por bitrate e mostra URLs diretas. O melhor para caçar o link cru
Icecast DirectoryO diretório oficial do Xiph, servidores Icecast que optaram por se anunciar
Shoutcast DirectoryO acervo legado, ainda enorme, ainda funcionando
Online Radio Box / Streema / myTunerComerciais, ótimos de SEO, cheios de anúncio e telemetria. Úteis para achar a rádio AM/FM local
TuneInO maior de todos, com plano pago e o hábito de esconder a URL do stream
hiresaudio.onlineLista curada de estações CD quality e hi-res em FLAC, atualizada há anos
Pulham/Internet-Radio-HQ-URL-playlistsPlaylists .m3u prontas com streams de alta qualidade
deroverda/recommended-radio-streamsLista curada de eletrônica, freeform, jazz e ambient, com URLs diretas

As estações que justificam o artigo

Radio Paradise

Fundada em 2000, sem anúncio, sustentada por doação e venda de camiseta. A programação é montada por gente, não por modelo, e o acervo é armazenado em FLAC para não perder qualidade antes mesmo de codificar.

Os canais atuais incluem Main, Mellow, Rock, Global (ex World/Etc), Beyond, Serenity e o Radio 2050. As URLs diretas:

# FLAC lossless com metadados ICY (http de propósito, https quebra o title em vários players)
mpv --no-video http://stream.radioparadise.com/flacm          # Main
mpv --no-video http://stream.radioparadise.com/mellow-flacm   # Mellow
mpv --no-video http://stream.radioparadise.com/rock-flacm     # Rock
mpv --no-video http://stream.radioparadise.com/global-flacm   # Global
mpv --no-video http://stream.radioparadise.com/beyond-flacm   # Beyond

# versões com menos banda
mpv --no-video http://stream.radioparadise.com/aac-320
mpv --no-video http://stream.radioparadise.com/mp3-192

Tem ainda uma API pública de “tocando agora”, útil para widget de barra ou script de notificação:

curl -s 'https://api.radioparadise.com/api/now_playing' | jq '{artist, title, album, time}'
curl -s 'https://api.radioparadise.com/api/now_playing?chan=1' | jq .   # Mellow

A lista completa e sempre atualizada fica em radioparadise.com/listen/stream-links.

Nos meus dotfiles tenho tanto um .xspf com as estações do Radio Paradise (FLAC e com metadados) para o Strawberry quanto um .opml com as mesmas estações para o MusicPod. Um grande problema é que salvar sua playlist de rádios não é fácil: não existe padronização entre os apps para importar e exportar uma lista de estações.

SomaFM

San Francisco, desde 2000, mais de 30 canais, zero anúncio, sustentada por doação mensal dos ouvintes. Groove Salad, Drone Zone, Secret Agent, Deep Space One, Underground 80s e a DEF CON Radio, que praticamente se explica sozinha para este público.

A própria estação documenta a hierarquia de qualidade: os streams de 128k AAC-LC são os melhores, os de 64k HE-AAC vêm logo atrás, e o MP3 de 128k fica em terceiro. Alguns canais têm MP3 experimental em 256k ou 320k. A infraestrutura roda Icecast KH em servidores Ubuntu, o que é uma nota de rodapé simpática para um blog de Linux.

# stream direto
mpv --no-video https://ice5.somafm.com/groovesalad-128-aac
mpv --no-video https://ice5.somafm.com/defcon-128-aac

# gerar uma playlist com o melhor stream de cada canal
curl -s https://somafm.com/channels.json |
  jq -r '.channels[] | "#EXTINF:0,\(.title)\n\(.playlists | max_by(.quality) | .url)"' |
  sed '1i #EXTM3U' > somafm.m3u

As demais que merecem estar no seu .m3u

Um aviso sobre esse último grupo: rádio hi-res gratuita é frágil. A Mother Earth Radio, que transmitia quatro canais em FLAC 24 bits até 192 kHz digitalizando vinil com interface RME, encerrou as operações em 2026 depois de seis anos no ar. Salve suas playlists e não se apegue a uma URL específica.

Para rádio brasileira, o caminho honesto é o radio-browser filtrando countrycodeexact=BR, porque as emissoras nacionais mudam de CDN com uma frequência que não sobrevive a um artigo de blog.

Qualidade: o que chega no seu DAC

Aqui vale exatamente o mesmo raciocínio do artigo do Qobuz. A estação manda 44,1 kHz, o PipeWire roda o grafo em 48 kHz por padrão, e alguém vai reamostrar. Como toda rádio FLAC transmite em 16/44,1, a checagem é rápida:

# o que o servidor está mandando de fato
ffprobe -hide_banner -i http://stream.radioparadise.com/flacm 2>&1 | grep -E 'Audio|Stream'

# cabeçalhos ICY: nome, gênero, bitrate declarado
curl -sI -H 'Icy-MetaData: 1' https://ice5.somafm.com/groovesalad-128-aac | grep -i '^icy'

# o que o kernel entregou ao hardware
cat /proc/asound/card*/pcm0p/sub0/hw_params

# permitir que o grafo mude de taxa em vez de converter
pw-metadata -n settings | grep clock

Se default.clock.allowed-rates incluir 44100, o grafo troca de taxa e o FLAC chega intacto. Se não incluir, você ouve uma reamostragem de 44,1 para 48 kHz o dia inteiro, o que é audivelmente irrelevante para a maioria e insuportável para quem leu até aqui.

Para saída direta, sem passar pelo servidor de som:

mpv --no-video --audio-device=alsa/hw:2,0 http://stream.radioparadise.com/flacm
mpv --no-video --audio-display=no --display-tags=icy-title,icy-name https://ice5.somafm.com/dronezone-128-aac

Gravar o que está tocando também é uma linha, e a responsabilidade sobre o que você faz com o arquivo é inteiramente sua:

mpv --stream-record=sessao.mka --no-video https://ice5.somafm.com/groovesalad-128-aac
streamripper http://stream.radioparadise.com/aac-320 -d ~/Music/rips

Clientes de rádio para Linux

GNOME e GTK

Shortwave é a referência. Sucessor do Gradio, escrito em Rust com libadwaita, consome o radio-browser, tem MPRIS, reprodução em segundo plano, envio para dispositivos Google Cast e gravação automática das faixas em ~/Music. Porém ele não suporta metadados nativos (como capa dos álbuns), apenas tags ICY.

flatpak install flathub de.haeckerfelix.Shortwave
# Arch
paru -S shortwave

Goodvibes é o oposto filosófico: C, GLib, LibSoup, GStreamer e GTK, consumo de memória ridículo, ideal para Raspberry Pi ou máquina velha. Não tem busca, você cola a URL e pronto.

flatpak install flathub io.gitlab.Goodvibes

MusicPod é o mais completo em escopo: rádio, podcast, TV e coleção local no mesmo app. É Flutter com yaru.dart por cima de um front-end para o mpv, mostra icytags e busca capas sob demanda.

flatpak install flathub org.feichtmeier.Musicpod
snap install musicpod

MusicPod com a barra lateral listando Search, Local, Radio e Podcasts, além dos canais salvos do Radio Paradise. No centro, a estação Radio Paradise Rock Mix FLAC+meta identificada como Station, 1442 kbps, OGG, com as tags california, alternative, eclectic, rock e free. O rodapé mostra a faixa exmagician - Keep Your Nose Clean com a capa do álbum

Repare no detalhe que separa o MusicPod da maioria: a capa da faixa vem de uma busca sob demanda a partir da icytag, então mesmo um stream que só manda artista - título em texto acaba com arte na tela. No modo tela cheia isso vira a interface inteira.

Modo tela cheia do MusicPod, com fundo escuro em tom vinho extraído da capa, a arte da faixa exmagician - Keep Your Nose Clean ampliada no centro, o nome da estação Radio Paradise Rock Mix FLAC+meta abaixo e os controles de reprodução centralizados. A barra de tempo marca 64:52:11 de transmissão contínua

O contador de tempo dessa tela é uma boa ilustração do que foi dito lá em cima: 64 horas e 52 minutos não são a duração da faixa, são o tempo que aquele fluxo está aberto. Rádio não tem fim de arquivo.

Ainda no ecossistema GTK, o Rhythmbox tem a aba Rádio desde sempre e foi o player clássico/padrão de muitas distros por um bom tempo. Não busca no radio-browser, mas aceita URL colada, mostra o título ICY na barra superior e toca FLAC sobre Icecast sem reclamar.

Rhythmbox com a aba Radio selecionada na barra lateral, listando 15 estações com título e gênero, entre elas HBR1.com, Kink, Studio Brussel e várias rádios universitárias americanas. A linha selecionada é a URL stream.radioparadise.com/rock-flacm e o cabeçalho mostra Radiohead - 15 Step em reprodução

KDE e Qt

Elisa tem uma visão Rádios nativa, aceita adicionar estação por URL e respeita o esquema de cores do Plasma. A lista embutida é curta, o que na prática significa que você vai colar URLs vindas do radio-browser. Para uso casual no Plasma, resolve.

sudo dnf install elisa
flatpak install flathub org.kde.elisa

Strawberry é a escolha para quem trata rádio com o mesmo rigor do resto da coleção. A barra lateral Radios já traz provedores nativos de Radio Paradise, SomaFM e Radio Browser, além de streams customizados via Playlist > Add Stream. E, como comentei no artigo do Qobuz, as colunas Sample Rate, Bit Depth e Source na mesma linha economizam uma viagem ao /proc. Permite exportar/importar playlists de rádios.

Strawberry Music Player com a barra lateral em Radios, a aba Channels mostrando os provedores Radio Paradise e SomaFM, e a playlist com os cinco streams FLAC do Radio Paradise. A faixa em reprodução, Unbelievable do EMF, exibe 44100 Hz na coluna Sample Rate, 16 Bit em Bit Depth, 933 kbps em Bitrate e FLAC em File Type, com a capa do single ocupando o painel central

São essas quatro colunas que resolvem a discussão sem ffprobe: 44100 Hz, 16 Bit, FLAC, 933 kbps de bitrate instantâneo. Nenhuma estimativa, nenhuma promessa da página da estação, é o que o decodificador está entregando naquele segundo.

sudo dnf install strawberry
# AppImage: https://appimage.github.io/Strawberry/

Em Configurações > Radios você define a qualidade que o provedor do SomaFM vai pedir e como a busca no Radio Browser se comporta. Deixe o SomaFM em Highest, que é o AAC-LC de 128k, e marque Hide broken stations para não encher a lista de URLs mortas.

Tela de configurações do Strawberry na seção Radios, com o bloco SomaFM definindo Stream quality como Highest e o bloco Radio Browser com limite de 100 resultados, a opção Hide broken stations marcada, ordenação padrão By votes e país padrão All countries. A barra lateral mostra as fontes de streaming Subsonic, Tidal, Spotify, Qobuz e Radios

Configuração relevante em Configurações > Backend: Output em alsasink, Device no hw: do seu DAC (nunca plughw:), fading e replaygain desligados.

Amarok voltou dos mortos e merece o crédito. Depois de seis anos parado, saiu o 3.0 em 2024, e o 3.3 “Far Above the Clouds”, de julho de 2025, foi o primeiro totalmente em Qt6 e KDE Frameworks 6, com engine de áudio nova baseada em GStreamer. O 3.3.2, de janeiro de 2026, corrigiu justamente a gravação de URLs de stream em playlists, o que diz bastante sobre quem ainda usa Amarok para rádio. A seção Internet lista streams e podcasts, o gerenciador de scripts injeta listas prontas de estações e o scrobbling para Last.fm continua lá.

sudo dnf install amarok
flatpak install flathub org.kde.amarok

Clementine, o pai do Strawberry e inspirado no antigo amarok. Cantata e outros clientes de MPD entram na categoria seguinte: se o daemon toca, o cliente só controla. E vale uma passada na KDE Store, que tem plasmoides de rádio e listas geradas direto da API do radio-browser (sinceramente, nunca testei e nem tentei achar algo aqui).

Players universais

Fora dos dois campos de desktop, qualquer player decente abre uma URL de Icecast. Os que valem menção:

PlayerPor que está aqui
VLCToca literalmente qualquer coisa, inclusive FLAC sobre Icecast e HLS
AudaciousLeve, cara de Winamp, aba de streams. O fork Fauxdacious trata metadados ICY melhor que o original
DeaDBeeFMinimalista, plugins, saída ALSA direta
Quod Libet, Sayonara, Tauon Music BoxGerenciadores de coleção que aceitam stream na fila
nuclear, odioElectron, ambos consomem o radio-browser, para quem não se importa com 300 MB de RAM
KodiAddons de rádio e do Radio Paradise, o caminho para HTPC e TV

Terminal

PyRadio é o mais completo: TUI em curses, integração com o radio-browser, backends intercambiáveis (mpv, MPlayer, VLC), temas e teclado no estilo vi. Instale pelo repositório da distro ou pelo script oficial, nunca pelo PyPI, que está abandonado.

paru -S pyradio        # Arch
pipx install radio-active   # alternativa em Python, mais simples
cargo install termusic      # TUI em Rust, também toca coleção local

Se você quer o mínimo absoluto, mpv mais fzf mais a API do radio-browser resolvem o problema inteiro em um script:

#!/usr/bin/env bash
# ~/.local/bin/radio - busca no radio-browser e toca no mpv
set -euo pipefail

API='https://de1.api.radio-browser.info'
UA='esli-radio/1.0'
query="${*:-}"

sel=$(curl -sG "$API/json/stations/search" -H "User-Agent: $UA" \
  --data-urlencode "name=${query}" \
  --data-urlencode 'hidebroken=true' \
  --data-urlencode 'order=clickcount' \
  --data-urlencode 'reverse=true' \
  --data-urlencode 'limit=300' |
  jq -r '.[] | [.name, .countrycode, "\(.codec)/\(.bitrate)k", .stationuuid, .url_resolved] | @tsv' |
  fzf --with-nth=1,2,3 --delimiter='\t' --prompt='radio> ') || exit 0

uuid=$(cut -f4 <<<"$sel")
url=$(cut -f5 <<<"$sel")

# contabiliza o clique para a base comunitária
curl -s -o /dev/null -H "User-Agent: $UA" "$API/json/url/$uuid" &

exec mpv --no-video --display-tags=icy-title,icy-name --term-osd-bar "$url"

Duas dependências, nenhuma janela, integra com Waybar via playerctl porque o mpv expõe MPRIS. É o tipo de coisa que sobrevive a três trocas de desktop environment.

MPD como rádio da casa

Se você já roda MPD, rádio é só mais uma entrada na fila, com a vantagem de o daemon continuar tocando quando a sessão gráfica cair:

mpc add http://stream.radioparadise.com/flacm
mpc play
mpc current -f '%name% | %artist% - %title%'

Combinado com Snapcast você tem multiroom sincronizado sem depender de nuvem alguma. E, para quem já montou o cenário do artigo do Qobuz, Lyrion e Music Assistant tratam rádio como mais uma fonte ao lado do serviço pago.

Comparativo

ClienteStackBase de estaçõesDestaqueInstalação
ShortwaveRust, GTK4radio-browserGrava faixas, Chromecast, MPRISFlatpak, AUR, Nix
TunerVala, GTKradio-browserInterface, favoritosFlatpak
GoodvibesC, GStreamerManual (URL)Consumo mínimoFlatpak, deb, AUR
MusicPodFlutter, mpvradio-browserRádio, podcast e local juntosFlatpak, Snap
ElisaQt, KDEManual (URL)Integração com PlasmaDistro, Flatpak
AmarokQt6, GStreamerManual e scriptsStreams, podcast e scrobbling no mesmo lugarDistro, Flatpak
StrawberryQt, GStreamerRP, SomaFM, radio-browserSaída ALSA direta, metadados técnicosDistro, AppImage
PyRadioPython, cursesradio-browserTUI completa, backend trocávelDistro, script
mpv + scriptC, shellradio-browser (API)Zero interface, total controleJá está instalado
MPD + mpcCManual (URL)Headless, multiroomDistro

Rádio online paga existe?

Existe, e o modelo é quase sempre o mesmo: o tier gratuito tem anúncio e bitrate capado, o pago remove os dois.

ServiçoO que a assinatura entrega
DI.FM e a família AudioAddict (RadioTunes, JazzRadio, ClassicalRadio, RockRadio)Sem anúncio e escolha entre 320k MP3 ou 128k AAC. O diferencial para Linux é a listen key, que gera .pls autenticado e toca em mpv, MPD ou Strawberry sem app proprietário
SuperStereo NetworkVirou serviço por assinatura, com canais em FLAC lossless a partir de vinil e SACD
Calm RadioFreemium, centenas de canais de wellness, premium sem anúncio e em qualidade HD
Audiophile.fmAgregador de estações lossless com camada paga e EQ próprio
TuneIn PremiumPaga por esporte, audiolivro e ausência de anúncio, não por bitrate da estação
SiriusXMAssinatura clássica, sem cliente Linux, sobra o web player

O critério prático para quem usa Linux é um só: se o serviço entrega uma URL ou um arquivo .pls autenticado, ele toca em qualquer player desta lista. Se depende de app próprio ou DRM, você volta para a aba do navegador, e aí já sabe o desfecho.

Radio Paradise e SomaFM ficam de fora dessa tabela de propósito pois funcionam e existem devido a doação e não há restrições, ads ou paywall.

No navegador: extensões e PWA

Nem todo mundo quer instalar aplicação para ouvir rádio, e o navegador dá conta.

Extensões existem, a mais completa sendo a Radio Player, disponível para Firefox, Chrome, Edge e Opera, com mais de 20 mil estações, e também na forma de webapp. Tem ainda a TuneYou Radio no Firefox. A ressalva é a de sempre: a maioria dessas extensões é reembalagem da base do radio-browser pedindo permissão para ler todos os sites que você visita. Para tocar música. Pense duas vezes.

PWA é o caminho mais limpo, usando o mesmo truque do artigo do Qobuz: Instalar página como aplicativo no Chromium, e o site ganha janela própria, ícone e, em alguns casos, MPRIS. Os que funcionam bem assim:

Dois merecem parágrafo próprio:

O Radiolise, também acessível em radiolise.gitlab.io, é a interface web mais completa que existe em cima do radio-browser: busca na base comunitária, listas próprias de estações, metadados ICY em tempo real vindos por WebSocket do backend, HLS para canais de TV e um analisador de espectro. É Vue 2 sob AGPLv3, com o código em gitlab.com/radiolise, e dá para subir instância própria com um npx radiolise ou o Docker Compose do repositório, sem depender do servidor de ninguém. Ele não publica manifest nem service worker, então a instalação é exatamente pelo Instalar página como aplicativo do Chromium.

O scrobblerad.io resolve outro problema, o de scrobbling de rádio, que é notoriamente mal resolvido. São mais de 170 estações escolhidas justamente por terem API pública de metadados, incluindo KEXP, WFMU, BBC Radio 6 Music, FIP, Radio Paradise e vários canais da SomaFM. Título e artista passam pelo metadata-filter do Web Scrobbler antes de subir, e o envio ao Last.fm é nativo depois de você autorizar a conta, sem precisar de extensão. Também expõe MediaSession, o que no Linux vira MPRIS, então as teclas de mídia trocam de estação. O código é MIT em HTML, CSS e JavaScript puros, estático o bastante para você hospedar sua cópia copiando arquivos para qualquer servidor web.

Qualquer PWA continua sujeito ao WebAudio na taxa fixa do grafo, normalmente 48 kHz, então o FLAC de 44,1 kHz vai ser reamostrado antes de chegar ao DAC. Exatamente a mesma conclusão a que cheguei medindo o web player do Qobuz, pelo mesmo motivo.

Perguntas rápidas

Rádio online tem qualidade de streaming pago? Em FLAC, sim: Radio Paradise transmite lossless 16 bits / 44,1 kHz, o mesmo do CD e do tier básico de qualquer serviço pago. O que você não tem é escolha de faixa nem catálogo sob demanda.

Qual o melhor bitrate para ouvir no trabalho? 128 kbps AAC-LC. Consome cerca de 55 MB por hora e é transparente o suficiente para fone de escritório.

Dá para usar rádio online sem app nenhum? Sim. mpv URL resolve, e o mpv já está instalado em praticamente toda distro moderna.

Como descobrir a URL real de uma rádio que só tem player web? Procure no radio-browser ou no fmstream primeiro. Se não estiver lá, o DevTools do navegador na aba Network filtrando por media ou m3u8 entrega o endereço em segundos.

Vale pagar por rádio online? Só se o serviço entregar URL ou .pls autenticado, que é o caso do DI.FM. Assinatura que exige app próprio não tem cliente Linux e te devolve para o navegador.

Rádio online rastreia? Os agregadores comerciais sim, com fartura. Um stream direto de Icecast vê seu IP e seu User-Agent, e nada mais. Vale a leitura cruzada com o que já escrevi sobre privacidade aqui no blog.

O que eu uso

No desktop Fedora e EndeavourOS (ambos com KDE), Strawberry, pelo mesmo motivo de sempre: saída ALSA direta e as colunas técnicas visíveis.

Quase sempre Radio Paradise em FLAC e o Radio Garden quando a curiosidade fala mais alto que a qualidade.

Referências


Share this post on:

Next Post
ADS-B on Arch Linux: from an RTL-SDR dongle to a live map, and the installer it took