Proposta · editor de tablatura

Agarra o acorde, escolhe as cordas

Uma pauta que já se parece com a tablatura final. Dizes que acorde tens na mão esquerda e só indicas que cordas tocas, pela ordem em que as tocas. Os trastes, o nome por cima e o ASCII aparecem sozinhos. Exemplo carregado: a introdução de «Sozinho».

Acorde na mão

Trastes e técnicas

Como sai (o texto que vai para a pré-visualização e para o PDF)


  
Colar uma tablatura ASCII de um site

Experimenta

  1. Dedilhar. Clica no fim da pauta, carrega no chip C e escreve 5 3 2 1 2 3. Cada tecla é uma corda.
  2. Rasgar. Com um acorde na mão, Enter carimba a forma inteira numa coluna.
  3. Repetir. Clica no número de um compasso para o selecionar e carrega ⌘D.
  4. Mesmo padrão, outro acorde. Com o compasso 1 selecionado, ⌘C, carrega no chip Am e depois em «Colar padrão em Am».
  5. Técnica. Esc larga o acorde. Escreve 5, →, 7 na mesma corda e carrega H.
  6. Emendar. Espaço abre uma coluna a meio; ⌘⌫ apaga-a. ⌘Z desfaz tudo.

Porquê este desenho

Quem transcreve uma música que sabe tocar não pensa «corda Sol, traste 2». Pensa «estou em Fá com sétima maior e toco o baixo, depois as três agudas». O editor atual obriga a traduzir isso para coordenadas, célula a célula. Esta proposta guarda o acorde como estado e reduz cada nota a uma tecla.

O que muda face ao editor atual

  • Acorde na mão. Agarras um acorde pelo nome, por uma forma escrita (x32010) ou a partir de uma coluna já escrita. As teclas 1–6 passam a ser cordas. Uma pilha de 6 notas custa um Enter em vez de 6 cliques e 6 números.
  • O nome do acorde escreve-se sozinho por cima da primeira coluna onde o acorde entra. Desaparece a fila de caixas de texto.
  • A pauta parece a saída. Seis linhas contínuas, números em cima das linhas, barras de compasso verdadeiras. As células têm 30 px e servem para dedo.
  • Colunas são texto. Inserir e apagar a meio, selecionar com Shift ou a arrastar, copiar, colar, desfazer.
  • Compassos. A barra é uma coluna como as outras. O número do compasso seleciona-o inteiro e «Repetir compasso» duplica-o, que é o gesto mais comum num dedilhado.
  • Padrão reaproveitado. Colar um compasso copiado com outro acorde na mão troca os trastes e mantém a ordem das cordas.
  • Técnicas (h, p, slide, bend, vibrato) são uma tecla sobre a nota e saem no ASCII como 5h7.
  • Ritmo pelo ouvido. Uma coluna vazia é um silêncio, e «Ouvir» toca a pauta coluna a coluna. Não há durações: o resultado continua a ser tablatura ASCII, que não as tem.

Teclas

TeclaSem acorde na mãoCom acorde na mão
0–9Traste na corda do cursor. Dois dígitos seguidos dão 10–24.1–6 tocam essa corda e avançam. Com Shift não avançam.
EnterVai para o campo do acorde.Carimba o acorde inteiro e avança.
EscLimpa a seleção.Limpa a seleção; depois larga o acorde.
← → ↑ ↓Movem o cursor. → no fim cria uma coluna. Com Shift selecionam colunas.
EspaçoAbre uma coluna vazia no cursor.
|Barra de compasso a seguir ao cursor.
⌫Apaga a nota. Com seleção, apaga as colunas. ⌘⌫ apaga a coluna.
H P S \ B VHammer-on, pull-off, slide a subir, slide a descer, bend, vibrato na nota do cursor.
G / LAgarra a coluna como acorde / põe ou tira o nome do acorde por cima.
⌘C ⌘X ⌘V ⌘D ⌘ZCopiar, cortar, colar, repetir, desfazer (⇧⌘Z refaz). Em Windows, Ctrl.

O que custa pôr isto na aplicação

  • core/tab-model.ts: TabEvent ganha bar?: true e TabNote ganha tech? (o artic por evento não chega para uma pilha). modelToAscii passa a escrever | e os símbolos. Meio dia, com testes.
  • core/parse-ascii-tab.ts: deixar de deitar fora barras e h p / \ b ~, para o que se cola de sites não se perder. Meio dia.
  • src/client/tab-editor.ts: reescrita. As operações puras (inserir, apagar intervalo, colar, repetir compasso, carimbar, dedilhar, desfazer) ficam testáveis em Vitest; o desenho e o teclado são os deste protótipo. Dois a três dias.
  • core/chords.ts: já tem frets por acorde, na mesma ordem (6.ª → 1.ª). Serve de biblioteca para agarrar pelo nome, junto com os acordes extra da música.
  • src/client/styles.css: os estilos em linha passam a classes com os tokens existentes (--brand, --line). src/client/ext/tab-node.ts só precisa de passar a lista de acordes da música.
  • e2e/tab-flow.mjs e os testes de tablatura atualizam-se. O PDF não muda enquanto continuar a imprimir o ASCII.
  • «Ouvir» é opcional: cerca de 40 linhas de Web Audio, mais meio dia.

No total, quatro a cinco dias. Pode entrar em duas partes: primeiro colunas, compassos e técnicas; depois o acorde na mão.

Limites do protótipo

  • A biblioteca tem cerca de 30 acordes abertos e os quatro desta introdução. Um nome desconhecido pede a forma.
  • «Colar padrão» mantém as cordas. Quando o novo acorde não usa uma corda, a nota sobe para a corda seguinte que soa (o baixo de Fá na 6.ª passa para a 5.ª em Lá menor). É uma regra simples e pode pedir um retoque.
  • Selecionar a arrastar só funciona com rato; no telemóvel usa-se o número do compasso.
  • Nada é guardado: recarregar a página repõe o exemplo.