Ferramentas · No ar
AudioLoop
Uma rádio que compõe música sem parar.
Rádio generativa no navegador: cinco estações de música sintetizada na hora, que não vira laço, com semente para tocar a mesma música de novo e link para compartilhar.
Sobre o projeto
O que é AudioLoop
O AudioLoop é uma rádio que compõe a música enquanto toca. Você liga, escolhe uma das cinco estações (Madrugada, Névoa, Neon, Pixel ou Jardim) e ela vai inventando acordes, baixo, melodia e batida compasso a compasso, sem fim. Não existe arquivo de áudio: cada nota é sintetizada no navegador com a Web Audio API.
A música nasce de uma semente, que é um texto qualquer. A mesma semente na mesma estação toca sempre as mesmas notas, no mesmo ritmo e com os mesmos timbres, então um link leva quem o recebe para a música que você ouviu. Sem semente, a rádio sorteia uma, e você guarda as que gostar.
Ela é irmã do Wave Radio: lá a trilha vem de vídeos de terceiros e o painel imita um rádio de madeira; aqui nenhum som existe antes de você apertar o botão.
Recursos
O que o AudioLoop faz
Cinco estações
Madrugada (lofi), Névoa (ambiente), Neon (synthwave), Pixel (chiptune) e Jardim (zen). Cada uma tem os seus andamentos, escalas, timbres e instrumentos.
Semente
Escreva uma frase, sorteie uma ou use a do dia. A mesma semente e a mesma estação tocam sempre as mesmas notas, em qualquer aparelho.
Não vira laço
A tonalidade, os acordes e os instrumentos mudam de seção em seção, e a melodia é nova a cada frase de dois compassos. Em 4.000 compassos de cada estação, nenhum trecho de 8 compassos se repetiu.
Link para a mesma música
O botão de copiar monta um endereço com a estação e a semente. Quem abrir o link toca a mesma música.
Músicas guardadas
O botão Gostei guarda a estação e a semente (até 30) no seu navegador, com a lista para tocar de novo ou apagar.
Timer de sono
Desliga em 15, 30, 60 ou 120 minutos, com o volume descendo nos últimos 20 segundos. O horário de fim vale mesmo com a aba escondida.
Baixar um trecho em WAV
Renderiza 30 segundos, 1 minuto ou 2 minutos da mesma música, no seu aparelho, e entrega um arquivo WAV de 16 bits.
Andamento e atalhos
O andamento vai de 80% a 120% sem perder o lugar na música, e o teclado liga a rádio, troca de estação e sorteia uma semente nova.
Tecnologias
Por dentro do AudioLoop
Web Audio API
Osciladores, filtros, reverberação por convolução e ruído sintetizam todas as vozes e a bateria. As notas são agendadas 8 segundos à frente no relógio do áudio, e não no do navegador, então uma aba escondida não faz a música falhar.
Compositor puro
A música é uma função da semente e do número do compasso, sem estado e sem Math.random. Por isso ela é infinita, igual em qualquer aparelho e dá para renderizar qualquer trecho sem tocar o que veio antes.
OfflineAudioContext
O arquivo WAV sai do mesmo palco que toca ao vivo, renderizado mais rápido que o tempo real, sem alto-falante.
Canvas e AnalyserNode
O visualizador desenha o espectro do que está tocando, com os freios de animação e de movimento reduzido do sistema.
Medido por script
O comando npm run audioloop:check renderiza cada estação no Chrome e mede pico, volume médio, silêncio e se duas renderizações coincidem. É medida, não audição.
Node, Express e Eta
A mesma base do resto do portfólio, sem etapa de build. O servidor só entrega a página e soma contadores anônimos.
FAQ
Perguntas frequentes
A música é gravada?
Não. Cada nota é sintetizada no navegador a partir de ondas e ruído. Não há arquivo de áudio.
Ela nunca se repete mesmo?
Ela não vira laço: a melodia é nova a cada frase e as seções mudam de tonalidade, de acordes e de instrumentos. A harmonia de uma seção pode voltar mais tarde, porque as combinações são poucas, mas a mesma sequência de 8 compassos não se repete (conferido em 4.000 compassos por estação).
O que é a semente?
Um texto de até 40 caracteres que decide a música: andamento, tonalidade, acordes e notas. Maiúsculas e minúsculas valem igual. A mesma semente na mesma estação toca as mesmas notas.
Soa igual em todo aparelho?
As notas, o ritmo e os timbres são os mesmos. O navegador arredonda a soma das ondas de um jeito um pouco diferente a cada vez, em diferenças muito abaixo do que se ouve, por isso o arquivo WAV de duas exportações não é idêntico bit a bit.
A semente vai para o servidor?
O app nunca a envia. A estação, a semente e as músicas guardadas ficam no seu navegador. A semente só aparece num endereço quando você copia o link para compartilhar, e quem abre o link manda esse endereço ao servidor, como qualquer página. O que o app envia são contagens anônimas (quantas vezes a rádio foi ligada, por exemplo), e nada é enviado com Não rastrear ou Global Privacy Control ligados.
Toca com a aba escondida?
O som é agendado com 8 segundos de antecedência, então a aba pode ficar em segundo plano. Alguns celulares pausam o áudio ao bloquear a tela; se acontecer, a página mostra um botão para continuar.
Qual é a diferença para o Wave Radio?
O Wave Radio toca vídeos de terceiros do YouTube em um painel de rádio retrô. O AudioLoop gera a música no seu aparelho, sem vídeos e sem arquivos de áudio.
Gostou do AudioLoop? Dá para apoiar o trabalho: Me pague um café
Continue explorando
Veja também
Mercado Helper
Listas de compras para usar no celular: adicione vários itens de uma vez, marque com um toque e, se quiser, informe preço e quantidade para ver o total.
Ver projeto No arShareSoFast
Compartilhe um arquivo de até 25 MB por um link curto, com senha e uma carta opcional. Depois de 1 dia, tudo é apagado de verdade.
Ver projeto No arRec2Link
Grave a tela, o áudio, os dois ou só a webcam direto no navegador. O arquivo é comprimido aí mesmo, ganha um link curto e é apagado sozinho em 24 horas.
Ver projeto