Le blog d’un développeur de jeu indépendant
Démos, dessins, tutos et galères du quotidien…

Suivez l’actu par mail !

Pour ne rien rater.

Musique!

Salut tout le monde,

Après un long silence, me voilà de retour pour parler musique, et plus particulièrement, comment on crée de la musique. J’ai récemment essayé de ré-enregistrer la musique du jeu car les premiers essais avaient été faits assez rapidement.

I – Premiers tests audio: Ardour

Pour les 1ers enregistrements, j’ai utilisé Ardour (un logiciel pour Linux), qui est l’équivalent de Protools, une référence dans le domaine musical. Il n’a peut-être pas autant de fonctionnalités que ce dernier, mais ce qu’il propose est largement suffisant pour moi.

Les logiciels de musique/sons sont vraiment excellents (et gratuits!) sous Linux, et ils proposent une philosophie différentes des logiciels sous Windows: ils reposent tous sur un serveur de son (appelé JACK) qui est prévu pour traiter l’information avec un minimum de délai et qui propose donc une réaction quasi temps-réel, mais, surtout, TOUS les logiciels de son sont compatibles entre eux car ils utilisent le mêmes types de canaux d’entrées et sorties (grâce à JACK donc). Ainsi, sous Linux, chaque logiciel a une spécialité (enregistrement, post-processing, effets, synthétiseur, boîte à rythme, création de partitions, enregistrement MIDI) et on peut les combiner comme on le souhaite, alors que sur les autres OS, il est généralement assez difficile de faire communiquer entre eux des logiciels faits par des concurrents.

La très incroyable et intimidante interface d’Ardour, la référence de la musique assistée par ordinateur sous Linux.

Cependant, dans mon cas, Ardour est avant tout un logiciel d’enregistrement, ce qui signifie qu’il est prévu pour capturer la performance de VRAIS instruments, sous réserve d’avoir de bons micros et le matériel nécessaire. Il est très puissant et j’ai essayé d’enregistrer la musique du jeu avec mon petit clavier Yamaha, mais je suis loin d’être un professionnel, et je pouvais entendre tous les couacs. Dans ce cas, pas d’autre solution que de réenregistrer la partie incorrecte. En plus, avec la qualité limitée des sons de mon clavier, le tout sonnait un peu artificiel. Ce n’est pas forcément horrible dans un jeu vidéo de ce style (car, à part dans les grosses productions, c’est rare d’avoir de la musique interprétée par un orchestre symphonique), mais la qualité moyenne des sons me gênait un peu.

Voici le 1er essai pour le thème d’intro, enregistré directement depuis mon clavier:

Si vous ne voyez pas de lecteur audio ci-dessus, cliquez sur ce lien.

Donc, après avoir testé l’enregistrement d’instrument « réel », j’ai basculé vers une autre approche: l’enregistrement MIDI.

II – La promesse des outils MIDI

Comme beaucoup de compositeurs, j’ai finalement choisi d’utiliser un séquenceur MIDI pour créer la musique. J’ai choisis LMMS, un logiciel simple mais puissant, issu du monde Linux, une fois de plus, mais qui fonctionne aussi sous Windows.

[Au passage, à l’heure actuelle, je l’utilise sous Windows car tout mon « pipeline » de production est basé sur Windows (pour le développement, le graphisme, l’audio), mais tous les logiciels que j’utilise fonctionnnte aussi sous Linux, à part Unity. Mais le jour où ils décideront de le porter sous Linux, je pourrai basculer toute ma production sous Linux, pour une meilleur compatibilité des logiciels]

Au fait, c’est quoi un séquenceur MIDI?

Un séquenceur MIDI (Musical Instrument Digital Interface) est un logiciel qui permet d’écrire des partitions dans une version simplifiée (c’est à dire PAS en notation traditionnelle, même si certains le permettent également): quand j’écris ou quand j’enregistre, l’ordinateur n’enregistre pas réellement le SON qui sort de mon clavier, mais il enregistre différentes informations comme la NOTE que je joue, l’INTENSITE, et d’autres paramètres plus subtils à partir desquels il crée donc une partition simplifiée. Les 3 avantages principaux sont:

  • On peut modifier la partition APRES l’enregistrement: par exemple, changer le son d’un instrument, le tempo, ….
  • On peut corriger les erreurs avec un simple clic sur la partition (changer une note, une durée, une intensité, … )
  • On peut « quantizer » (est-ce bien le mot en français?) la partition, de telle sorte que chaque note soit jouée PARFAITEMENT en rythme, ce qui enlève les approximations dues à l’enregistrement live.

Bien sûr, tout n’est pas parfait, mais cette nouvelle méthode simplifie beaucoup la création musicale.

Pour chaque partie enregistrée, on peut sélectionner un type de son. Pour ma part, j’utilise beaucoup les « soundfonts ». C’est à peu près la même chose que les « fonts » (ou « police » en français) pour les caractères d’un texte, sauf qu’au lieu de définir comment afficher un caractère, une soundfont définit comment jouer un son. C’est une sorte de banque de sons/d’instruments. On en trouve énormément sur internet, de différentes qualités, tailles, avec différents types d’instrument. Au final, avec cette méthode, j’ai beaucoup plus de sons disponibles qu’avec mon clavier Yamaha, et la plupart sont de meilleure qualité.

 

Le séquenceur MIDI LMMS. Sur la fenêtre de gauche, les segments bleus représentent différentes parties de la partition. A chaque ligne est attribuée un instrument, avec des réglages particuliers. Pour chaque segment bleu, on peut modifier note par note la partition dans la fenêtre de droite (le « Piano Roll »). Comme vous pouvez le voir, ce n’est pas une partition au sens traditionnel du terme, mais la représentation est assez simple et intuitive.

 

III – Installer LMMS

[Cette partie est un peu technique, vous avez le droit de passer au IV directement ;)]

Voilà qui a l’air cool, mais installer le logiciel m’a pris beaucoup de temps car j’avais une carte son basique. En effet, sur Windows, les pilotes/drivers introduisent systématiquement un délai dans l’enregistrement audio. Ca semble être un problème courant. C’est extrêmement gênant pour enregistrer avec mon clavier car chaque note est systématiquement en retard d’une double croche. Ca rend dingue!

Heureusement, la compagnie ASIO propose une sorte de pilote générique sans délai qui a l’air de bien fonctionner. Malheureusement, ce pilote n’est pas supporté par LMMS de base. J’ai du trouver une librairie DLL des pilotes précompilée avec le support des pilotes ASIO et remplacer la librairie nativement incluse dans LMMS. Je n’aurais pas eu ces problèmes sous Linux, mais ça me permet d’éviter de changer systématiquement entre Linux et Windows quand je travaille sur l’audio.

Toutefois, la version de LMMS que j’avais présentait un problème d’enregistrement MIDI avec des soundfonts (haaa les logiciels gratuits!). Mais la communauté est vraiment présente et une nouvelle version corrective est sortie quelques jours après.

Le dernier problème était l’utilisation des soundfonts. J’en ai trouvé une de bonne qualité mais qui demande plus de 1.5 Go de mémoire (oui vous avez bien lu) et la version 32-bits de LMMS ne peut pas la charger. J’ai donc du tout réinstaller en version 64 bits (LMMS + DLL précompilée). A ce stade, j’ai encore quelques soucis audio de temps en temps, mais globalement, ça va.

Arriver à mettre en place un pipeline stable est parfois long et difficile, mais une fois que c’est fait, on peut enfin travailler sérieusement! Parce que oui, jusqu’à présent, je n’ai encore rien créé.

Mais après avoir essayé quelques instruments virtuels et appris les bases du logiciel (j’ai lu la doc et des tutos pendant quelques heures), j’ai enfin pu ré-enregistrer mon thème d’intro! Et voici donc la nouvelle version enregistrée en MIDI avec des sons un peu meilleurs (j’espère).

Si vous ne voyez pas de lecteur audio ci-dessus, cliquez sur ce lien

Tout ça pour 1mn de musique… Déprimant n’est-ce pas? Mais maintenant, je sais que je peux facilement créer d’autres musiques, et ça c’est une bonne nouvelle. Tout ça m’a pris plusieurs jours à mettre en place, mais par la suite, j’ai pu créer une autre musique de test en quelques heures à peine.

En parallèle, je continue d’écouter des bandes originales de mes jeux préférés sur youtube pendant des heures pour essayer de comprendre comment les musiques sont construites. Super intéressant!

IV – Intégrer la musique dans le jeu

Maintenant j’ai une musique de meilleure qualité, mais comment est-elle jouée dans le jeu?

Dans le jeu, j’ai créé différentes « zones musicales ». Quand le personnage rentre dans une zone, ça déclenche la musique correspondante (avec une transition douce). Et lorsqu’il repart, la musique diminue et s’arrête.

Mais ce n’est pas aussi simple que ça, car, de temps en temps, je veux une musique différente pour une cinématique qui se situe sur une zone musicale. Et il faut aussi gérer la mémoire (les musiques sont assez gourmandes en RAM) et la libérer quand le personnage quitte une zone, particulièrement depuis que j’ai mis en place un monde ouvert.

Bref! Voilà les bases du processus de création musicale. C’était un peu compliqué à mettre en place, mais ça devrait me permettre d’être productif pour la suite.

Merci d’avoir lu jusqu’ici, et à la prochaine!

Paix!

PS: Et la nouvelle de dernière minute qui m’a bien déprimé: la dernière version d’Ardour (le logiciel que j’utilisais au tout début) gère maintenant l’enregistrement MIDI. Aaaaarg! Enfin, mon boulot n’est pas perdu, puisque je devrais pouvoir le réimporter dans la nouvelle version d’Ardour. Je l’essaierai surement à l’occasion, mais il va falloir remettre à jour mon Linux… Et ben, j’ai pas fini avec la musique encore….


Publié

dans

par

Étiquettes :

Commentaires

2 réponses à “Musique!”

  1. Avatar de Matthieu
    Matthieu

    Salut, je suis tombé sur ton blog par hasard et le fan de jeux que je suis n’a pu s’empêcher de commenter. Je trouve tes articles tres réussis ! Bravo !

    1. Avatar de admin
      admin

      Merci l’ami! Ravi que tu aies pu y trouver quelque chose d’intéressant 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *