Un SMF no sólo contiene datos de interpretación MIDI normales – notas canalizadas, longitudes, datos de pitch bend, etc. – también debería tener datos (comúnmente denominados «cabecera») que contienen datos de configuración adicionales (tempo, selecciones de instrumentos por Canal, ajustes de controladores, etc.) así como información de la canción (avisos de copyright, compositor, etc.).
La calidad, o la fidelidad a su estado original de creación de un SMF puede depender mucho de la información de la cabecera. La cabecera puede ejercer un control sobre la mezcla, los efectos e incluso los parámetros de edición de sonido para minimizar las diferencias inherentes entre un soundset y otro. No hay un conjunto estándar de datos que tenga que poner en una cabecera (de hecho, tales datos también pueden colocarse en una barra de «configuración» de repuesto en el cuerpo del propio archivo), pero en términos generales, cuanta más información proporcione al dispositivo de sonido receptor, más definidos -y por tanto, presumiblemente, más a su gusto- serán los resultados.
Dependiendo de la aplicación que esté utilizando para crear el archivo en primer lugar, la información de la cabecera puede guardarse automáticamente dentro de los parámetros establecidos en la aplicación, o puede ser necesario colocarla manualmente en una barra de «configuración» antes de que comiencen los datos musicales.
La información que debe considerarse (por canal MIDI) incluye:
- Selección de banco (0=GM) / Cambio de programa #
- Restablecer todos los controladores (es posible que no todos los dispositivos reconozcan este comando, por lo que puede preferir poner a cero o restablecimiento de controladores individuales)
- Volumen inicial (CC7) (nivel estándar = 100)
- Expresión (CC11) (nivel inicial ajustado a 127)
- Pedal de retención (0 = off)
- Pan (Centro = 64)
- Modulación (0)
- Gama de pitch bend
- Reverb (0 = off)
- Nivel del coro (0 = off)
Todos los archivos deben comenzar con un mensaje de reinicio de GM/GS/XG (si es apropiado) y cualquier otro dato exclusivo del sistema que pueda ser necesario para configurar el sintetizador de destino. Si se emplean RPNs o mensajes de controladores más detallados en el archivo, éstos también deben restablecerse o normalizarse en la cabecera.
Si está introduciendo los datos de la cabecera usted mismo, es aconsejable no agrupar toda esa información, sino espaciarla en intervalos de 5-10 ticks. Ciertamente, si un archivo está diseñado para ser reproducido en bucle, tener demasiados datos que se reproducen simultáneamente hará que la mayoría de los dispositivos de reproducción se «ahoguen», y que se pierda la sincronización.