Aratu música escrita para tocar e mudar enquanto toca

17. Sons e efeitos

▶ Abrir no Aratu para ouvir e mudar os exemplos

Cada parte tem um som e uma cadeia de efeitos, escrita como o caminho do sinal:

baixo: synth.saw -> lowpass -> reverb
baixo = | dó2 _ dó2 mib2 | fá2 _ sol2 sib1 |
baixo {
  reverb.mix = 0.42
  lowpass.cutoff = 800 Hz
  lowpass.resonance = 0.3
}

Todo número que ajusta um parâmetro também é um controle: o editor desenha um knob ao lado, com a forma do parâmetro (o de cutoff anda em hertz numa escala logarítmica, o de mix de 0 a 1). Girar o knob reescreve o número, então salvar o texto salva a apresentação. Segure Shift para passos mais finos. Um número escrito em outra unidade a mantém: 1.2 kHz gira em quilohertz, 40% em porcentagem.

Os efeitos são os do Manguebyte, e entram na cadeia em qualquer ordem (baixo: synth.saw -> eq -> chorus -> delay); o motor os roda sempre na mesma ordem, do filtro ao delay:

Efeito Parâmetros
a parte volume (0 a 1), pan (-1 esquerda a 1 direita), reverb.mix (quanto vai para o reverb da mixagem, 0 a 1)
highpass, lowpass cutoff (20 a 20000 Hz), resonance (0 a 1)
eq low_gain, mid_gain, high_gain (-24 a 24 dB), low_freq, mid_freq, high_freq, mid_q
drive amount (0 a 36 dB), output, mix, shape (0 suave, 1 macio, 2 duro, 3 dobrado)
bitcrush bits (1 a 16), rate (Hz), mix
compressor threshold, ratio, attack, release, knee, makeup, mix
chorus, flanger, phaser mix, rate, depth, e mais: voices, feedback, stages…
tremolo, autopan rate, depth, shape (0 senoide, 1 triângulo, 2 quadrada, 3 e 4 serra), sync (em tempos)
delay time (em s ou ms), feedback, mix, damping, pingpong, sync (em tempos)

Os sons. Cada som tem um código, escrito no começo da cadeia: baixo: bass.slap -> reverb, drums: drums.808, piano: piano.grand. O painel Sons, ao lado das mensagens em Tocar, lista todos por família (baterias, teclados, teclados de percussão e sinos, cordas dedilhadas, baixos, sopros, sintetizadores), toca um compasso de cada um e põe o código no texto com um clique. Um código que não existe é avisado, com o mais parecido: "seria bass.slap?". Sem código, a bateria, o violão e as cifras escolhem sozinhos.

Alguns sons tocam com o acento: no bass.slap a nota normal é o polegar e a maiúscula é o pop, a corda puxada (| mi2 Mi3 mi2 Mi3 |); no bass.acid a maiúscula abre o filtro, como o accent da TB-303.

Os sons marcados como gravados (pianos, cravo, órgão de tubos, harpa, marimba, vibrafone, xilofone, glockenspiel, kalimba, sinos tubulares, sax tenor, gaita, flauta doce e a bateria acústica) são gravações da Versilian Community Sample Library, em domínio público (CC0), baixadas na primeira vez que uma peça as usa. Enquanto chegam, um som sintetizado parecido toca no lugar.

A bateria gravada do Alesson (drums.alesson) foi gravada por Alesson Queiroz e também está em domínio público (CC0). Bumbo, caixa e ataque são gravações, com várias tomadas de cada um que se revezam; na caixa, a nota fantasma (s) e as dinâmicas mais suaves tocam um toque leve, e os acentos, um golpe mais forte. As outras peças (chimbais, condução, tons) são sintetizadas.

O motor do Manguebyte. Todos os sons do painel tocam pelo motor do Manguebyte, o motor de áudio do ecossistema, que roda no navegador: os gravados num sampler; violões e baixos (guitar.nylon, guitar.steel, bass.finger, bass.slap) em cordas modeladas; o piano elétrico e o sino (keys.epiano, keys.bell) em FM; o órgão (keys.organ) com a sua caixa rotativa, cuja velocidade é organ.rotary (0 parada, 1 lenta, 2 rápida); a 808 (drums.808), o baixo 808 (bass.808), o acid (bass.acid) e os sintetizadores (synth.*). Cada parte tem os seus efeitos no motor, e a mixagem passa por um reverb compartilhado, um compressor de cola e um limitador. A percussão brasileira e o golpe ainda tocam num motor provisório, até o Manguebyte tê-los; se algo der errado numa apresentação, o interruptor do painel Sons desliga o Manguebyte e tudo passa a tocar no provisório.

Um som só toca depois de baixado. Ao apertar Tocar ou Ouvir, o Aratu espera os sons da peça chegarem, e um aviso embaixo da tela mostra quais estão baixando. Um som trocado com a música tocando entra quando chega; até lá continua o anterior. Se um download falhar, ou não responder em 60 segundos, o mesmo aviso diz qual som, por quê, e o que toca no lugar: a cópia do motor provisório ou um som parecido.

Os parâmetros podem mudar por compasso como tudo mais: at bar 16: baixo.reverb.mix = 0.65.