Introdução
Eu sou um programador. Isso significa, basicamente, duas coisas:
- Eu sou preguiçoso.
- Eu levo isso muito a sério.
Se algo puder ser automatizado, será. Se não puder… bem… é porque eu ainda não adicionei complexidade desnecessária.
Um exemplo atual: pessoas normais pegam uma guitarra para expressar emoção. Certa vez eu peguei uma e pensei: “Isso carece de uma central de controle”.
Então, em vez de só tocar música, eu construí… seja lá o que isso for. Parece uma molécula instável. Cada música é, essencialmente, um ambiente de execução imprevisível que, de alguma forma, ainda não colapsou.
Esse é o Loopinarium (ou L∞π∩∆rium, como eu prefiro escrever). Parece uma extensão de mim mesmo, de certa forma.

Dualidade Cerebral
“Você precisa exercitar lógica e emoção juntos para o seu cérebro não colapsar, Marcelo” – Disse a minha psiquiatra. Ela também é neurologista, tornando-a a melhor pessoa pra entender o que raios se passava comigo.
Era uma época sombria, eu tinha ataques de pânico com certa frequência e, ao que parece, episódios de epilepsia (não daqueles em que a língua enrola). O complicado de se avaliar condições como esta é justamente a de estar em um maquinário exatamente quando se tem a crise. Fiz Cintilografia de Perfusão Cerebral, Doppler Transcraniano e até um teste de Rorschach.
Aliás, uma das linhas da conclusão desse teste me chamou muito a atenção: alta inteligência bloqueada emocionalmente. Estaria isso relacionado com o que minha psiquiatra disse?
Eu provavelmente nunca vou entender ao certo. Não segui em frente com os exames, apesar de indicarem algumas linhas desconfortantes. Nunca fui chegado a rótulos, e por anos me esqueci de alguns dos diagnósticos que tive quando criança. Só me lembrei deles depois da febre romantizada de alguns acéfalos na internet, estudando pra passarem na prova de neurodivergência e receberem o certificado que, aparentemente, lhes concede o aval para que continuem sendo imbecis sem serem culpados pelos próprios atos ou falas. Podem agora se esconder atrás de quem realmente precisa de compreensão.
O mundo anda bilateral demais. Tudo vira conflito quando se tem só dois lados. O espectro foi comprimido em lado A e lado B, como um velho disco de vinil. Assim como cegos apaixonados pelo saudosismo musical, se negando a aceitar o fato da música digital ser objetivamente superior ao vinil (olha só a ironia do bilateralismo), existem os cegos apaixonados por rótulos e por fazerem parte de um grupo que não deveria existir da forma como existe hoje.
Me explico melhor, e aproveito pra corrigir o meu bilateralismo musical equivocado. A música digital não é homogênea, pois existem diversos formatos com diferentes taxas de amostragem. Há um ponto onde a taxa de amostragem se mostra tão eficiente aos nossos ouvidos que o mundo musical digital passa a ser equivalente ao analógico. Obrigado, Fourier!
Assim como existe um espectro de taxas de amostragem, e um ponto nesse espectro onde não há mais distinção entre digital e analógico, existe o espectro da neurodivergência, e há um ponto onde seus pertencentes podem ser considerados adultos plenamente funcionais. (Tudo bem que não necessariamente os nerotípicos sejam todos adultos funcionais, mas divago.)
Eu estou exatamente naquele ponto do espectro. Sou um adulto funcional. A bilateralidade da minha forma funcional cria, sim, um certo conflito. Domar esse conflito faz parte da minha essência e existência.
Desde que me entendo por gente, nutro uma paixão pela ciência, em especial por matemática e física. Ali pelos anos 2000, uma nova paixão entrou na minha vida: a música. Não no sentido de ouví-la, mas de usá-la para me expressar.
A Emoção
Naquela época eu aprendi a compor de forma muito simplista. Meu foco era sempre música instrumental. Sonhava em ser compositor de trilhas sonoras, pois poderia viver de música sem que ninguém me reconhecesse na rua. A tolice de pensar que todo músico de sucesso seria reconhecido me levou a um lugar interessante: compor músicas para que eu pudesse dormir.
E lá estava eu, com meu CD tocando minhas singelas trilhas de ninar, torcendo pra não incomodar meus irmãos. Aquilo foi meu sonífero por anos a fio. Tocava violão de dia, escutava minhas musiquinhas de noite.
Eu aprendi a compor usando um software chamado Guitar Pro, o qual também usei para aprender a tocar algumas peças de violão clássico. Eu estava cursando o ensino médio e meu amigo Gustavo não só me ensinou os primeiros passos como também me incentivou a continuar tocando. Ainda me lembro dele me ensinando a tocar a introdução de Original Prankster no nosso primeiro dia.
Meu pai me disse que me daria um violão quando eu aprendesse a tocar bem. Achei alguns estudos de violão clássico do violonista espanhol Fernando Sor e mandei ver. Quando estava aprendendo a tocar Asturias, de outro violonista espanhol, Isaac Albéniz, mostrei ao meu pai o que sabia fazer, ao que ele me disse “Não era bem isso que eu quis dizer sobre tocar bem, era pra ser algo como um sambinha”. Acabei ganhando um violão assim mesmo e continuei aprendendo peças espanholas da forma como conseguia: sem um tutor humano.
Certa vez, comecei a brincar um pouco mais com o software e me aventurei a editar o que tinha nele. Como eu não sabia ao certo as melhores posições pra se tocar algumas passagens das peças, adaptava conforme minhas limitações. Com isso, fui aprendendo a posicionar as notas naquelas seis linhas que representavam as cordas do meu instrumento, que eram muito menos assustadoras do que as cinco linhas misteriosas que as acompanhavam.
A linha do tempo ainda é borrada nessa parte da minha adolescência, mas me lembro de ter visto alguns arquivos na internet com um formato estranho: .mid. Eu procurava músicas de jogos, especialmente Mega Drive e Super Nintendo, e encontrei algumas músicas com esse formato misterioso. Algum tempo pesquisando e logo encontrei um software para abrir os tais arquivos. Minha cabeça explodiu!
O som não era nada demais, mas foi impressionante ouvir exatamente as músicas que me faziam jogar vários jogos. Tudo separado por instrumentos. O software ainda mostrava quais eram as notas, usando um teclado para representá-las.
Foi aí que eu comecei a pegar algumas ideias musicais pra compor minhas canções de ninar. Descobri que o Guitar Pro era capaz de abrir os arquivos .mid, então passei a adaptar algumas músicas para o violão, além de compor.
Houve um ponto em que eu simplesmente não conseguia mais escrever músicas. Provavelmente por falta de estudo formal. Uma faísca apareceu décadas depois, quando eu me deparei com uma interessante forma de expressão musical: looping.
Como eu tinha praticamente zero formação musical, minhas composições eram meramente formadas por alguns poucos acordes e solos bem simples dentro das escalas musicais. Era repetidamente entediante, mas eu gostava porque era meu. Tal qual um peido, minhas músicas praticamente agradavam somente a mim.
E onde entra o looping aí? Simples: com poucos acordes e várias camadas, talvez seria possível criar composições mais agradáveis e que servissem de base para algo que eu aprendi muito a gostar: improvisação musical.
Eu ainda me lembro do dia em que andava com o violão nas costas e avistei um senhor levando sua cachorrinha pra passear. Em vez de um pirulito, ele me ofereceu aulas de violão. Mal sabia eu que ele era o magnífico violonista João Domingues. Nosso interesse comum por Bossa Nova e música brasileira em geral nos transformou de aluno e professor para parceiros musicais em poucos meses.
Conforme eu aprendia a fazer instrumentais com os Songbooks do Almir Chediak, eu também aprendia a passear pelos acordes. A improvisação ainda não é algo natural pra mim, e talvez nunca seja, mas ali eu dei os primeiros passos e nunca mais consegui parar. Uma vez passamos mais de 50 minutos nos divertindo apenas com a música “A Felicidade”. Só paramos porque o celular dele tocou, e a estava fora do tom.
O loop era a desculpa perfeita para a improvisação. Parece que as coisas estavam fazendo sentido. Aquela rigidez agressiva do loop me enjaulava, enquanto a improvisação me libertava. Àquela época eu já estava tocando guitarra, e a variedade de efeitos que saía dos meus pedais me encantava de uma forma que mesmo o violão, o instrumento da minha vida, não era capaz de fazer.
Anos depois e outro amigo entra em cena: o Ingo. Durante a pandemia, estávamos trocando muitas ideias sobre guitarra, já que ele estava aprendendo a tocar. Eu havia me mudado recentemente e precisei vender minha guitarra e os pedais de efeito pra ajudar a custear a mudança. A conversa, mais o fato de que eu não iria mais viajar semanalmente a trabalho por um bom tempo, me animaram a comprar uma guitarra e voltar a tocar. Eu havia levado um pequeno pedal de loop. Podia voltar a me exercitar musicalmente.
Sentindo falta de uma base musical, tratei de estudar um pouco. Comprei um curso sobre teoria musical para quem já toca e outro sobre looping, ambos do guitarrista holandês, e excelente professor, Paul David.
Algumas horas a fio no curso e eu já estava entendendo sobre a estrutura funcional dos loops e me divertindo muito. Ao perceber que era exatamente isso que faltava na minha vida musical, fui atrás de um upgrade e consegui um belíssimo loop station que me possibilitava gravar até seis faixas em estéreo pra cada loop.
Ainda assim, parece que faltava alguma coisa. Eu ligava meus equipamentos e sentia um vazio estranho. Como se fosse algo além da música, e impossível de ser preenchido por ela. Foi aí que me lembrei de algo que, sem querer, iria mudar tudo: o MIDI.
A Razão
Arquivos .mid são, em sua essência, um manual de performance musical, só que voltado a instrumentos, não a músicos. Estranho, não?
Ali início dos anos 80, alguns fabricantes colocavam seus sintetizadores no mercado. Um engenheiro e músico chamado Dave Smith, da Sequential Circuits, propôs algo que uniria os fabricantes: um padrão universal para troca de informações.
A ideia era bem simples: enviar uma mensagem digital de um teclado para um instrumento. A mensagem pode transmitir diversos tipos de comandos, desde a nota a ser tocada e sua intensidade até diferentes parâmetros para serem ajustados no instrumento. Nascia o MIDI. A partitura digital, a grosso modo.
Claro que isso não ficou somente restrito aos sintetizadores. O padrão MIDI ainda é usado amplamente no meio musical. Inclusive no monte de parafernalhas que eu estava acumulando.
Um dos meus dispositivos era um modelador de amplificadores. Como eu tinha espaço limitado na casa, acabei optando por um modelador, em comparação a uma dúzia de pedais e um amplificador. O sinal agora não era mais analógico. Era convertido pelo modelador e alterado conforme eu o programava naquela interface gráfica cheia de blocos. O som era tão decente que eu não me arrependi em nenhum momento de ter migrado pro digital. Talvez por eu nunca ter sido um grande fã de discos de vinil.
Enquanto eu brincava com a interface, notei que diversos parâmetros poderiam ser configurados para ajuste via mensagens MIDI. Além de poder ter controladores extras mandando mensagens pro meu modelador, eu poderia configurar mensagens do meu computador para o modelador por meio de uma interface de áudio que suportava MIDI.
Comecei a brincar com algumas automações sonoras. Os botões que eu pressionava no computador sendo traduzidos em mudanças no modelador me deixavam tão entusiasmados quanto um solo improvisado de blues.
Mas mesmo assim ainda faltava alguma coisa. Como eu me vi brincando de disparar mensagens, acabei me voltando mais a tocar com playbacks. Pra suprir a falta de uma banda, disparava músicas sem a guitarra solo e solava por cima. O loop station ficou encostado.
A bem da verdade, o meu maior problema era a falta de textura pra montar os loops. Nunca fui muito bom em extrair timbres diversos de uma guitarra, e isso se traduzia nos loops. Tentei simular um baixo, mas ficou muito artificial. Foi aí que me lembrei de algo: sintetizadores. Um outro amigo, o Daniba, uma vez me disse que eu iria gostar muito de brincar com sintetizadores. Encontrei um super interessante e comprei.
Eu finalmente entendi o que era um sintetizador. Para um apaixonado por física, um sintetizador é um laboratório disfarçado de instrumento musical. Ele controla oscilações elétricas de diferentes formas: moldando frequências por meio de filtros, manipulando energia por meio de envelopes e criando harmônicos por meio de simulações de fenômenos que obedecem as mesmas equações que descrevem vibrações, ressonância e propagação de ondas na natureza. É um adestrador ondas. Obrigado de novo, Fourier!
Como se não bastasse tudo aquilo, ele vinha com um teclado que mais lembrava uma protoboard, pois não tinha exatamente as teclas de um teclado musical convencional. Em vez de usar a pressão na tecla, aquele sintetizador usava a quantidade de pele que tocava a placa.
Gostar foi pouco, aquilo me fascinou!

O Loop Que Virou o Jogo
Certo dia, em 2024, eu gravei uma sequência bem simples de acordes e comecei a brincar com o sintetizador, na busca por algo na faixa de frequência de um baixo. Gravei a faixa grave, e depois gravei outra faixa com uma sequência ainda mais simples de acordes, ainda no sintetizador.
Coloquei tudo pra tocar e fui testando alguns riffs na guitarra. Gravei-os em três faixas distintas e parti para a escolha do padrão da bateria. Escolhido tudo, apertei “REC” e comecei a brincar.
No meio do take, tive a ideia de ligar o sintetizador e tocar junto. Conforme eu avançava, meu corpo instintivamente tocou a guitarra com a mão esquerda, enquanto a mão direita continuava no sintetizador. Fui levando a música ao longo de quase nove minutos.
O resultado?
Aquela conversa entre a guitarra e o sintetizador colocou um sorriso nos meus ouvidos impossível de ser descrito em palavras. Eu passei dias ouvindo somente aquela gravação, tentando entender o que aconteceu comigo.
Eu entendi que era exatamente esse o meu destino musical, e o meu DNA pseudo-engenheiro imediatamente pensou em transformar a experiência em algo mais condizente com a minha personalidade.
Por muito tempo eu falhei em integrar todos os dispositivos de forma interessante. Tudo soava (com o perdão do trocadilho) muito normal. Usar um computador pra enviar os comandos simplórios, capturar o áudio em uma interface e gravar usando o próprio computador era confiável demais pro meu gosto.
Decidi então ir pelo meu caminho natural e iniciei o rascunho do que seria uma estrutura auto-contida que eu poderia carregar pra fora do meu cubículo, plugar em uma tomada e torcer pra não derreter algum circuito na rede.
Foi aí que nasceu o L∞π∩∆rium. Pelo menos a concepção dele. O ano de 2024 terminou muito bem, mas 2025 se mostrou o pior ano da história da minha família, e o projeto ficou parado. Nos mudamos novamente, mas dessa vez só vendi um violão. O resto foi compactado nas malas.
No final de 2025, finalmente conseguimos nos mudar para uma casa onde eu pudesse ter o meu tão sonhado cubículo. E ainda tinha duas tomadas só pra mim. Que luxo!
Era o cenário perfeito para o projeto tomar forma.
A Estrutura do Projeto
A ideia em si parecia simples: conectar uma cadeia de dispositivos por duas formas distintas: dados e áudio. O fluxo de dados ficou assim:
Looper → Foot Controller → Modeler → Drum Machine → Looper (sim, de novo)
Desmistificando os componentes:
- Looper: peça-chave na composição dos loops. É o equipamento que grava as faixas e as dispara conforme eu sapateio em seus pedais de controle. Ele também é responsável por enviar o tempo da música para todos os outros equipamentos.
- Foot Controller: conjunto de pedais que eu posso programar para enviar qualquer tipo de comando para os equipamentos. Cada um dos seis botões podem ser programados conforme o padrão em que são pisoteados.
- Modeler: modelador de amplificadores e efeitos. O timbre da guitarra é fruto dele. (Não, o timbre de uma guitarra não está na madeira, ou a IKEA teria sua própria linha custom.)
- Drum Machine: um baterista em miniatura. Esse equipamento carrega padrões de bateria e os dispara para acompanhar os loops. É puramente programado via MIDI também (finja surpresa).
Note que o fluxo começa e termina no Looper, formando uma espécie de anel. Esse anel é por onde os dispositivos se conversam. O Looper, por ser o metrônomo, precisa vir primeiro. Do contrário, o restante da cadeia não irá ter a noção correta do tempo.
O protocolo MIDI define um pulso chamado MIDI Clock. Cada 24 pulsos determina uma nota de valor 1/4, ou seja, uma semínima. Fazendo uma conta de padaria, é possível perceber que um segundo em 120 bpm (beats per minute, ou batidas por minuto) equivale a 48 pulsos por segundo (bpm * 24 / 60). Negligenciei essa informação de início, e paguei um belo pedágio depois pra me livrar do débito técnico.
Pois bem, sem o MIDI Clock fluindo pela aparelhagem, a parafernalha toda fica pior do que a banda do Chaves fazendo cover de sertanejo universitário. Configurei o Looper de modo a evitar o temido MIDI echo, quando as mensagens são enviadas em um ciclo sem fim (sim, eu sei que você pensou nessa música), abrindo um portal para a grande inauguração de Black Friday em uma loja de departamentos. No L∞π∩∆rium, o loop fica somente na música.
Em termos de áudio, a conexão ficou assim:
Guitarra → Modeler
Sintetizador → Modeler
Drum Machine → Modeler
Modeler → Looper
Looper → saída de áudio
Apesar de o sintetizador suportar MIDI, ele não entra no anel. Isso porque ele geralmente não está presente quando eu tiro essa tralha toda do meu cubículo e, como em uma estrutura de anel, todos os elementos precisam estar funcionando para que o anel funcione, remover o sintetizador faria com que o sistema falhasse. Deixei o sintetizador conectado via USB a um Raspberry Pi (um computador em miniatura que roda Linux), que também se conecta ao Looper via USB.
O pequeno computador acaba não só sendo um mensageiro, que encaminha uma cópia de tudo o que trafega no anel MIDI pro sintetizador, como também faz as vias de uma central de controle automatizada. É ali que está o cérebro do L∞π∩∆rium.
Instalei nele um software chamado Companion para se integrar com uma superfície de controle, basicamente um painel com botões programáveis (desde seu comportamento até sua aparência). Dessa forma, eu posso ter uma visão de como as configurações atuais estão e ainda disparar comandos para o equipamento todo. O único problema: o Companion não suporta MIDI por padrão, mas existe um plugin que oferece um suporte até decente.
Bom, decente não significa “otimizado para o que eu preciso”. Após tentativas frustradas de estruturar o modo de pensar do L∞π∩∆rium, acabei me dando por vencido e partindo para uma abordagem muito mais conveniente pra mim: escrever o meu próprio plugin. Teria que aprender uma linguagem de programação nova: Typescript. Pra quem já sabe um par de linguagens, aprender uma nova é uma mera questão de tempo.
Escrevendo a Cola
Assim como o cérebro reage a estímulos, dispositivos musicais também precisam reagir ao MIDI Clock. O interessante dessa característica é abrir a possibilidade de usar uma arquitetura orientada à eventos, onde cada MIDI Clock seria um evento. Pra melhorar (ou piorar, dependendo do ponto de vista), ao desacoplar os componentes internos usando mensagens, é possível criar uma arquitetura que bebe da fonte de sistemas distribuídos.
Sistemas distribuídos são bem simples, possuem apenas dois desafios:
2- Entregar a mensagem somente uma vez
1- Entregar as mensagens em ordem
2- Entregar a mensagem somente uma vez
Bem simples! E fica ainda mais fácil quando envolvemos redes de computadores. Estimo que 84,42% dos problemas de desempenho de software que já enfrentei na carreira foram causados por pessoas que subestimaram simplicidades como essa.
Eu não pretendo chegar no nível supremo do sadismo arquitetural e usar microsserviços ou qualquer outra porcaria da moda vendida por influenciadores gananciosos. Enviar mensagens para os componentes usando um barramento em comum torna as coisas menos acopladas. Do contrário, eu criaria um belo espaguete de dependências, com uma alta probabilidade de algumas serem circulares. Até eu tenho limites.
Os eventos que estimulam o comportamento da estrutura toda são basicamente dois: interação via superfície de controle ou mensagens MIDI.
As interações são tão triviais quanto a Segunda Lei de Newton: a ação de pressionar um botão gera uma reação dentro do código rodando no Raspberry Pi. No caso das mensagens MIDI, elas são interceptadas diretamente pelo Raspberry Pi, decodificadas e convertidas em mensagens internas cujos componentes compreendem e atuam conforme o conteúdo.
Vale lembrar que, no caso dos pedais de controle, eles enviam mensagens MIDI diretamente de dentro do anel, mas elas são endereçadas ao próprio Raspberry, que irá fazer o mesmo processo de conversão. Ele é basicamente um diplomata.
As mensagens MIDI, em sua maioria, tem um pedaço denominado “canal”. Ele pode ter valores entre 0 e 15, ou seja, é possível configurar cada dispositivo musical para escutar somente a mensagens para um canal específico. Cada um dos meus dispositivos, inclusive o Raspberry Pi, tem canais exclusivos. E eu também reservei um canal somente para testar o equipamento dentro de pequenos intervalos de tempo.
Sim, é preciso testar constantemente se as coisas estão funcionando. Eu implementei uma espécie de ping usando um canal MIDI dedicado. O Raspberry Pi envia uma mensagem pré-definida para o Looper e, como ela irá passar por todo o anel, terminará no Looper. Se a mensagem não chegar após um breve período, um dos botões me mostra um alerta de forma bem visual.
Como a ideia principal é a de fazer loops musicais, o MIDI Clock é essencial pra injetar algumas funcionalidades. Primeiro, no entanto, é preciso calcular quantas batidas por minuto são representadas pela frequência de pulsação. A utilidade disso? Praticamente nenhuma além de mostrar em um dos botões de controle pra que eu possa verificar se os valores batem entre os instrumentos.
O principal, no entanto, é sincronizar as ações para que elas aconteçam exatamente no recebimento do Clock desejado. Transições de valores, por exemplo, ficam muito mais suaves se a cada Clock o valor sofrer uma leve alteração até chegar ao valor desejado.
Porém, lembra dos 48 pulsos por segundo em uma pulsação de 120 batidas por minuto? Pois é! Imagina só: 48 eventos por segundo gerando vários processamentos, tudo acontecendo dentro de um computadorzinho do tamanho de um cartão de crédito. A CPU estava com utilização acima de 50% em alguns momentos. Foi aí que eu resolvi aplicar uma estratégia de controle de fluxo, ou throttling (pra quem gosta de falar o dialeto da Faria Lima).
Resolvi reduzir o número de estímulos drasticamente. Para cada 12 clocks recebidos, um estímulo é enviado internamente para os componentes. Isso basicamente reduz tudo para meros 4 eventos por segundo, em comparação com os 48 anteriores. No fim das contas, dois pulsos internos (que chamarei de tick) equivalem a uma semínima (em vez dos 24 pulsos do MIDI Clock).
Com isso feito, veio a segunda parte: sincronizar os compassos. Por sorte, o drum machine que eu uso envia tempo de cada compasso via MIDI. Como outra mensagem MIDI é enviada assim que o loop começa, eu tenho todos os ingredientes para acompanhar com exatidão o andamento da brincadeira.
Digamos que a música é em 4/4. Como cada tick representa uma colcheia (metade da semínima), a cada 8 ticks o compasso muda. Se eu configurar o tamanho em compassos de cada loop, posso fazer automações muito legais. Alguns exemplos que eu uso:
- No último compasso do loop, o drum machine executa uma virada ou uma transição.
- No próximo loop, logo no primeiro compasso, faixas diferentes irão começar e/ou parar.
- A mixagem para o que eu estiver tocando na hora pode mudar a cada novo loop, variando não só de direita para esquerda como também de volume. Com isso eu posso controlar perfeitamente o palco sonoro durante uma performance.
E só melhora: como eu controlo o código, eu posso colocar todas as informações necessárias dos loops que já criei dentro do código. Isso me possibilita criar estruturas de automação que fazem tudo o que eu preciso no exato momento em que eu preciso. Como primeiro exemplo, usei uma das músicas do criador do Guitar Pro, Franck Duhamel. A sua música “All In Hands” é uma progressão de acordes que se repete a cada 24 compassos. Criei o loop usando a guitarra e o sintetizador e fiz automações para mudar os efeitos da guitarra, iniciar e parar as faixas conforme o andamento da música, fazer as viradas da bateria, enfim, tudo para poder replicar exatamente a música em uma performance automatizada, mas que também me possibilite passear pela harmonia em uma versão mais livre caso eu desative as automações.
Eu sempre mexo em alguma coisa no código, mas já passei do ponto em que ele está confiável o bastante pra que eu possa tocar sem receios além do tradicional “tocar tudo errado”. Dificilmente eu conseguiria comprar algo que me desse tamanha liberdade de ajuste. Usar softwares livres como Linux, Companion e tudo o mais que faz o meu Raspberry ser capaz de agregar tanto valor foi exatamente a peça que faltava pra esse projeto ganhar vida.
Como qualquer software, essa geringonça nunca vai estar completa, mas estará sempre a postos. Deu trabalho? Claro que sim! Valeu a pena? Com certeza!
Aliás, essa é a grande beleza do Software Livre: é livre de custo, não de esforço. Por trás do esforço está a liberdade de modificar e tornar tudo do seu jeito, o que por si só já destrói qualquer opção paga. Ao menos para alguém como eu.
O Painel de Controle
Bom, o que seria dessa loucura toda sem a possibilidade de, pelo menos, saber o que acontece ali dentro? A superfície de controle que eu uso tem uma matrix de botões espalhados por 4 linhas e 8 colunas. Organizei tudo de modo a ter a primeira linha e a primeira coluna comum a todos os quatro painéis principais. Escondido no símbolo do L∞π∩∆rium, está um painel especial pra depuração, de onde posso disparar mensagens MIDI e verificar se o que eu programei está, de fato, correto (spoiler: praticamente nunca está, por isso fiz esse diacho de painel).

Esse é o painel principal, e por onde a criação dos loops começa. Eu escolho um dos 16 padrões de bateria que deixei mapeados no Drum Machine e o template do loop para o compasso correto. Meu Looper não me permite mudar o compasso do loop via MIDI, então separei templates diferentes pra cada compasso.
Aliás, nessa parte de integração, o meu Looper fica devendo muito. Os parâmetros precisam ser configurados em cada loop. Como eu padronizo tudo, isso significa que, se eu tiver alguma ideia nova, preciso alterar todos os templates e todos os loops que já tenho salvos na memória.

Essa é a visão que tenho do Looper. Eu posso ver um descritivo breve de cada uma das seis faixas, posso apertar um botão pra ligar a automação do loop, assim me concentro apenas em tocar, e posso ver a progressão do loop ao longo dos compassos.

Aqui eu tenho acesso ao Modeler. Eu basicamente só preciso ver qual configuração de timbre está ativa e selecionar a posição do som dentro da música, e isso pode variar entre os timbres (uma distorção pesada pode estar mais à direita, enquanto um som mais limpo pode estar mais à esquerda, por exemplo). Essa posição é bidimensional mesmo. Se você aumenta o volume de um instrumento, ele basicamente se posiciona mais à frente no palco sonoro da música.
Isso permite criar loops bem mais encorpados. Eu posso gravar dois riffs de guitarra com timbres um pouco diferentes, mas posicionados em lados opostos do palco sonoro.

Esse é o painel que eu provavelmente uso menos. O Drum Machine está tão integrado ao Looper por meio do meu plugin que eu basicamente não tenho necessidade de mexer nesse painel. Eu posso trocar o timbre da percussão, navegar nos menus do pedal e alterar a forma como as batidas se encaixam no andamento da música. E essa é a parte mais legal de todas.
Digamos que eu estou tocando um loop em um andamento qualquer. Se eu dobrar a velocidade da percussão, o andamento continuará sincronizado. Claro, um compasso agora terão dois compassos da percussão, mas tudo se encaixa. O mesmo vale se eu reduzir pela metade a velocidade da percussão. Nesse caso, dois compassos do loop serão preenchidos com um compasso da percussão. Matemática pura e simples.
Isso fica muito legal se for incorporado a viradas e transições. Por isso, eu geralmente tenho esses trechos disponíveis no Foot Controller.
É bem capaz que eu troque esse painel depois por alguma coisa mais interessante. Quem sabe uma visão maior do loop, com mais informações sobre os compassos? Novamente, essa é a vantagem de ter o controle total do que acontece ali dentro.

Esse é o painel de depuração. Eu utilizo basicamente dois tipos de mensagens MIDI: Control Change (para mudança de parâmetros) e Program Change (para mudança de bancos de memória). Se eu precisar testar uma integração entre os dispositivos, eu posso simular o envio de uma mensagem por ali. Deixei até mapeado os canais de cada um dos aparelhos pra facilitar a vida.
As partes em comum aos quatro painéis já passaram por inúmeras mudanças. Por enquanto, as seguintes informações estão me atendendo bem:
- Consumo de CPU e memória do Raspberry Pi.
- Posição do instrumento no palco sonoro (guitarra ou teclado).
- Compasso reportado pelo Drum Machine
- Tempo, em BPM, calculado pelo Midi Clock, e caso eu esteja em um loop, em qual compasso e batida desse compasso eu estou no momento.
Como assim caso eu esteja em um loop??!?!? Quer dizer que isso faz outras coisas? Como ousa trair sua própria identidade?!??
Calma, calma, calma! Lembra que eu gostava também de solar em cima de algumas músicas que não tinham a guitarra solo? Pois bem, eu deixei alguns bancos de memória do Looper separados pra colocar algumas dessas músicas. Ali eu coloquei diversas músicas, algumas de artistas e bandas que eu adoro (como Joe Satriani, Led Zeppelin, Eric Johnson e Santana) e outras de acompanhamentos criados justamente para fins de improvisação (como os do JustinGuitar). Como cada loop tem seis faixas, cada banco de memória me dá o prazer de ter seis músicas pra eu disparar pelos pedais.
Como não tenho a certeza de que o tempo se mantém estável durante essas músicas, não posso usar a estratégia de contar batidas pra criar automações. Na verdade, eu até espero que o tempo varie conforme essas músicas correm. O elemento mais humano na música é justamente essa variação. Tirar isso basicamente torna uma música robótica e sem alma. É fato que o grid determinístico de um loop representa, sim, essa parte robótica e sem alma, mas se eu tivesse uma banda com vários seres humanos tocando ao mesmo tempo, nunca colocaria um Drum Machine como baterista pra estragar tudo.
Talvez eu implemente algo contando o tempo em si (segundos, no caso), mas ainda não senti necessidade.
Tá bom, tá bom, é bem provável que eu implemente isso em alguns dias. Não consigo ter uma ideia e não botá-la na pista de testes. Essa é a grande graça de poder ter um laboratório musical e tecnológico desses: validar ideias se torna uma parte recompensadora da jornada.
Por que L∞π∩∆rium?
Você com certeza passou esse tempo todo se perguntando por que cargas eletromagnéticas esse nome maluco parece um ataque de pânico matemático. O nome tem algumas camadas diferentes de significados que, juntas, contam uma história: a de um sinal que entra em um lugar misterioso, passa por um sistema lindamente caótico e, por algum motivo, consegue chegar do outro lado.
A primeira camada é formada pelos símbolos. E a história também começa nela.
O “L” inicial representa o sinal comum que vem da minha guitarra (e espero que venha de um violão também, em breve). A letra representa o sinal limpo, que é usado na criação da estrutura determinística dos loops.
O “∞”, símbolo do infinito, representa exatamente o Looper. O sinal chega nele, onde é combinado com a percussão vinda do Drum Machine e pode ser armazenado em uma das faixas. É a minha jaula determinística que, de certo modo, me dá um local seguro e racional para me expressar emocionalmente.
O “π”, letra grega Pi, representa o Raspberry Pi. O cerne da estrutura caótica que tenta orquestrar tudo.
O “∩”, símbolo que, na teoria dos conjuntos, denota interseção. Ele representa a camada de software que eu construí em cima do Companion, o ponto onde as mensagens MIDI se encontram e são traduzidas em informação para os diversos componentes exercerem seu papel.
O “∆”, letra grega delta, representa variância na Matemática. Ele é o símbolo atrelado principalmente ao sintetizador. Representando a domesticação das ondas, apimentada pelas sutis variâncias causadas pelo contato da pele. A bem da verdade, esse elemento acaba representando também o pouco pedaço de humanidade que existe nesse conjunto todo: eu. Como eu disse ali em cima, as pequenas variações que o ser humano introduz na música é o que dá a ela a alma.
O “rium” é o retorno à normalidade. Representa a resolução de tudo. Apesar de ser uma molécula instável, o sistema como um todo processa e roteia o áudio em direção a tão aguardada saída estéreo.
A segunda camada é um pouco mais filosófica. O termo “loopinarium” remete ao termo “vivarium” (algo como “lugar de vida”, no latim).
Trata-se de um sistema interdependente. Um ambiente fechado onde diferentes organismos e elementos interagem de forma a sustentar o ecossistema. É basicamente o cultivo da vida.
Por último, uma camada ainda mais profunda. No meio do termo “loopinarium”, mais precisamente formado pelos símbolos “π∩∆”, está escondido o meu trocadilho supremo: “pina”. Pinna, termo em inglês para a aurícula (ou ouvido externo), é a parte do ouvido essencial para determinarmos a direção de uma fonte sonora.
Conclusão
No fim das contas, isso não é só um equipamento musical. Isso é:
- um motor de loops
- um motor de ritmos
- um motor de efeitos e timbres
- um motor do caos
- uma camada de middleware
- e uma interface de uso
Tudo frouxamente interligado, levemente sincronizado e mantido no lugar com muita fita adesiva, abraçadeiras de nylon, mensagens MIDI e uma confiança deveras questionável.
Em outras palavras: algo perfeitamente normal para alguém como eu.
Só espero que compile.