Augustinus é uma ferramenta poderosa para gerar notação de canto gregoriano no formato .gabc. Ele recebe texto e um modelo como entrada e produz um arquivo GABC contendo a partitura gregoriana completa.
Este projeto é um monorepo que contém a lógica principal, uma interface de linha de comando (CLI), um frontend baseado na web e uma API REST.
- Geração de GABC: Converte texto em notação GABC com base em modelos predefinidos ou personalizados.
- Separação de Sílabas: Posiciona corretamente as notas nas sílabas usando a biblioteca
separador-silabas. - Múltiplas Interfaces: Use-o através da web, CLI ou API.
- Modelos Personalizáveis: Defina seus próprios modelos musicais em formato JSON.
- API Dockerizada: Implante facilmente a API usando o Docker.
Este monorepo está organizado nos seguintes pacotes:
O coração do projeto, este pacote contém a lógica principal para gerar GABC. É responsável por analisar o texto, aplicar modelos e produzir a saída final do GABC.
Uma interface de linha de comando para usar a funcionalidade de geração de GABC. É perfeito para processamento em lote ou integração com scripts.
Uma interface web amigável para o Augustinus. Permite que você insira texto, selecione um modelo e veja o GABC gerado e sua renderização SVG em tempo real.
Uma API RESTful construída com Express que expõe a funcionalidade de geração de GABC por HTTP.
Para começar a usar o Augustinus, você precisará ter o Bun instalado.
-
Clone o repositório:
git clone https://github.com/gigiodelchiaro/Augustinus.git cd Augustinus -
Instale as dependências:
bun install
Para iniciar o servidor de desenvolvimento do frontend:
bun run start:frontendIsso abrirá a interface da web em seu navegador, onde você pode começar a gerar GABC.
A CLI fornece uma maneira poderosa de usar o Augustinus a partir do seu terminal.
Uso Básico:
bun run start:cli -- -t "Seu texto aqui" -m "Oração tom solene"Opções:
-t, --text: Texto de entrada para converter em GABC.-i, --input: Caminho do arquivo de entrada.-o, --output: Caminho do arquivo de saída.-m, --model: Nome do modelo a ser usado.--addOptionalStart: Adicionar início opcional.--addOptionalEnd: Adicionar final opcional.--removeNumbers: Remover números da entrada.--removeParenthesis: Remover parênteses e seu conteúdo da entrada.--separator: Separador entre frases.--removeSeparator: Se for falso, o caractere separador será usado para unir as linhas GABC.
A API permite que você integre o Augustinus com seus próprios aplicativos.
Inicie o servidor da API:
bun run start:apiO servidor será iniciado em http://localhost:3000.
Gerar GABC via API:
curl -X POST -H "Content-Type: application/json" -d '{
"text": "Seu texto aqui",
"modelName": "Oração tom solene"
}' http://localhost:3000/generateO pacote da API inclui um Dockerfile para fácil conteinerização.
Construa a imagem do Docker:
Na raiz do projeto, execute:
docker build -f packages/api/Dockerfile . -t augustinus-apiExecute o container do Docker:
docker run -p 3000:3000 augustinus-apiA API estará acessível em http://localhost:3000.
Contribuições são bem-vindas! Sinta-se à vontade para enviar um pull request ou abrir uma issue.
- Danillo Del Chiaro: por patrocinar o projeto.
- Prof. Dr. Clayton Dias: pela revisão e direcionamento intelectual do projeto.
Um agradecimento especial à Neumz e às pessoas que tornaram o Scribio (nosso renderizador de SVG) possível:
-
Andrew Hinkley, Dominique Crochu e John Anderson do time Neumz.
-
Joshua Guenther: desenvolvedor do Scrib.io.
-
Matthias Bry: por escrever a especificação e depurar o Scrib.io.
E, claro, a todos os contribuidores do projeto Gregorio.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para detalhes.