Informatique et Musique
|
Le sujet est bien sûr très très large, je me contenterai dans cette page de présenter des logiciels, des concepts et des outils développés pour la composition et les arrangements automatiques. Certains logiciels ont fait leurs preuves et sont utilisés par de nombreux producteurs et compositeurs comme outils d'aide à la composition, d'autres sont des travaux expérimentaux ou des travaux universitaires.
La musique automatique :
Avant de commencer, et pour éviter les confusions, quelques définitions s'imposent:
Musique automatique: ou composition automatique, la musique est composée de façon automatisée notamment en utilisant l'outil informatique.
Musique assistée par ordinateur: ou MAO, ici il s'agit d'outils informatiques permettant de structurer le procesus de production musicale, et d'éditer la musique avec d'autres approches que la partition traditionnelle.
Je distinguerai deux catégories de logiciels, une première catégorie puise les éléments de la musique générée dans une base de données, et une seconde catégorie (plus expérimentale celle-ci), utilise presque exclusivement les mathématiques pour générer de la musique.
Ces logiciels proposent à l'utilisateur une ligne mélodique sur base d'une progression d'accords que celui-ci aura programmée, ou à l'inverse une suite d'accords sur base d'une mélodie que l'utilisateur aura introduite. Ce travail sera fait sur base d'un style musical que le compositeur aura choisi dans la base de données du logiciel. Cette base est constituée de templates, c-à-d d'exemples musicaux que le logiciel analysera avant de générer sa musique. Ici la musique automatique générée répondra à des critères d'harmonie qui dépendent principalement du style choisi. Ce genre de logiciel à mon avis ne risque pas de produire une grande œuvre musicale mais reste très intéressant pour l'arrangeur en manque d'inspiration, et produira toujours une pièce conventionnelle mais sans plus. Le logiciel le plus connu dans cette catégorie est Band In A Box.
Band In a Box :
Fonctionnement de base :
Sur base d'une suite d'accords que vous introduisez dans le logiciel, Band In A Box vous proposera une orchestrations et des arrangements finis en prenant en compte le style musical et le tempo que vous aurez choisis. Ainsi, une piste rythmique de batterie sera crée, une piste piano, une basse, et une piste guitare. En fonction du style musical d'autres pistes vous seront proposées (cordes, cuivres...)
D'autres fonctions intelligentes sont mises à votre disposition, comme la création d'une mélodie sur base de votre suite d'accords, et la fonction soliste qui permet de générer un solo instrumental en prenant en compte le style musical, et permet de se rapprocher de la manière de jouer d'un musicien de renom. Une grande liste de musiciens est accessible via le mode Soliste..
Pour aller plus loin dans la découverte de ce logiciel, je vous conseille la lecture de ce fichier Pdf: http://pascalfaure2.free.fr/tutorielbandinabox.pdf
Site de l'éditeur de Band In A Box: http://www.pgmusic.com
SoundTrek Jammer Pro :
Fonctionnement de base :
Par rapport à Band In A Box, Jammer Pro est un vrai séquenceur midi, avec les fonction habituelles de quantification midi, transposition,...En plus des éditions midi de base il permet de composer réellement de la musique et de créer ses propres styles. La création de nouveaux styles peut se faire à partir d'un fichier MIDI. Son principal défaut est de ne pas proposer de banques de son de qualité, et de ne pas gérer l'audio, mais reste un bon arrangeur très facile d'accès et de surcroit très léger.
Site de l'éditeur de Jammer Pro: http://www.soundtrek.com
2- Logiciels utilisants principalement des calculs mathématiques :
La seconde catégorie de logiciels de musique automatique permet de générer toute une pièce musicale autonome en utilisant des règles d'harmonie, une suite de calcul mathématique et des probabilités. La musique générée est appelée « musique algorithmique », « composition automatique » ou « composition cybernétique ». Apparue à la fin des années 1950, cette musique a commencé à faire partie des travaux de chercheurs et d'universitaires fin des années 1980, la première approche a été une analyse statistique des différents courants musicaux en occident, le saint Graal étant de créer un super compositeur capable de manier tous les styles musicaux sans l'intervention humaine. Il s'agit donc non seulement de logiciel capable de gérer et de comparer des milliers de données, de réaliser des calculs poussés mais surtout d’intelligence artificielle permettant de faire les choix appropriés. Pour espérer arriver à un résultat probant, à savoir rien de moins que simuler la créativité humaine, une réelle collaboration devait être réalisée entre des chercheurs de disciplines aussi éloignées que : la physique, la neurophysiologie, la musique, l'informatique.
Le sujet étant assez récent, contrairement à la première partie de l'article, qui proposait des logiciels que le grand public peut télécharger et tester, ici les informations fournies sont des description de langages de programmation informatique utilisés pour générer de la musique, des vues d'ensemble des concepts utilisés pour cette production, Les logiciels qui seront proposés sont principalement de travaux en cours, vous pourrez écouter des musiques crées à partir de ces systèmes.
Qu'est ce que « Musique Algorithmique » ?
On peut définir un algorithme comme une série de règles finie et structurée qui permet d’exécuter un certain nombre d'opération afin d'atteindre un objectif. Par exemple, si je veux avoir des pommes frites, j'ai besoin d’exécuter dans l'ordre les opérations suivantes : Prendre des pommes de terre, les peler, les mettre dans de l'huile chaude, les servir...etc.. Cette succession de gestes constitue au fait :un algorithme.
Nous pouvons dire que de fait la composition musicale est une composition algorithmique puisque le compositeur passe par un nombre d'étapes, qu'on peut tout à fait définir, et il suit un certain nombre de procédures pour valider ou pas ses essais, mais dans ce cas, et plus précisément au moment de la validation, il nous est impossible de déterminer ce qui fera que tel compositeur trouvera le résultat probant ou insatisfaisant, ni à partir de quelle étape il faut reprendre la composition. Et c'est là que réside la grande difficulté pour la programmation d'une musique automatique.
Exemple de règles pour produire une musique automatique :
Essayons de suivre le comportement d'un ordinateur, et essayons d'établir des règles pour composer de la musique, pour cet exemple je choisirai les 12 notes de la gamme chromatique, et je me limiterai à une octave. Pour chaque note générée je prendrai en compte sa hauteur et sa durée.
Pour être sûr de ne pas intervenir dans le choix des notes ni dans leurs durées, j'utiliserai un dés à 12 faces. Je lance une première fois le dés pour déterminer la note à jouer, sachant que :
1 = Do
2 = Do#
3 = Ré
4 = Ré#
5 = Mi
6 = Fa
7 = Fa#
8 = Sol
9 = Sol#
10= La
11= La#
12= Si
Avec cette première procédure, j'arrive à générer la totalité des notes voulues, excepté les silences. ceux-ci seont déterminés en même temps que la durée des notes. Pour la durée de chaque note, j'utiliserai une méthode similaire avec un dés à 6 faces, avec les règles suivantes :
1= une croche
2= une noire
3= une pointée
4= une blanche
5= Silence (Durée une croche)
6= Silence (Durée une noire)
Là les silences ont deux fois plus de chance d'être générés que les notes, j'ai choisi cette valeur en me disant que ça aérerait notre petite musique expérimentale, mais on peut très bien choisir une autre option.
Expérience de musique algorithmique:
Pour le lancer de dés, j'utiliserai une petite application en ligne http://dicelog.com/dicefr, celle-ci permet de générer des nombres correspondants aux nombres inscrits sur notre dés de façon aléatoire. Je choisirai donc un dé à 12 faces pour déterminer les notes et un dé à 6 faces pour déterminer les silences et les durées des notes.
Voyons dans la vidéo qui suit ce que le hasard nous produira comme musique...
MP3: Mélodie algorithmique (Gamme Chromatique)
Voilà pour le principe de base des musiques algorithmiques, bien sûr, nous pouvons introduire des règles pour forcer la composition d'un style musical défini, on pourra par exemple faire la même expérience non plus dans la gamme chromatique mais dans la gamme de Do Majeur, ce qui réduira le nombre des notes à 7.. Dans le premier exemple toutes les notes avaient le même pourcentage de chance d'être générées, dans la seconde expérience nous pourrions favoriser certaines notes et mettre une hiérarchie de chance d'apparition. Voici un exemple :
1 = Do
2 = Do
3 = Do
4 = Sol
5 = Sol
6 = Fa
7 = Fa
8 = Ré
9 = Ré
10= Mi
11= La
12= Si
Je garde pour la détermination des durées et des silences la même procédure que l'expérience précédente, à savoir :
1= une croche
2= une noire
3= une pointée
4= une blanche
5= Silence (Durée une croche)
6= Silence (Durée une noire)
Voyons le résultat :
MP3: Mélodie algorithmique (Gamme de Do Majeur)
Maintenant que j'ai une ligne mélodique, je vais essayer d'ajouter avec la même approche une ligne de basse et une ligne d'accords. Pour la ligne de basse, je simplifierai mes règles. Les notes auront toutes la même durée (une noire) et seront générées tous les 1ers et 3 èms Temps. Les notes pouvant être générées seront au nombre de 5. J'utiliserai le même dé à 12 face pour determiner la hauteur de la façon suivante:
1 = Do..
2 = Do
3 = Do
4 = Sol
5 = Sol
6 = Fa
7 = Fa
8 = Ré
9 = Mi
10= Mi
11= La
12= La
Pour les lignes d'accords j'utiliserai les notes de la ligne de basse comme fondamentales et j'ajouterai une tièrce et une quinte appartenant à la game de Do Majeur. Les notes de l'accords seront générée le 2eme et 4eme temps et entre les temps. Voici pour les règles, voyons maintenant le résultat:
MP3: Mélodie - basse + accords
Comme vous avez pû le constater, il est possible de produire assez rapidement de la musique automatique, dans le cas présent la composition a été simplifiée au maximum, une programmation plus poussée devrait donner des resultat beaucoup plus intéressants. Le plus important est de trouver les bonnes règles pour produire la musique souhaitée.
Je dois avouer que malgrés mes recherches je n'ai pas trouvé des logiciels testable facilement, étant donné que la plupart sont des projets en cours, mais voici au moins quelques noms d'éditeurs et quelques démos audios qui vous donneront une idée sur les capacités de ces logiciels ..
SoundHelix :
Fonctionnement de base :
SoundHelix est un compositeur de musique algorithmique aléatoire. Il utilise la technologie Java, et peut être paramétré via un fichier XML.
SoundHelix permet de générer un fichier midi, qui pourra être lu par la suite dans un séquenceur ou un expandeur pouvant lire les fichiers midi.
Voici quelques exemples de musiques "Trance" produites par le logiciel:
Site de l'éditeur: http://www.soundhelix.com