Sobre o projeto

abcjs é uma biblioteca JavaScript para renderizar notação musical padrão em um navegador. Ela permite que sites exibam partituras a partir de texto em notação ABC e também pode gerar arquivos MIDI ou reproduzi-los diretamente no navegador. Principais recursos descritos no README: - Renderizar texto ABC como partitura em uma página web, incluindo sites que você não possui, por meio de um script greasemonkey, ou adicionando um único arquivo JavaScript a uma página existente que contenha texto ABC. - Gerar arquivos MIDI e reproduzi-los no navegador. - Transposição: inserir uma string ABC e obter uma nova string ABC em outra tonalidade (introduzido na 6.1.0). - Visualização em grade de acordes semelhante a lead sheets de trad jazz, com opções para apenas acordes ou acordes acima da música padrão (6.6.0). - Tablatura para instrumentos de cordas por meio de uma opção nos parâmetros de renderAbc (6.0.0-beta.36). - Tratamento aprimorado de seções repetidas para padrões de repetição mais complicados (6.6.0). - Estilização do controle de áudio via abcjs-audio.css e um soundfont padrão hospedado pelo projeto. O README observa que a versão 6.7.0 removeu arquivos em test, então imports como `import abcjs from "abcjs/test"` não funcionam mais. A versão 6.6.0 adicionou chordGrid e novo tratamento de repetições. A versão 6.4.0 alterou a criação de acompanhamento de acordes. A versão 6.3.0 alterou a estrutura SVG subjacente para texto superior e inferior. A versão 6.1.2 envolveu cada linha em um elemento `<g>`. A versão 6.0.0 saiu do beta, e a última versão com suporte a midi.js é a 6.0.0-beta.28. O branch padrão foi renomeado para main, e versões antigas foram movidas para um repositório histórico separado. Um roadmap informal para a versão 7.0.0 menciona mudanças de arquitetura: uma API de synth mais clara, uma arquitetura de plugins, um build em TypeScript mantendo suporte a navegadores legados, redução de tamanho, melhor controle de espaçamento, documentação aprimorada do synth e correções de bugs. A documentação está em docs.abcjs.net, os exemplos em examples.abcjs.net, e projetos relacionados estão reunidos na organização abcjs-music. O projeto é apoiado pela BrowserStack e aceita contribuições incluindo documentação, correções de bugs, testes, refatoração, modernização de ferramentas e recursos.