O que é o formato de ficheiro MID?
Arquivos .mid estão intimamente relacionados ao formato .midi - ambos são sequências Standard MIDI File (SMF).
Arquivos .mid armazenam eventos de performance musical organizados com temporização precisa. Esses eventos podem descrever:
- altura da nota, velocidade e duração da reprodução,
- volume, expressão e outros valores de controladores,
- mudanças de instrumento (programa) em até 16 canais.
Deve-se notar que arquivos .mid não contêm dados de áudio, apenas as instruções de eventos necessárias para a reprodução adequada por um sintetizador ou mecanismo de soundfont. Como nenhuma amostra de áudio é armazenada, o mesmo arquivo .mid pode soar visivelmente diferente em diferentes dispositivos.
Arquivos com a extensão .mid podem ser usados por aplicativos de software de edição musical, bem como por dispositivos de hardware MIDI e sintetizadores. Arquivos .mid servem como uma forma universal de compartilhar composições musicais entre programas - estações de trabalho de áudio digital, editores de notação e sequenciadores suportam o formato. Em dispositivos de hardware, arquivos .mid podem ser usados para acionar instrumentos, alterar parâmetros de saída de áudio, como altura ou duração, e conduzir performances automatizadas.
Internamente, um arquivo .mid usa uma estrutura binária baseada em blocos: um bloco de cabeçalho MThd estabelece o tipo de formato (0, 1 ou 2), a contagem de faixas e a resolução de tempo, seguido por um ou mais blocos de trilha MTrk que armazenam eventos com carimbo de tempo delta. A variante .rmi envolve o mesmo conteúdo em um contêiner RIFF, enquanto o formato .kar estende o .mid com letras de karaokê incorporadas.
Segurança e proteção
RISCO: LOWUm Standard MIDI File consiste em dados de eventos passivos sem código ou macros incorporados, portanto, o formato em si é de baixo risco. Preocupação histórica: em 2012, uma falha de análise de MIDI do Windows (CVE-2012-0003) permitiu a execução de código através de um MIDI manipulado no Windows Media Player - corrigida há muito tempo, portanto, mantenha seu SO/players atualizados. Caso contrário, o principal «risco» é a decepção: um MIDI pode soar pobre ou errado porque a reprodução depende da soundfont do dispositivo, não do arquivo.
Detalhes do formato
em resumo- Karaoke MIDI (.kar) - Mesma estrutura de Standard MIDI File com meta-eventos de letras incorporados para karaokê; muitas vezes salvo com a extensão .mid também.
- RMID (RIFF MIDI) - Uma sequência MIDI envolvida em um contêiner RIFF, às vezes com um banco de sons DLS incorporado; usa .rmi, mas ocasionalmente .mid.
Programas que abrem arquivos MID
Detalhes técnicos
especificação profunda| Codificação de arquivo | Binário, ordem de bytes big-endian |
| Assinatura do arquivo (bytes mágicos) | `4D 54 68 64` - ASCII `MThd` no deslocamento de byte 0, seguido por um comprimento de bloco de 4 bytes (`00 00 00 06`) |
| Estrutura do contêiner | Baseada em blocos: bloco de cabeçalho `MThd` seguido por um ou mais blocos de trilha `MTrk` |
| Tipos de formato | Formato 0 - trilha única multicanal; Formato 1 - múltiplas trilhas síncronas; Formato 2 - sequências de padrões independentes |
| Capacidade de canais MIDI | Até 16 canais simultâneos por arquivo, cada um atribuível a um instrumento ou voz diferente |
| Resolução de tempo | Definida pelo campo `division` em `MThd`; expressa como ticks por semínima (ex: 480 PPQ) ou quadros de timecode SMPTE |
| Codificação de tempo delta de evento | Quantidade de comprimento variável (VLQ) - codifica intervalos de tempo entre eventos usando 7 bits por byte com um sinalizador de continuação MSB |
| Tipo MIME | `audio/midi`; também reconhecido como `audio/x-midi` e `audio/sp-midi` |
| Tamanho de arquivo típico | 1 KB - 100 KB; alguns minutos de música geralmente ficam bem abaixo de 50 KB porque nenhuma amostra de áudio é armazenada |
| Compressão | Nenhuma; os eventos são inerentemente compactos através de opcodes binários e codificação de tempo delta VLQ |
| Meta eventos | Metadados não sonoros incorporados nas trilhas: tempo (microssegundos por batida), fórmula de compasso, armadura de clave, nome da trilha, letras, direitos autorais e marcadores de fim de trilha |
| Desenvolvedor / mantenedor | MIDI Manufacturers Association (MMA) e AMEI (Association of Musical Electronics Industry) |
| Compatibilidade com MIDI 2.0 | O `.mid` codifica mensagens MIDI 1.0; o protocolo MIDI 2.0 (2020) usa formatos de contêiner diferentes - arquivos `.mid` permanecem em uso ativo generalizado |
| Lançado | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Versão mais recente | SMF 1.0 (stable since 1988); MIDI 2.0 protocol 2020 uses .midi2/clips, not .mid |
| Padrão aberto | Sim · livre de royalties |
| Especificação | midi.org |
Conversões de MID
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos MID.