Introduction
Pour commencer il faut savoir qu'il n'y a que trois sortes de musique dans BG2 : les musiques d'ambiance, de combat et de romance (le reste sont des sons qui ne sont pas gérés de la même manière).
Elles sont composées d’un fichier .mus et de fichiers .acm. Le fichier mus se trouve dans le dossier music et les fichiers acm dans un sous dossier portant le même nom que le fichier mus. Enfin ces musiques sont référencées par un numéro dans le fichier songlist.2da.
La complexité des musiques est dans l’ordre croissant : romance, ambiance et combat. Ici, il ne sera question que des musiques de romance.
Il existe différentes méthodes pour installer une musique, celle qui est exposée ici est la plus lente mais la plus compacte en terme de taille de fichiers tout en étant relativement fidèle à la technique utilisée dans le jeu original pour les personnages romançables.
Pour ce tutorial l’exemple qui sera pris sera celui du mini-mod écrit pour l’occasion : Deecy-Music. Cliquez sur ce lien pour le télécharger
I - Choix et encodage de la musique
- Il faut choisir un musique ou un extrait de musique qui fasse environ 60 secondes.
- Il faut ensuite doubler sa vitesse.
- Enfin l’encoder en ogg (codec comparable au mp3 mais qui a l’avantage d’être ouvert, libre et dégagé de tout brevet).
Il faut choisir un nom de 7 caractères maximum (préfixe éventuel inclus) pour la musique. Exemple : E_DeMus.ogg (E_ est le préfixe, De signifie Deecy, Mus est pour musique).
L’objet de ce tutorial n’étant pas Audacity, voici brièvement la fonction permettant de :
- Couper éventuellement la musique afin qu’elle fasse 60 secondes. On peut soit sélectionner les parties à enlever puis faire Edition/Effacer, soit sélectionner le morceau à garder et faire Edition>Ne garder que la sélection.
- Si le morceau choisi est au milieu d’une piste originale, on peut utiliser les fonctions Effets>Fondre en ouverture et Effets>Fondre en fermeture afin d’augmenter et diminuer progressivement le volume en début et en fin du morceau. Il faut sélectionner la zone concernée avant d’appliquer l’effet.
- Doubler la vitesseEdition>Sélectionner>Tout sélectionner puis, Effet>changer la vitesse entrer 100.00 en pourcentage de modification puis cliquer sur OK.
- Encoder en oggFichier>Exporter comme Ogg Vorbis sous le nom choisi, suivi du caractère A majuscule. Exemple : E_DeMusA.ogg
II – Insertion de la musique dans la base du jeu
- Il faut rajouter la ligne de code suivante dans le script à l'endroit où l'on veut lancer la musique :
où 991274 est un nombre de votre choix de préférence à 6 chiffres et commençant par 99.PlaySong(991274)
- Ensuite, il faut écrire le fichier mus, c'est un simple fichier texte qui comporte les 3 lignes suivantes :
La ligne 1 doit être le nom choisi pour la musique et les lignes 2 et 3 restent les mêmes. Il faut l'enregistrer sous le nom choisi, suivi de l'extension .mus. Exemple : E_DeMus.mus[/INDENT]E_DeMus
1
A @TAG END
- Dans le fichier tp2 il faut ajouter les lignes suivantes
Dans tout ce code il faut remplacer :// Création de dossier de la musique
MKDIR ~music/E_DeMus~
ADD_MUSIC ~E_DeMus~ ~Deecy/E_DeMus.mus~
COMPILE ~Deecy/E_DeeSrc.baf~
COPY ~override/E_DeeSrc.bcs~ ~Deecy/E_Deecy.bcs~
COPY ~Deecy/E_Deecy.bcs~ ~override~
REPLACE_TEXTUALLY 991274 ~%E_DeMus%~
- E_DeMus par le nom de la musique
- Deecy par le nom du dossier du mod
- E_DeeSrc par le nom du fichier source du script
- E_Deecy par le nom du fichier compilé du script, tel qu'il est décrit dans le fichier cre du personnage.
ADD_MUSIC ~E_DeMus~ ~Deecy/E_DeMus.mus~ ajoute la musique dans le fichier songlist.2da et lui affecte un numéro de référence.
COMPILE ~Deecy/E_DeeSrc.baf~ compilation du fichier source du script
COPY ~override/E_DeeSrc.bcs~ ~Deecy/E_Deecy.bcs~ copie du script compilé vers le dossier Deecy en le renommant E_Deecy
COPY ~Deecy/E_Deecy.bcs~ ~override~
REPLACE_TEXTUALLY 991274 ~%E_DeMus%~ copie le script compilé en remplaçant 991274 par le numéro de référence de la musique dans le songlist.2da.
[/INDENT]III–Copie et décodage des fichiers
Il faut maintenant décompresser les fichiers ogg en fichiers acm. Il n'existe pas (à ma connaissance) de logiciel, en ligne de commande, qui le fasse directement. Il faut donc en utiliser deux successivement : un décodeur ogg-->wav et un encodeur wav-->acm.
Pour le ogg-->wav, on peut utiliser le oggdec Cliquez sur ce lien pour accéder à son téléchargement
Pour le wav-->acm on peut utiliser le snd2acm qu'on peut trouver dans la rubrique Sound de cette page
Il faut ensuite placer les fichiers oggdec.exe et snd2acm.exe dans le dossier du mod.
Les actions de copie et de décompression ne sont pas directement lancées par le tp2 mais par un fichier de commande (aussi appelé batch) qui est appelé par le tp2. Il a l'extension .bat
Fichier install-mus.bat commenté, les lignes commençant par rem sont des commentaires :
Il faut remplacer@echo off
rem Affichage de "Install music"
echo Install music
rem Décodage du fichier musique de ogg->wav
Deecy\oggdec -w Deecy\E_DeMusA.wav Deecy\E_DeMusA.ogg
rem Encodage du wav->acm directement dans le répertoire approprié
Deecy\snd2acm -wav Deecy\E_DeMusA.wav music\E_DeMus\E_DeMusA.acm
rem Suppression des fichiers temporaires
del Deecy\E_DeMusA.wav
rem Affichage de "Music intalled"
echo Music intalled
- Deecy par le nom du dossier du mod
- E_DeMus par le nom du fichier de la musique
- E_DeMusA par le nom donné au fichier ogg
A la désinstallation du module, il faut supprimer le dossier créé dans music ainsi que ce qu'il contient. Là encore on utilise un fichier de commande.AT_INTERACTIVE_EXIT ~Deecy/Install-mus.bat~
Fichier uninstall-mus.bat commenté, les lignes commençant par rem sont des commentaires :
Il faut remplacer :@echo off
rem Afficher "Uninstall music"
echo Uninstall music
rem Suppression du fichier
del music\E_DeMus\E_DeMusA.acm
rem Suppression du dossier E_DeMus
rd music\E_DeMus
rem Afficher "Music uninstalled"
echo Music uninstalled
- E_DeMus par le nom du fichier de la musique
- E_DeMusA par le nom donné au fichier ogg
Désolé pour toutes les fautes d'orthographe. J'attends vos commentaires et suggestions avec impatience.AT_INTERACTIVE_UNINSTALL ~Deecy/Uninstall-mus.bat~
EDIT
Les listings des fichiers install.bat et uninstall.bat ont été remplacé par le version simplifié proposé par Isaya dans le post #4 ci-dessous.