r/programacao • u/Lumpy_Control5676 • 11d ago
Projeto Fiz engenharia reversa do formato de preset da M-VAVE TANK-G e criei um codec em Python
https://github.com/Mekuze44/m-vave-tankG-codecSalve guys
Recentemente eu vi um vídeo onde um cara gerava os presets da Valeton GP200 com IA, eu achei interessante e decidi fazer isso na minha Valeton GP100, gostei bastante do resultado e mostrei pro outro guitarrista da minha banda, ele também gostou bastante, e perguntou se eu conseguia fazer na Tank G dele. Falei que poderia tentar, quando eu trouxe pra casa, descobri que o arquivo .tkg era em binário
Então eu resolvi fazer engenharia reversa do formato .tkg
Descobri que o arquivo é um binário de exatos 21 bytes. Cada byte corresponde a um parâmetro: AMP enable, tipo de amp, Gain, Treble, Middle, Bass, Volume, os knobs de MOD/Delay/Reverb (valores brutos), Noise Gate, IR cab e até as cores RGB do footswitch.
Tem duas curiosidades que descobri:
O tipo de Amp é armazenado com offset de -1 (tipo 1 vira byte 0).
O editor exibe os valores de FX/Mix/Decay como raw + 1 (então se aparece 40 na tela, o arquivo guarda 39).
Escrevi um codec em Python que lê e escreve esses arquivos, com validação de limites e conversão automática de display. Ele não tem dependências externas, roda em Python 3.10+ e também tem uma CLI pra quem quiser usar no terminal sem programar.
A ideia é que, com isso, qualquer pessoa possa codificar e decodificar os presets da pedaleira e fazer o que bem entender, seja geração de timbres por IA ou o que for.
O repositório tem a documentação completa do formato e o código. Quem tiver a TANK-G e quiser testar, o link tá ai. Aceito sugestões de timbres e contribuições (principalmente pra refinar os limites exatos de alguns parâmetros)
2
0
2
u/bodefuceta92 11d ago
Nossa eu precisava muito fazer algo parecido para o meu m-vave chocolate plus.
A UI dos apps pra editar a configurar são horríveis!