Aplicativo de Gravacao Musical Multi-Faixa — Version 0.1.1
2026-04-13
Musician's Canvas e um aplicativo de gravacao musical multi-faixa para desktops. Ele suporta gravacao de audio a partir de microfones e dispositivos de entrada de linha, gravacao MIDI a partir de teclados e controladores, e mixagem de todas as faixas em um unico arquivo WAV ou FLAC. Um aplicativo complementar, Virtual MIDI Keyboard, fornece um teclado de piano virtual para envio de notas MIDI.
Musician's Canvas foi projetado para facilidade de uso, oferecendo recursos comumente encontrados em estacoes de trabalho de audio digital (DAWs):
Execute o executavel musicians_canvas a partir do diretorio de compilacao ou do local
de instalacao:
./musicians_canvas
Na primeira execucao, o aplicativo abre com um projeto vazio. Voce precisara definir um diretorio de projeto antes de gravar.
Na inicializacao, o aplicativo aplica o tema salvo (escuro ou claro) e, se um diretorio
de projeto foi usado anteriormente e contem um arquivo project.json, o projeto e
carregado automaticamente.
Defina o diretorio do projeto: Insira ou navegue ate uma pasta no campo "Project Location" na parte superior da janela. E aqui que as gravacoes e o arquivo de projeto serao armazenados.
Adicione uma faixa: Clique no botao + Add Track. Uma nova faixa aparece com configuracoes padrao. Se for a unica faixa no projeto e ainda nao tiver sido gravada, ela e automaticamente armada para gravacao.
Nomeie a faixa: Digite um nome no campo de texto ao lado do botao "Options". Este nome e usado como nome do arquivo de audio gravado.

Logo abaixo da barra de menus ha uma barra de ferramentas com botoes de acesso rapido:

O arquivo de projeto (project.json) armazena nomes de faixas, tipos, notas MIDI,
referencias de arquivos de audio e todas as configuracoes especificas do projeto. Os
arquivos de audio sao armazenados no mesmo diretorio que o project.json e sao nomeados
de acordo com suas faixas (por exemplo, My_Track.flac).
Se voce fechar o aplicativo com alteracoes nao salvas, um dialogo de confirmacao pergunta se deseja salvar antes de sair.
Enquanto um projeto estiver aberto, você pode arrastar um ou mais arquivos de áudio suportados do seu gerenciador de arquivos (Windows Explorer, Finder do macOS, gerenciador de arquivos do Linux, etc.) diretamente para a janela do Musician's Canvas para adicioná-los como novas faixas de áudio.
.wav e .flac. Arquivos em qualquer outro formato
são ignorados silenciosamente, e um diálogo no final lista quais arquivos
foram ignorados.Bass Line.wav cria uma faixa de áudio
chamada "Bass Line".Cada faixa pode ser configurada como Audio (para gravacao de microfone/entrada de linha) ou MIDI (para gravacao de teclado/controlador).
Para alterar o tipo de faixa:
Isso abre o dialogo de Configuracao de Faixa, onde voce pode selecionar a fonte de entrada.

Cada linha de faixa fornece os seguintes controles:
Quando um projeto tem exatamente uma faixa e essa faixa ainda nao foi gravada, ela e automaticamente armada para gravacao. Isso se aplica tanto ao adicionar a primeira faixa a um novo projeto quanto ao abrir um projeto existente que tenha uma unica faixa vazia.
O audio gravado e salvo como um arquivo FLAC no diretorio do projeto, nomeado de acordo com a faixa.
Durante a gravacao e reproducao, todos os controles interativos (botoes de faixa, configuracoes, etc.) sao desabilitados para evitar alteracoes acidentais.
Faixas de audio tem o botao Efeitos logo abaixo de Options. Ele abre o dialogo Efeitos da faixa, onde voce monta uma cadeia ordenada de efeitos de insercao para gravacoes nessa faixa:

Tipos incluem Reverb, Chorus, Flanger, Overdrive / distorcao, Amp & cabinet (modelagem de amplificador e caixa: tipo de amp, caixa, ganho, graves/medios/agudos, ar e mistura) e Vibrato (Trêmolo).
Vibrato (Trêmolo) e o “Vibrato” classico de amps Fender (na pratica, trêmolo): uma modulacao periodica de volume. Use Speed para a velocidade da pulsacao e Intensity (Depth) para a profundidade (de um tremor sutil ate um corte total).
Telas do efeito Amp & cabinet:


Os efeitos sao aplicados ao parar a gravacao, apos captura e reamostragem usuais. A configuracao fica em
project.json em audioEffectChain.
Project → Project Settings → Mix Effects lets you build the same kind of ordered effect chain as Track effects (Reverb, Chorus, Flanger, Overdrive / distortion, Amp & cabinet, Vibrato (Tremolo)), but applied to the entire mixed program: when you press Play to hear all enabled tracks together, and when you export with Mix tracks to file (toolbar or Tools menu). The chain is saved in project.json under projectSettings → mixEffectChain.
Project → Project Settings → Aux / Send Bus configures a shared effect chain fed by each track’s Aux send slider (on the track row). The dry mix of all tracks is summed, each track’s post-gain/post-pan signal is scaled by its Aux level and sent through this bus, then the wet aux output is added back to the dry sum before Mix Effects run. Use it for a single shared reverb/delay while keeping per-track insert effects independent.
To reduce harsh digital clipping when processing pushes peaks toward full scale, the effect engine applies a soft limiter to normalized float samples immediately before conversion to 16-bit PCM. The EffectWidget base class documents guardFloatSampleForInt16Pcm() and softLimitFloatSampleForInt16Pcm() for any new real-time code that writes to 16-bit audio.
Each track row includes a compact mixer strip:
Options → Track Configuration also offers Clip trim (non-destructive): Trim start and Trim end skip that many seconds from the beginning and end of the clip for playback, mix, and export without deleting the underlying recording.
MIDI tracks can carry control change (CC) automation stored in the project and in exported .mid files; offline playback and mix use these events when rendering MIDI to audio.
Edit → Undo / Redo (standard shortcuts) apply to mixer and trim changes made on tracks.
Ao lado do mostrador de tempo, a caixa Monitorar audio durante a gravacao envia ou nao a entrada ao vivo para a saida de audio do projeto durante a captura:
A opcao fica no projeto (monitorWhileRecording em project.json). Desligue para reduzir retorno no microfone.
Ao gravar uma nova faixa enquanto outras faixas habilitadas ja contem dados de audio ou MIDI, Musician's Canvas realiza gravacao overdub: as faixas existentes sao mixadas e reproduzidas em tempo real enquanto a nova faixa esta sendo gravada. Isso permite que voce ouca as partes gravadas anteriormente enquanto grava uma nova.
A mixagem das faixas existentes e preparada antes do inicio da captura, de modo que a gravacao e a reproducao comecam aproximadamente no mesmo instante, mantendo todas as faixas sincronizadas.
Musician's Canvas suporta dois backends de captura de audio:
O backend de gravacao pode ser configurado por projeto em Project > Project Settings > Audio.
Musician's Canvas grava na taxa de amostragem nativa do dispositivo de entrada de audio e entao converte automaticamente para a taxa de amostragem configurada do projeto usando reamostragem de alta qualidade. Isso significa que voce pode definir qualquer taxa de amostragem do projeto (por exemplo, 44100 Hz ou 48000 Hz) independentemente da taxa nativa do dispositivo. A conversao preserva o tom e a duracao com exatidao.
Alguns dispositivos de audio (por exemplo, microfones de webcam USB) sao fisicamente mono, mas sao anunciados como estereo pelo sistema operacional. Musician's Canvas detecta isso automaticamente e ajusta a contagem de canais de acordo. Se o projeto estiver configurado para estereo, o sinal mono e duplicado para ambos os canais.
As notas MIDI sao exibidas em uma visualizacao de piano roll na faixa.
Musician's Canvas inclui um metronomo integrado que pode ser usado durante a gravacao para ajudar a manter o tempo. Clique no botao do metronomo na barra de botoes (abaixo da barra de menus) para abrir o dialogo de configuracoes do metronomo:

O dialogo oferece:
Quando o metronomo esta habilitado, ele comeca a tiquetaquear assim que a gravacao realmente comeca (apos o termino da contagem regressiva de 3 segundos) e para quando a gravacao termina.
Clique no botao Play para mixar e reproduzir todas as faixas habilitadas. A dica do botao muda para indicar se ele ira reproduzir ou gravar, dependendo de haver uma faixa armada. Faixas desabilitadas (desmarcadas) sao excluidas da reproducao.
Durante a reproducao, faixas de audio sao decodificadas de seus arquivos FLAC e faixas MIDI sao renderizadas em audio usando o sintetizador FluidSynth integrado. Todas as faixas sao mixadas e reproduzidas pelo dispositivo de saida de audio do sistema.
Clique no botao Stop para encerrar a reproducao a qualquer momento.
Use Tools > Mix tracks to file (Ctrl+M) para exportar todas as faixas habilitadas para um unico arquivo de audio. Um dialogo permite que voce escolha o caminho de saida e o formato:
A mixagem usa a taxa de amostragem configurada do projeto. Faixas MIDI sao renderizadas usando o SoundFont configurado.
Use Settings > Configuration (Ctrl+,) para definir padroes globais que se aplicam a todos os projetos:

recording_debug.txt no diretorio do projeto. Isso inclui o backend de captura, o nome
do dispositivo, a taxa de amostragem, a contagem de canais e dados de temporizacao. Esta
opcao esta desabilitada por padrao e e principalmente util para solucionar problemas de
gravacao.

.sf2 para sintese MIDI. No Linux, um
SoundFont do sistema pode ser detectado automaticamente se o pacote fluid-soundfont-gm
estiver instalado. No Windows e macOS, voce deve configurar o caminho do SoundFont
manualmente.

Use Project > Project Settings (Ctrl+P) para substituir os padroes globais apenas
para o projeto atual. Isso e util para projetos que precisam de uma taxa de amostragem,
SoundFont ou dispositivo de audio especificos. As configuracoes especificas do projeto
sao salvas dentro do arquivo project.json.


The Mix Effects tab is a scrollable list with the same controls as Track effects (Add effect…, drag ≡ to reorder, ✕ to remove). Processing order is top to bottom on the combined mix of all enabled tracks. These effects run during whole-project playback and when mixing to a single WAV or FLAC file; they are not baked into individual track files on disk. An empty list leaves the mixed signal unchanged aside from the mixer's own level handling.
Configure the shared aux effect chain (same effect types as track inserts). Each track’s Aux slider on the track row controls how much of that track’s signal is sent through this bus; the wet aux return is summed with the dry mix before Mix Effects are applied.
| Item do Menu | Atalho | Descricao |
|---|---|---|
| Save Project | Ctrl+S | Salvar o projeto atual no disco |
| Open Project | Ctrl+O | Abrir um arquivo de projeto existente |
| Close | Ctrl+Q | Sair do aplicativo |
| Item do Menu | Atalho | Descricao |
|---|---|---|
| Project Settings | Ctrl+P | Configure project-specific settings (includes Aux / Send Bus) |
| Tempo map | Edit tempo changes (seconds vs BPM) for metronome and MIDI quantization | |
| Add Demo Data to Selected Track | Adicionar notas MIDI de exemplo para demonstracao |
| Menu Item | Shortcut | Description |
|---|---|---|
| Undo | Ctrl+Z | Undo recent mixer/trim edits on tracks |
| Redo | Ctrl+Shift+Z | Redo |
| Item do Menu | Atalho | Descricao |
|---|---|---|
| Configuration | Ctrl+, | Abrir configuracoes globais do aplicativo |
| Item do Menu | Atalho | Descricao |
|---|---|---|
| Mix tracks to file | Ctrl+M | Exportar todas as faixas habilitadas para um arquivo |
| Export stems to folder | One WAV stem per track (gain/pan/trim; no master Mix Effects) | |
| Recording options | Punch-in region for audio; loop playback for the whole project | |
| Quantize MIDI | Snap MIDI note starts to a grid (all MIDI tracks or armed track only) | |
| Add drum track | D | Faixa MIDI de bateria e arquivo .mid (veja abaixo) |
| Virtual MIDI Keyboard | Iniciar o aplicativo de teclado complementar |
| Item do Menu | Atalho | Descricao |
|---|---|---|
| Manual | Alt+M | Abre o manual PDF no idioma selecionado atualmente |
| About | Mostra informacoes de versao e do aplicativo |
| Atalho | Acao |
|---|---|
| Ctrl+S | Salvar projeto |
| Ctrl+Z | Undo (mixer/trim) |
| Ctrl+Shift+Z | Redo |
| Ctrl+O | Abrir projeto |
| Ctrl+M | Mixar faixas para arquivo |
| D | Adicionar faixa de bateria (menu Tools) |
| Ctrl+P | Configuracoes do Projeto |
| Ctrl+, | Configuracoes / Configuration |
| Alt+M | Open PDF manual (Help) |
| Ctrl+Q / Alt+F4 | Sair |
Tools → Add drum track (atalho D) adiciona uma faixa MIDI de bateria no canal 10 General MIDI (índice 9). Nome padrão Drums (com sufixo se necessário).
Um .mid é gravado na pasta do projeto: dois compassos 4/4 (bumbo, caixa, hi-hat fechado). Andamento:
Referências: Audient, MDrummer, Reddit, PDF CS229.
Virtual MIDI Keyboard e um aplicativo complementar (virtual_midi_keyboard) que fornece
um teclado de piano na tela para envio de notas MIDI. Ele pode ser iniciado a partir do
menu Tools > Virtual MIDI Keyboard no aplicativo principal, ou executado
independentemente.

O teclado do computador e mapeado para teclas de piano ao longo de duas oitavas:
Oitava inferior (comecando na oitava atual):
| Tecla | Nota |
|---|---|
| Z | C |
| S | C#/Db |
| X | D |
| D | D#/Eb |
| C | E |
| V | F |
| G | F#/Gb |
| B | G |
| H | G#/Ab |
| N | A |
| J | A#/Bb |
| M | B |
Oitava superior (uma oitava acima):
| Tecla | Nota |
|---|---|
| Q | C |
| 2 | C#/Db |
| W | D |
| 3 | D#/Eb |
| E | E |
| R | F |
| 5 | F#/Gb |
| T | G |
| 6 | G#/Ab |
| Y | A |
| 7 | A#/Bb |
| U | B |
| I | C (proxima oitava) |
| 9 | C#/Db |
| O | D |
| 0 | D#/Eb |
| P | E |
As teclas se iluminam visualmente quando pressionadas (teclas brancas ficam azul claro, teclas pretas escurecem).
Abra o dialogo de Configuracao (Settings > Configuration, Ctrl+,) para configurar dispositivos MIDI e audio:

.sf2 para o sintetizador integrado.| Atalho | Acao |
|---|---|
| Ctrl+, | Dialogo de configuracao |
| Ctrl+U | Ajuda / Informacoes de uso |
| Ctrl+Q | Fechar |
.sf2) para reproducao posterior.As notas aparecem no piano roll. File > Save Project grava um arquivo .mid (e project.json) na pasta do projeto.
A reproducao usa FluidSynth com o SoundFont das configuracoes. Verifique Settings > Configuration > MIDI (ou Project > Project Settings se houver sobrescritas por projeto): e preciso um caminho .sf2 valido. No Linux um SoundFont do sistema pode ser detectado; no Windows e macOS normalmente e necessario escolher o arquivo manualmente.
Sao programas separados. Inicie o Virtual MIDI Keyboard em Tools > Virtual MIDI Keyboard (ou sozinho). Para enviar notas do teclado na tela para o Musician's Canvas ao gravar MIDI, o sistema precisa encaminhar a saida MIDI do teclado para uma entrada usada pelo Musician's Canvas — muitas vezes com cabo MIDI virtual ou portas coerentes nos dois apps. Nao ha conexao automatica.
Settings > Configuration define os padroes globais (tema, idioma, dispositivos MIDI/audio, SoundFont etc.). Project > Project Settings substitui parte disso somente para o projeto atual e fica em project.json. Se um campo permanece no padrao do projeto, vale o valor global da Configuration.
So e aceito com diretorio de projeto definido e sem reproducao ou gravacao em andamento. Formatos suportados: .wav e .flac; outros sao ignorados e listados em um dialogo. Cada arquivo vira uma nova faixa audio com o nome base do arquivo.
O audio e salvo no diretorio do projeto como <nome_da_faixa>.flac (caracteres como / \ : * ? " < > | viram sublinhado). O arquivo de projeto e project.json na mesma pasta. Faixas MIDI viram <nome_da_faixa>.mid ao salvar o projeto (alem das notas em project.json).
Na mixagem ou reproducao, o MIDI e primeiro renderizado para um WAV temporario. Se o caminho do projeto for conhecido, o Musician's Canvas tambem grava um FLAC em cache na pasta do projeto: <nome_sanitizado_da_faixa>.flac (mesmas regras das outras faixas). O nome segue o nome da faixa, nao um ID interno.
Nao. So uma faixa pode estar armada por vez; ela recebe a proxima gravacao. Monte a musica gravando uma depois da outra (overdub toca as faixas existentes enquanto voce grava uma nova).
Nao. Quando ativado, o metronomo sai pelo audio do sistema apenas como referencia. Nao e misturado ao arquivo gravado.
No Windows o aplicativo principal espera um driver ASIO para audio confiavel e de baixa latencia. Instale ASIO4ALL ou o driver do fabricante da interface se aparecerem erros.
No bundle .app, o executavel do Virtual MIDI Keyboard e copiado para dentro de Musician's Canvas.app (Contents/MacOS/) para distribuir uma unica pasta de app. Continue abrindo por Tools > Virtual MIDI Keyboard.
amixer ou as configuracoes de som da sua area de trabalho para verificar os
niveis de volume..sf2) esta configurado em Settings >
Configuration > MIDI.fluid-soundfont-gm estiver instalado.libpipewire-0.3-dev esta
instalado (necessario para integracao do PipeWire com o sintetizador FluidSynth).Consulte o README para instrucoes completas de compilacao para Linux, macOS e Windows, incluindo todas as dependencias necessarias.