Observação: sou um desenvolvedor OpenMPT / libopenmpt e trabalhei em código lidando com formatos de módulo por mais de dez anos.
A resposta bastante simples para essa pergunta é "não". Nem mesmo o formato de TI, como sugerido por mr_lou, é um superconjunto viável de qualquer um dos formatos mencionados. Não há formato que faça tudo o que os outros formatos fazem, e em particular entre os formatos que você mencionou, .sid é o único fora porque não é um formato de música rastreado (ele contém código de programa para executar no C64 ou emulador) . Apenas entre os formatos que você mencionou, cada um deles tem comandos exclusivos não suportados pelos outros formatos:
- MOD tem Invert Loop, que é bastante exclusivo para este formato
- Reproduzir o S3M de maneira "canônica" (ou seja, como o ScreamTracker 3 os executaria) é incompatível com a TI de várias maneiras, porque ele manipula a memória de efeito de maneira diferente.
- A maioria das pessoas acredita que o XM é um subconjunto de TI, mas a TI não possui alguns comandos que o XM possui (por exemplo, Key Off ou Set Envelope Position).
- Historicamente, existem alguns formatos que tentam alcançar o que você deseja alcançar (por exemplo, o formato interno do MikMod, ou GDM do BWSB), mas eles não são superconjuntos de todos os formatos e modelam mais realisticamente os recursos do MikMod ou do BWSB. funcionamento interno.
Você pode continuar essa lista com qualquer combinação de dois formatos de módulo e sempre encontrará algo diferente ou que não seja suportado por um dos formatos. Cada formato e jogador tem suas próprias peculiaridades que são exclusivas para esse formato. A conversão entre esses formatos é sempre um processo com perdas no caso geral. Por favor, não converta módulos em formatos diferentes, a menos que seja absolutamente necessário.
Sobre o problema de metadados, faria mais sentido armazenar esses metadados separadamente do arquivo, porque a maioria dos formatos de módulo tem suporte insuficiente a metadados, e a incorporação de metadados personalizados nem sempre é possível. Isso poderia, por exemplo, ser resolvido com um banco de dados como o banco de dados STIL para música C4 SID que vem com a coleção SID de alta voltagem.
Acredito que uma solução viável para o seu problema não é inventar outro formato contêiner para possivelmente conter todas as músicas controladas, mas ter um banco de dados de música padronizado e um player capaz de lidar com vários formatos (por exemplo, combinando bibliotecas como libopenmpt, UADE, reSID e alguns outros). Existem vários players que podem ser estendidos com plugins (como o XMPlay) que fazem um ótimo trabalho nisto. Atualmente em obras também é uma reencarnação moderna do HippoPlayer, que tem como objetivo reproduzir praticamente qualquer formato de música rastreado, e no final também fornecer metadados ricos, possivelmente através de um banco de dados externo. Você pode ver o progresso deste projeto aqui: link