Projeto: .mmp, .mmpz e .mpt
Como o LMMS guarda um projeto em disco e por que isso importa para backup e versionamento.
O que você vai aprender
- Distinguir
.mmp,.mmpze.mpte saber quando usar cada um - Entender que o projeto guarda referências a samples, não os samples em si
- Aproveitar o fato de o formato ser XML para inspecionar e corrigir projetos
Projeto: .mmp, .mmpz e .mpt🔗
Um projeto do LMMS é um documento XML que descreve a música inteira: trilhas, notas, o valor de cada botão de cada instrumento, o roteamento do mixer e as curvas de automação.
Os três formatos🔗
| Extensão | O que é | Quando usar |
|---|---|---|
.mmp | XML puro, legível em editor de texto | Depuração, versionamento com Git, edição manual |
.mmpz | O mesmo XML comprimido com zlib | Uso diário — é o padrão e ocupa uma fração do espaço |
.mpt | Modelo de projeto (template) | Ponto de partida reutilizável, com trilhas e efeitos já montados |
Salve como .mmpz no dia a dia e guarde uma cópia .mmp quando quiser versionar o projeto com Git. O XML descomprimido gera diffs legíveis; o .mmpz é um binário opaco para o controle de versão.
O que o projeto não guarda🔗
Esta é a maior fonte de projetos quebrados: o arquivo de projeto não embute os samples. Ele guarda apenas o caminho de cada arquivo de áudio usado no AudioFileProcessor, no Sample Track ou no Sf2 Player.
Consequências diretas:
- Mover ou renomear a pasta de samples quebra o projeto.
- Enviar o
.mmpzpara outra pessoa sem os samples resulta em faixas mudas. - Um sample carregado de
~/Downloadssome quando você limpa a pasta.
Antes de arquivar ou compartilhar um projeto, copie todos os samples usados para uma pasta dentro do próprio projeto e recarregue-os de lá. O LMMS não tem um comando de collect all assets; é trabalho manual.
A vantagem do XML🔗
Como o .mmp é texto, algumas operações ficam triviais fora do programa:
# descomprimir um .mmpz para inspecionar
zcat projeto.mmpz > projeto.mmp
# achar todos os samples referenciados no projeto
grep -o 'src="[^"]*"' projeto.mmp | sort -u
# recomprimir depois de editar
gzip -c projeto.mmp > projeto.mmpz
Isso permite, por exemplo, corrigir em massa o caminho de uma biblioteca de samples que mudou de lugar, sem abrir o LMMS.
Onde ficam os arquivos🔗
Por padrão o LMMS cria uma pasta de trabalho no seu diretório pessoal:
LMMS/
├── projects/ # seus .mmpz
├── samples/ # samples do usuário
├── presets/ # presets .xpf salvos por você
└── soundfonts/ # arquivos .sf2
O caminho é configurável em Editar > Configurações > Diretórios.
Presets e o formato .xpf🔗
Além do projeto, o LMMS salva presets de instrumento em arquivos .xpf — também XML. Um .xpf guarda o estado completo de um instrumento, incluindo a aba Env/LFO e a cadeia de efeitos local. É o que você usa para reaproveitar um som entre projetos.
O ZynAddSubFX tem um formato próprio, .xiz, herdado do projeto original.
Erros comuns
- Confiar que o .mmpz contém os samples — ele contém apenas caminhos
- Versionar .mmpz no Git e depois não conseguir ler nenhum diff
- Salvar por cima do template .mpt em vez de salvar o projeto derivado
Na prática🔗
- Crie um projeto simples com um AudioFileProcessor carregando um sample.
- Salve como
.mmpe abra o arquivo num editor de texto. - Localize a linha com
src=e veja o caminho do sample. - Renomeie a pasta do sample, reabra o projeto no LMMS e observe o aviso de arquivo faltando.
Você aprendeu
.mmpé XML legível,.mmpzé o mesmo XML comprimido,.mpté modelo- O projeto guarda caminhos de samples, nunca os samples em si
- Ser XML permite inspecionar e corrigir projetos por linha de comando
- Presets de instrumento ficam em
.xpf; o ZynAddSubFX usa.xiz
Artigos relacionados
O .mmp é XML puro e o .mmpz é o mesmo XML comprimido com zlib. Isso tem uma consequência prática: .mmp funciona bem com controle de versão (o git diff mostra o que mudou), .mmpz não. Se você versiona seus projetos, salve em .mmp mesmo pagando o preço do arquivo maior.