LIVE about the L1V3 BOX: A FULLY PROGRAMMABLE MIDI ROUTER
Conheça o roteador MIDI programável L1V3 Box com Pascal: regras Lua, USB host, roteamento, exemplo com Octatrack e decisões de desenvolvimento.

A L1V3 Box é a tentativa de Pascal de resolver um problema que surge quando um setup de performance com hardware cresce: mensagens MIDI precisam chegar a certos aparelhos, evitar outros e, às vezes, ser transformadas antes de chegar ao destino. Em vez de encadear mergers, splitters e filtros, ele está prototipando um hub programável para o setup inteiro. Esta entrevista ao vivo percorre o design, o software e as escolhas explicadas por Pascal; não é um manual de produto final.
Por que centralizar o MIDI em uma caixa programável?
O setup ao vivo de Pascal é baseado em hardware. Um Elektron Analog Rytm é seu sequenciador principal; o iPad é usado para tarefas táteis, como síntese granular, não para sequenciar. Conforme ele adicionava controladores e módulos de som, precisava encaminhar mensagens seletivamente. Um merger combina fluxos; um splitter envia um fluxo a vários destinos; filtros impedem que tipos de mensagem indesejados afetem um aparelho. Com várias caixas e cabos, configurar o setup ficou lento e os pontos de falha aumentaram.
A meta é centralizar essas funções e acrescentar transformação. Uma regra pode receber um valor e calcular outro para a saída, ou converter um tipo de mensagem MIDI em outro. Por exemplo, um único toque numa tecla poderia enviar várias mensagens Program Change a aparelhos diferentes ao mudar de faixa durante a performance. Pascal chegou a considerar um roteador MIDI comercial com blocos, mas percebeu que ele não trabalhava com SysEx, importante para equipamentos como seu Access Virus. A proposta da L1V3 é atender equipamentos antigos e rotas mais personalizadas.
Cinco portas MIDI físicas e USB host
O protótipo discutido tem cinco entradas e cinco saídas MIDI por TRS. O primeiro protótipo usava conectores DIN de cinco pinos; Pascal migrou para TRS depois que músicos na Superbooth 2023 disseram preferir conectores menores, que ocupam menos espaço no painel. Ele explica que, nesse contexto, o TRS transporta o mesmo sinal MIDI, mas a existência de padrões Type A e Type B entre fabricantes gerou incompatibilidade. O circuito dele foi pensado para aceitar os dois tipos.
O USB host amplia a quantidade de aparelhos além das conexões DIN/TRS. Pascal diz que o firmware apresentado suportava até dez controladores USB e dez sintetizadores USB, além das cinco portas físicas em cada direção. Esse número é o máximo que ele diz ter testado sob carga no protótipo, não uma especificação confirmada de produto comercial. Ele escolheu Teensy 4.1 pela capacidade de processamento e pelo ecossistema de bibliotecas Arduino. O layout inicial de cinco portas veio do kit usado no primeiro protótipo; acrescentar mais portas aumentaria a carga no processador.
O hardware também mudou com o feedback: botão frontal para trocar presets, luzes para mostrar o tráfego das mensagens e gabinete para rack com menos de uma unidade de altura. Pascal descreve empilhar quatro unidades em um espaço de rack como caminho para chegar a 40 entradas e 40 saídas. São ideias de design mencionadas na entrevista, não uma configuração de produção confirmada.
Regras em Lua sem reenviar firmware a cada ajuste
A principal decisão de software foi usar scripts em Lua. Pascal testou outras abordagens e escolheu Lua por ser interpretada, relativamente acessível e capaz de rodar em um microcontrolador. A intenção é editar e testar uma regra com a caixa conectada, sem compilar e reenviar firmware a cada alteração.
Na demonstração do editor web, o lado esquerdo representa a caixa e suas entradas e saídas. Um controlador conectado envia MIDI para uma entrada; por padrão, essa entrada pode encaminhar mensagens às saídas escolhidas. O usuário configura o roteamento inicial e filtra tipos de mensagem, como clock, SysEx, Control Change, Note On/Off e aftertouch. Depois, pode arrastar regras para o caminho do sinal. O recurso MIDI Learn gera uma condição a partir do canal, tipo de mensagem e valor de dados de um controle que a pessoa movimenta.
Pascal demonstra uma regra “reverse CC”: um valor Control Change é invertido. A interface mostra os valores de entrada e saída. A regra também pode receber uma condição — por exemplo, aceitar apenas um CC específico em determinado canal — para que outros faders não a acionem. Os presets são código Lua, e o editor pode expor variáveis como controles visuais, incluindo uma barra. A intenção é permitir que usuários avançados criem e compartilhem presets, enquanto outros aplicam regras da comunidade sem programar.
O editor no navegador é feito com JavaScript e inclui um interpretador Lua; a caixa também executa Lua. Quando conectada por USB, o navegador envia atualizações à caixa usando USB MIDI. Os IDs dos dispositivos permitem reconhecer as mensagens do editor e impedir que sejam encaminhadas como dados comuns de performance. Na demonstração, a caixa passa o fluxo MIDI para o navegador enquanto o editor processa as regras; depois de desconectada, a expectativa é que ela opere sozinha com a configuração feita.
Pascal descreve mecanismos para lidar com erros: erros de sintaxe impedem uma regra de rodar; erros durante a execução são detectados, exibidos com mensagem e linha do código, e podem acender um LED vermelho. Ele diz que uma regra com problema é isolada para não travar a caixa inteira. Isso é o comportamento de segurança planejado e explicado durante a prototipagem, não um teste independente de confiabilidade.
Um atalho de performance demonstrado com Octatrack
O exemplo mais concreto da entrevista usa um controlador F.Fox e um Elektron Octatrack. Os faders normalmente alteram o volume das faixas. Os botões armam faixas para uma quebra que virá. Ao mover o crossfader, Pascal muda de uma vez os volumes de todas as faixas armadas, usando a transformação reverse CC.
Ele também demonstra bloquear as mudanças de volume enquanto o crossfader está na posição da quebra. Assim, pode armar e preparar faixas novas sem enviar ao Octatrack os movimentos temporários dos faders. Ao mover o crossfader de volta, os volumes preparados são aplicados para o drop seguinte. A caixa coordena as mensagens entre o controlador e o Octatrack para que um controle faça algo que nenhum dos dois aparelhos conseguiria sozinho.
Limites, pedidos futuros e estado do protótipo
Os espectadores perguntam sobre rampas de CC temporizadas, geração de clock, CV/Gate e iluminação DMX. Pascal considera automações que sigam um clock recebido, mas não quer que o primeiro produto também seja uma fonte de clock; gerar e processar clock ao mesmo tempo que interpreta Lua aumentaria a carga. CV/Gate exigiria conversão e tratamento de tensão diferentes, enquanto DMX é outra possível direção. Ele apresenta essas ideias como expansões futuras ou produtos separados.
Na época da entrevista, a caixa ainda era um protótipo, sem disponibilidade geral. Pascal priorizava confiabilidade porque o aparelho ficaria no centro do setup; queria enviar unidades beta antes do lançamento e considerava crowdfunding depois de formar uma comunidade. Ele diz que o código de scripts seria aberto desde o início, enquanto a licença do hardware ainda estava em discussão. O percurso — de um kit disponível na internet e conectores DIN até uma placa própria, compatibilidade TRS, USB host e editor web — mostra que o projeto é tanto um esforço de software e usabilidade quanto uma caixa de roteamento.
Para acompanhar as demonstrações como um fluxo de operação, veja a sessão editada da L1V3 Box. Esta conversa completa preserva as decisões de desenvolvimento e as perguntas do público.
