O que você vai aprender

  • Distinguir .mmp, .mmpz e .mpt e 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ãoO que éQuando usar
.mmpXML puro, legível em editor de textoDepuração, versionamento com Git, edição manual
.mmpzO mesmo XML comprimido com zlibUso diário — é o padrão e ocupa uma fração do espaço
.mptModelo 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 .mmpz para outra pessoa sem os samples resulta em faixas mudas.
  • Um sample carregado de ~/Downloads some 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🔗

  1. Crie um projeto simples com um AudioFileProcessor carregando um sample.
  2. Salve como .mmp e abra o arquivo num editor de texto.
  3. Localize a linha com src= e veja o caminho do sample.
  4. 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.

Referências🔗

  1. LMMS — Manual do usuário
  2. LMMS — repositório oficial no GitHub