Introduction
L'extension «.BNK» est un format de banque d'instruments créé par la société Ad Lib Inc. Il a été conçu pour la version 1.5 d'AdLib Visual Composer en 1989, pour fonctionner en conjonction avec les fichiers musicaux au format ROL. Il a été découvert que les fichiers d'instruments individuels d'environ 80 octets utilisaient en fait près de 1 024 octets d'espace disque chacun, en raison de la façon dont le système de fichiers FAT de DOS alloue au moins un unité d'allocation par fichier. En combinant tous les instruments dans un seul fichier .BNK, l'espace disque pourrait être considérablement réduit.
Les fichiers BNK contiennent toutes les données d'instruments personnalisés pour un ensemble de chansons ROL contenant les notes à jouer. Les jeux comportant de la musique composée avec AdLib Visual Composer ont généralement également des fichiers BNK, bien que dans le cas des titres d'id Software, les deux fichiers aient été convertis au format IMF pendant le développement du jeu. Ce format est également utilisé par le moteur sonore Human Machine Interfaces pour les instruments de musique dans les fichiers HMP et HMI.
Le format peut être ouvert et modifié par le programme Instrument Maker fourni avec AdLib Visual Composer.
Spécification
Spécification | Description |
---|---|
Type | Instrument de musique |
Matériel | OPL |
Auteur | Ad Lib Inc |
Structure du fichier
Structure d'entête du fichier :
Champ | Taille | Type | Description |
---|---|---|---|
1 | 1 | octet | Ce champ permet d'indiquer la version du fichier, majeur |
2 | 1 | octet | Ce champ permet d'indiquer la version du fichier, mineur |
3 | 6 | octet | Ce champ permet d'indiquer la signature : «ADLIB-» |
4 | 2 | entier | Ce champ permet d'indiquer le nombre d'entrées de liste utilisées |
5 | 2 | entier | Ce champ permet d'indiquer le nombre total d'entrées de liste dans le fichier |
6 | 4 | entier long | Ce champ permet d'indiquer le déplacement absolu dans le fichier du début de la liste de noms |
7 | 4 | entier long | Ce champ permet d'indiquer le déplacement absolu dans le fichier de début de données |
8 | 8 | octet | Ce champ permet d'indiquer le pad (mis à zéro) |
Enregistrement de la section du nom de l'instrument :
Champ | Taille | Type | Description |
---|---|---|---|
1 | 2 | entier | Ce champ permet d'indiquer l'index dans la section de données |
2 | 1 | octet | Ce champ permet d'indiquer l'indicateur : 0 si enregistrement utilisé, sinon 1 |
3 | 9 | octet | Ce champ permet d'indiquer le nom de l'instrument (maximum 8 caractères + NULL) |
Enregistrement de la section de données :
Champ | Taille | Type | Description |
---|---|---|---|
1 | 1 | octet | Ce champ permet d'indiquer le mode (0=mélodique, 1=percussion) |
2 | 1 | octet | Ce champ permet d'indiquer le numéro de voix (si mode percussion) |
Paramètres du modulateur (opérateur 0) :
Champ | Taille | Type | Description |
---|---|---|---|
3 | 1 | octet | Ce champ permet d'indiquer le niveau d'échelle de tonalité |
4 | 1 | octet | Ce champ permet d'indiquer le multiplicateur de fréquence |
5 | 1 | octet | Ce champ permet d'indiquer le facteur de modulation de rétroaction |
6 | 1 | octet | Ce champ permet d'indiquer le taux d'attaque |
7 | 1 | octet | Ce champ permet d'indiquer le niveau de sustain |
8 | 1 | octet | Ce champ permet d'indiquer le maintien du son |
9 | 1 | octet | Ce champ permet d'indiquer le taux de décroissance |
10 | 1 | octet | Ce champ permet d'indiquer le taux de relâchement |
11 | 1 | octet | Ce champ permet d'indiquer le niveau de sortie |
12 | 1 | octet | Ce champ permet d'indiquer le vibrato d'amplitude (tremolo) |
13 | 1 | octet | Ce champ permet d'indiquer le vibrato de fréquence |
14 | 1 | octet | Ce champ permet d'indiquer la mise à l'échelle de l'enveloppe |
15 | 1 | octet | Ce champ permet d'indiquer l'un des modes suivants : 0=synthèse FM, 1=synthèse additive |
Paramètres du porteur (opérateur 1) (pour les canaux mélodiques et la grosse caisse uniquement) :
Champ | Taille | Type | Description |
---|---|---|---|
3 | 1 | octet | Ce champ permet d'indiquer le niveau d'échelle de tonalité |
4 | 1 | octet | Ce champ permet d'indiquer le multiplicateur de fréquence |
5 | 1 | octet | Ce champ permet d'indiquer le facteur de modulation de rétroaction |
6 | 1 | octet | Ce champ permet d'indiquer le taux d'attaque |
7 | 1 | octet | Ce champ permet d'indiquer le niveau de sustain |
8 | 1 | octet | Ce champ permet d'indiquer le maintien du son |
9 | 1 | octet | Ce champ permet d'indiquer le taux de décroissance |
10 | 1 | octet | Ce champ permet d'indiquer le taux de relâchement |
11 | 1 | octet | Ce champ permet d'indiquer le niveau de sortie |
12 | 1 | octet | Ce champ permet d'indiquer le vibrato d'amplitude (tremolo) |
13 | 1 | octet | Ce champ permet d'indiquer le vibrato de fréquence |
14 | 1 | octet | Ce champ permet d'indiquer la mise à l'échelle de l'enveloppe |
15 | 1 | octet | Ce champ n'est inutilisé |
29 | 1 | octet | Ce champ permet d'indiquer la forme d'onde pour le modulateur |
30 | 1 | octet | Ce champ permet d'indiquer la forme d'onde pour la porteuse |
Fréquences des notes
Le tableau suivant contient les fréquences en Hertz pour les notes des octaves 1 à 8. Le Do central est dans l'octave 5.
Note | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
C | 16.352 | 32.703 | 65.406 | 130.81 | 261.63 | 523.25 | 1046.5 | 2093.0 |
C# | 17.324 | 34.648 | 69.295 | 138.59 | 277.18 | 554.37 | 1108.7 | 2217.5 |
D | 18.354 | 36.708 | 73.416 | 146.83 | 293.66 | 587.33 | 1174.7 | 2349.3 |
D# | 19.445 | 38.890 | 77.781 | 155.56 | 311.13 | 622.25 | 1244.5 | 2489.0 |
E | 20.601 | 41.203 | 82.406 | 164.81 | 329.63 | 659.26 | 1318.5 | 2637.0 |
F | 21.826 | 43.653 | 87.307 | 174.61 | 349.23 | 698.46 | 1396.9 | 2793.8 |
F# | 23.124 | 46.249 | 92.499 | 184.99 | 369.99 | 739.99 | 1480.0 | 2960.0 |
G | 24.499 | 48.999 | 97.998 | 195.99 | 391.99 | 783.99 | 1568.0 | 3136.0 |
G# | 25.956 | 51.913 | 103.82 | 207.65 | 415.31 | 830.61 | 1661.2 | 3322.4 |
A | 27.500 | 55.000 | 110.00 | 220.00 | 440.00 | 880.00 | 1760.0 | 3520.0 |
A# | 29.135 | 58.270 | 116.54 | 233.08 | 466.16 | 932.32 | 1864.7 | 3729.3 |
B | 30.867 | 61.735 | 123.47 | 246.94 | 493.88 | 987.77 | 1975.5 | 3951.1 |
Voir également
Références des cartes d'ordinateur - AdLib Music Synthesizer Card