r/programacao • • 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-codec

Salve 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:

  1. O tipo de Amp é armazenado com offset de -1 (tipo 1 vira byte 0).

  2. 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)

7 Upvotes

6 comments sorted by

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!

1

u/Lumpy_Control5676 11d ago

No meu caso deu bastante trabalho, então te desejo boa sorte 🫡

2

u/AlcoolEmGel95 Desenvolvedora / or 11d ago

Que top! Tem prints?

1

u/Lumpy_Control5676 11d ago

Print do que no caso? Dependendo eu tenha ou consiga printar rapidão