đŸŽ›ïž AudioLab para Jellyfin

Equalizador de 10 bandas, loudness igualado e limitador de pico — tudo dentro do navegador.

Plugin nĂŁo oficial, sem vĂ­nculo com o projeto Jellyfin.

đŸ“ș Primeiro: o que Ă© o Jellyfin?

É um servidor de mĂ­dia livre e de cĂłdigo aberto. VocĂȘ guarda seus filmes, sĂ©ries e mĂșsicas numa mĂĄquina sua — um PC velho, um mini servidor, um NAS — e assiste de qualquer aparelho, pelo navegador ou por aplicativo.

Não tem conta obrigatória, nem mensalidade, nem recurso preso atrás de assinatura. É a alternativa livre ao Plex, e convive com ele: os dois podem ler a mesma pasta de mídia.

O AudioLab Ă© um complemento para ele. Se vocĂȘ ainda nĂŁo usa Jellyfin, o plugin nĂŁo tem onde rodar.

🎧 O problema que ele resolve

O player de mĂșsica do Jellyfin no navegador nĂŁo tem equalizador. TambĂ©m nĂŁo iguala o volume entre faixas: um ĂĄlbum masterizado baixo entra abafado depois de um single moderno, e vocĂȘ corrige no volume, faixa a faixa.

O AudioLab acrescenta as duas coisas — e um limitador para que nada estoure quando vocĂȘ levanta os graves.

⚙ O que ele faz

Equalizador de 10 bandas

Bandas espaçadas por oitava, de 31 Hz a 16 kHz, com 28 presets prontos — de Rock e Jazz a Podcast, Fones e Escuta Noturna — mais o seu, ajustado à mão.

Loudness igualado

Trocar de preset não muda o volume percebido. A compensação é calculada como a norma BS.1770 ouve, não pelo pico do sinal.

Limitador com antecipação

Um limitador de verdade, com lookahead — não um cortador. Ele segura o pico antes de ele acontecer, em vez de ceifar a onda depois.

Tudo no seu navegador

O processamento acontece na sua mĂĄquina. O servidor sĂł entrega o cĂłdigo; nenhum ĂĄudio seu Ă© enviado para lugar nenhum.

🔬 Por que nĂŁo Ă© sĂł mais um equalizador

Quase todo equalizador de navegador trata as bandas como se fossem independentes. Elas nĂŁo sĂŁo — filtros vizinhos se sobrepĂ”em, e o resultado que vocĂȘ ouve nĂŁo Ă© a curva que vocĂȘ desenhou.

+12,4 dB Ă© o que a soma ingĂȘnua produz em algumas frequĂȘncias quando vocĂȘ pĂ”e todas as bandas em +6 dB. Um erro medido de 6,4 dB.
0,0085 dB Ă© o desvio mĂĄximo do AudioLab em toda a banda audĂ­vel. Ele resolve a matriz de interação entre os filtros (Levenberg–Marquardt) para que a resposta medida seja a curva pedida.
−0,04 LU Ă© a diferença de volume percebido entre o preset Rock e o som plano. Pop fica em −0,08 LU e Bass Boost em +0,16 LU: vocĂȘ troca o timbre sem trocar o volume.

E quando nĂŁo dĂĄ para funcionar, ele avisa

Transmitindo para uma TV, no AirPlay, num stream bloqueado por CORS ou em HLS no Safari, o botĂŁo fica cinza e diz o motivo — em vez de fingir que estĂĄ ligado. E existe um vigia: se a cadeia de ĂĄudio emitir silĂȘncio enquanto a mĂșsica deveria tocar, ele abandona o processamento e liga o som direto. VocĂȘ perde o equalizador, nunca a mĂșsica.

Cada nĂșmero acima Ă© reproduzĂ­vel: o repositĂłrio guarda a medição, a data e o comando de cada um — inclusive os que provaram o autor errado.

📩 Como instalar

SĂŁo dois caminhos. O primeiro Ă© melhor, mas exige que vocĂȘ administre o servidor; o segundo funciona em qualquer Jellyfin, inclusive o de outra pessoa.

Caminho A — como plugin (vocĂȘ administra o servidor)

  1. No Jellyfin, abra Painel → Plugins → Repositórios e clique em +.
  2. DĂȘ um nome qualquer ao repositĂłrio e cole este endereço:
https://raw.githubusercontent.com/souonata/jellyfin-audiolab/main/manifest.json
  1. VĂĄ em CatĂĄlogo, instale o AudioLab e reinicie o Jellyfin.
  2. No navegador, recarregue forçando o cache: Ctrl+Shift+R (ou Cmd+Shift+R no Mac).

O plugin nunca escreve dentro da pasta do Jellyfin: ele acrescenta a própria tag de script à resposta da pågina, enquanto ela é enviada. Por isso uma atualização do servidor não o apaga, e instalaçÔes em Docker com pasta somente leitura funcionam normalmente.

Caminho B — como userscript (não precisa do servidor)

  1. Instale a extensĂŁo Tampermonkey ou Violentmonkey no seu navegador.
  2. Baixe o arquivo audiolab.user.js da Ășltima versĂŁo publicada e abra-o: a extensĂŁo oferece a instalação.
  3. Abra o Jellyfin e recarregue a pĂĄgina.

É o mesmo cĂłdigo do plugin. Esta Ă© a Ășnica opção quando vocĂȘ usa um servidor que nĂŁo administra.

⚠ Use HTTPS

O limitador Ă© construĂ­do sobre o AudioWorklet, que sĂł existe em contexto seguro. Em http:// puro o equalizador continua funcionando, mas o limitador nĂŁo carrega — e como a margem cai para uma regra conservadora, os presets soam audivelmente mais baixos: −2,6 LU contra −0,04 LU no preset Rock.

▶ Como usar

  1. Abra o Jellyfin no navegador e comece a tocar uma mĂșsica.
  2. Abra o painel do AudioLab pelo controle que aparece no player.
  3. Escolha um preset. Se for o primeiro teste, compare Flat com Rock: a diferença deve ser de timbre, não de volume.
  4. Para ajustar Ă  mĂŁo, mexa nas dez bandas e salve como Custom.

Se o controle aparecer cinza, ele diz o porquĂȘ ao passar o mouse — normalmente Ă© transmissĂŁo para outro aparelho ou uma pĂĄgina servida sem HTTPS.

🙋 O que ainda não foi testado

Ser especĂ­fico vale mais que soar confiante: Safari em iPhone real e navegadores em Android real nĂŁo foram testados. O ambiente emulado passa na suĂ­te inteira, mas um usuĂĄrio relatou silĂȘncio num aparelho fĂ­sico que nĂŁo foi possĂ­vel reproduzir.

O vigia que desliga o processamento e devolve o som direto existe por causa desse relato. Se acontecer com vocĂȘ, abrir uma issue no repositĂłrio ajuda.