Repolode
Tonejs

Tonejs/Tone.js

Um framework de Web Audio para criar música interativa e sintetizadores no navegador, com agendamento de transporte no estilo de uma DAW.

Estrelas
14,889
Forks
1,087
Issues abertas
50
Último commit
há 7 dias

O que é?

Tone.js é um framework JavaScript para criar música interativa no navegador com base na Web Audio API. Ele oferece recursos semelhantes aos de uma DAW, como um Transport global para sincronizar e agendar eventos, além de sintetizadores, samplers e efeitos prontos que podem ser conectados entre si.

A biblioteca também oferece componentes de baixo nível para criar sintetizadores, efeitos e sinais de controle personalizados. O tempo pode ser especificado em unidades musicais, como "8n" ou "1m", ou em segundos, e os callbacks recebem tempos com precisão de amostra para o agendamento. Arquivos de áudio podem ser carregados com Player e Sampler, que alteram a afinação das amostras para preencher os intervalos entre as notas.

Tone.js pode ser instalado via npm e também carregado diretamente do unpkg em uma página HTML. Os navegadores exigem uma interação do usuário antes de reproduzir áudio, então os aplicativos chamam Tone.start() a partir de um handler de clique ou keydown.

Recursos principais

  • 01Transport global para sincronizar e agendar eventos, semelhante à visualização de arranjo de uma DAW.
  • 02Sintetizadores monofônicos e polifônicos prontos, incluindo FMSynth, AMSynth, NoiseSynth e PolySynth.
  • 03Sampler e Player para carregar arquivos de áudio e ajustar a afinação das amostras entre as notas.
  • 04Efeitos integrados que podem ser conectados em série ou em paralelo.
  • 05Parâmetros Signal na taxa de áudio, com rampas e curvas de automação.
  • 06Notação de tempo musical, como "4n" e "8t", além de segundos.

Casos de uso

  • Criar sequenciadores musicais ou drum machines para navegador.
  • Criar música generativa interativa ou visualizações de áudio em uma página web.
  • Prototipar sintetizadores e efeitos com Web Audio.
  • Adicionar instrumentos baseados em samples a um jogo web ou aplicativo de educação musical.

Início rápido

  1. 1

    Instale o Tone.js pelo npm

    npm install tone
  2. 2

    Importe o Tone.js no seu projeto

    import * as Tone from "tone";
  3. 3

    Crie um sintetizador, conecte-o aos alto-falantes e toque uma nota depois que o usuário clicar (chame Tone.start() primeiro)

Antes de usar

  • Os navegadores bloqueiam o áudio até que o usuário realize uma ação, por isso Tone.start() deve ser chamado a partir de um evento do usuário.

Tópicos

#web-audio#music#audio-synthesis#javascript#typescript#scheduling#sampling#samples#synthesis#tone

Perguntas frequentes

O que é Tone.js?
Um framework de Web Audio para criar música interativa e sintetizadores no navegador, com agendamento de transporte no estilo de uma DAW. Tone.js é um framework JavaScript para criar música interativa no navegador com base na Web Audio API. Ele oferece recursos semelhantes aos de uma DAW, como um Transport global para sincronizar e agendar eventos, além de sintetizadores, samplers e efeitos prontos que podem ser conectados entre si.
Tone.js é gratuito? Qual é a licença?
Tone.js é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
Tone.js ainda é mantido?
Manutenção ativa. O último commit de Tone.js foi em 1 de nov. de 2026.
Para que posso usar Tone.js?
Criar sequenciadores musicais ou drum machines para navegador. Criar música generativa interativa ou visualizações de áudio em uma página web. Prototipar sintetizadores e efeitos com Web Audio. Adicionar instrumentos baseados em samples a um jogo web ou aplicativo de educação musical.
Como instalar Tone.js?
Instale o Tone.js pelo npm: npm install tone Importe o Tone.js no seu projeto: import * as Tone from "tone"; Crie um sintetizador, conecte-o aos alto-falantes e toque uma nota depois que o usuário clicar (chame Tone.start() primeiro)
Onde consigo Tone.js?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Tonejs/Tone.js

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Biblioteca Python para teoria musical, composição e criação de esboços de áudio, que permite analisar acordes e escalas e gerar MIDI tocável e som a partir de código.

Recursos de aprendizado#music-theory#music#midi
1,7 mil+1 esta semana84PythonMITAtualizado há 8 dias