Lorsque mon neveu m'a demandé conseil pour des problèmes qu'il rencontrait avec Kontakt 5, j'ignorais tout de la musique électronique et des échantillonneurs de son. Pour arriver à cerner son problème assez pour rendre service, j'ai dû me documenter tant sur le Web qu'en téléchargeant et en installant le logiciel gratuit Kontakt Player 5. Cet article est donc une compilation des notes que j'ai prises sur le sujet.
Mon neveu est musicien, il maintient le site Web Jeff Peaks où il affiche sa musique. Pour générer cette musique, il utilise le logiciel Kontakt 5 de Native Instruments. Récemment, il a eu des problèmes avec l'envoi de sa musique à des correspondants et m'a demandé conseil. Comme il n'est pas un "geek" de l'informatique et que je ne suis pas musicien, j'ai dû faire de nombreuses recherches pour me familiariser avec le logiciel et essayer de lui fournir une solution a son problème.
Le son
En physique, le son est une onde produite par la vibration mécanique d'un support fluide ou solide et propagée grâce à l'élasticité du milieu environnant sous forme d'ondes longitudinales [Wikipedia]. On pourrait dire que c'est une alternance de condensations et de raréfaction des particules du média dont la distance entre les pics et les creux s'appelle la longueur d'onde, une valeur qui est inversement proportionnelle à la fréquence. La fréquence est exprimée en Hertz (Hz ou cycles par secondes) et elle est directement liée à la hauteur d'un son perçu. À une fréquence faible correspond un son grave, à une fréquence élevée un son aigu. L'amplitude du son est généralement exprimée en dB (décibels).
Le diagramme à droite montre une visualisation du son et de ses fréquences sur un écran. Sa nature ondulatoire se prête à toutes sortes de techniques permettant de l'analyser (théorème de Fourier) et d'en modifier les caractéristiques. On va y revenir plus loin.
Perception du son
Tout être vivant doté d'une ouïe ne peut percevoir qu'une partie du spectre sonore: les humains peuvent entendre des sons dont la fréquence se situe entre 15 Hz et 20 kHz (ça varie avec l'âge) alors que les chats sont sensibles jusqu'à 65 kHz, les chiens jusqu'à 45 kHz et les chauve-souris jusqu'à 500 kHz. Pour notre oreille, le son est une sensation auditive provoquée par une onde acoustique. Si le son est périodique et harmonieux, on appelle cela de la musique.
Le diagramme à droite décrit le seuil de perception de l'oreille humaine. Sa capacité maximum se situe autour de 4 kHz et il faut beaucoup d'énergie sonore pour entendre un son à 15 kHz. On peut conclure de ce graphique que l'on entend surtout correctement les fréquences situées dans la gamme allant de 2 à 5 kHz.
Par exemple, un fichier .mp3 est un fichier comprimé dont l'algorithme de compression (fonctionnant sous le principe des fréquences masquées) est destructeur (on ne peut revenir en arrière une fois qu'on a compressé). Si, dans un groupe de fréquences, certaines ont un niveau sonore beaucoup plus élevé que d'autres, il n'est pas nécessaire de conserver les fréquences de niveau sonore faible : on ne les entendra pas. Pour faire simple, on va les supprimer du fichier et ça génère un fichier qui prend moins de place. La compression n'altère que faiblement le son pour l'oreille humaine, parce qu'il retire les fréquences normalement inaudibles pour l'auditeur moyen dans des conditions habituelles d'écoute, pour ne conserver que les sons «audibles».
La musique électronique est un type de musique qui a été conçu à partir des années 1950 avec des générateurs de signaux et de sons synthétiques. Avant de pouvoir être utilisée en temps réel, elle a été primitivement enregistrée sur bande magnétique, ce qui permettait aux compositeurs de manier aisément les sons, par exemple dans l'utilisation de boucles répétitives superposées.
Echantillonneurs
Le mot "sampling" ou échantillonnage n'est qu'un nouveau mot pour désigner l'enregistrement du son sur un médium numérique. Un échantillonneur, aussi connu sous l'anglicisme "sampler", est un instrument de musique électronique dont la structure est semblable à celle d’un synthétiseur: à leur source, un générateur de sons produit des signaux non traités en réponse aux notes MIDI entrantes. Ces signaux sont ensuite traités de diverses manières puis envoyés en sortie.
La différence réside dans le fait que le générateur de sons d’un synthétiseur typique crée lui-même ses formes d’onde à partir de procédés électriques ou mathématiques, se limitant souvent à un éventail de formes d’onde bien définies, tandis qu’un échantillonneur peut utiliser n’importe quelle donnée audio préalablement enregistrée – des instruments acoustiques échantillonnés, des effets sonores, des voix, et bien sûr toute forme d’onde classique utilisée par un synthétiseur.
Beaucoup d'échantillonneurs sont aujourd'hui réduits à la fonction de lecteurs d'échantillons. Ils servent souvent à jouer sur un clavier électronique en profitant d'un son extrêmement réaliste. Cela est rendu possible par l'utilisation de plusieurs centaines d'échantillons issus de l'enregistrement méthodique d'un véritable instrument, chaque échantillon correspondant à une note, une nuance, un enchaînement, une technique de jeu
Très souvent, les échantillonneurs offrent des filtres, de la modulation grâce à des oscillations basses fréquences ou d'autres processus ressemblant à un synthétiseur. La plupart offrent des capacités de jouer plusieurs notes en même temps (on parle alors de capacité polyphoniques) ou jouer plusieurs sons en même temps (on parle alors d'échantillonneurs multi-timbres).
Il faut noter que l'utilisateur peut aussi enregistrer et sauvegarder ses propres échantillons sonores.
L'échantillonneur Kontakt
Native Instruments Software Synthesis GmbH (NI) est une compagnie oeuvrant dans le domaine technologique qui a développé des logiciels pour la production de musique. Fondée en 1996, elle a été identifiée principalement pour ses instruments de musique virtuels sur ordinateurs.
Selon son site, Native Instruments, le fabriquant de l'échantillonneur Kontakt, ce logiciel a vu sa première version apparaître en 2002, une époque où les échantillonneurs étaient si chers que seuls certains musiciens professionnels pouvaient se les payer. Kontakt a rempli ce vide.
Depuis un peu plus de 10 ans, Native Instruments a mis son logiciel à jour à quatre reprises et Kontakt 5 est la version la plus récente. Native Instruments présente Kontakt 5.0 comme ayant, et je cite, « Unprecedented power, a vast instrument library, effects and an advanced sampling framework plus deep editing capabilities ».
Note importante
Je suis un peu mal placé pour décrire le logiciel Kontakt car je n'ai pas ce logiciel sur mon PC.
Je dois donc me fier à ce que j'ai lu sur le Web.
Afin d'en savoir plus, j'ai téléchargé Kontakt Player 5 et je me suis amusé avec.
Le meilleure description que j'ai trouvée des tâches exécutées par Kontakt provient de son manuel d'utilisation. La voici:
Pour faire vite, KONTAKT est l’une des meilleures solutions d’échantillonnage de l’industrie audio. En tant que tel, ce logiciel vous permet de jouer et traiter les samples audio – mais ceci ne représente qu’une infime partie de ses capacités. Avec KONTAKT, vous pouvez créer des instruments virtuels sophistiqués basés sur des samples, traiter leur signal audio avec de puissantes structures de traitement numérique du signal, construire des configurations complexes de performances, et accéder à nombre gigantesque de bibliothèques de samples de tierces parties. Et tout ceci avec simplicité – l’interface d’utilisation de KONTAKT vous permet de vous concentrer sur les sections pertinentes pour la tâche du moment, sans vous égarer dans d’innombrables détails techniques.
La structure globale de Kontakt n’est pas différente de celle des autres échantillonneurs, mais elle est de loin plus sophistiquée. Par exemple, Kontakt n’impose au signal aucun chemin particulier dans les instruments – sa démarche pour le traitement du son et de la modulation des paramètres est entièrement modulaire. Tout est possible, du simple déclenchement d'échantillons lus une seule fois à la construction d’instruments virtuels sophistiqués qui reproduisent fidèlement tous les aspects de leurs pendants acoustiques et réagissent intelligemment aux actions de l'utilisateur.
Cependant, cette puissance a un prix: si vous pouvez charger et jouer sur vos premier instruments Kontakt immédiatement, il vous faudra un peu plus d’entraînement pour passer maître dans la création de vos propres instruments.
Notons que Kontakt peut être employé en deux modes: comme logiciel seul (stand alone) ou comme plug-in de certains autres logiciels. Il existe aussi une version gratuite comportant un minimum de capacités: Kontakt Player.
Interface usager
L'interface usager de Kontakt 5 est assez intuitif. Jetons un oeil à la fenêtre principale de Kontakt lors d’une session typique: l’utilisateur de cette session a configuré plusieurs instruments de manière à pouvoir les jouer via différents canaux MIDI. Approchons-nous un peu des principaux éléments visibles de l’interface:
- En haut de l’interface utilisateur, le "Main Control Panel" propose des boutons qui affichent et masquent diverses parties optionnelles de l’interface, comme par exemple le Browser; il inclut également un menu déroulant contenant des fonctions et options globales, ainsi que des indicateurs d’état.
- Le Browser (partie gauche de l’interface) propose des fonctions permettant de gérer votre collection de fichiers pertinents pour KONTAKT. Sur la copie d’écran, il est actuellement ouvert sur l’onglet "fichiers", qui contient un navigateur pour le système de fichiers.
- Le Rack, qui prend la plus grande partie de l’interface utilisateur, est actuellement en mode Multi Instrument (Multi Rack); sous son propre en-tête, il affiche plusieurs autres en-têtes, les Instrument Headers (En-têtes d’Instruments) ; ceux-ci représentent tous les Instruments du Multi actuel.
- À l’intérieur du Multi Rack, les Instrument Headers sont affichés en taille normale; ils contiennent le nom de l’Instrument et différents paramètres, tels que le canal MIDI d’entrée, le niveau de sortie, la position panoramique et l’accordage.
- Un Instrument Header qui a été minimisé pour gagner de la place.
- La section Outputs, qui affiche une tranche de canal pour chaque Output Channel (Canal de sortie) configuré, plus quatre Aux Channels (Canaux auxiliaires).
- L’Info Pane, qui affiche sous le Browser quelques détails concernant le fichier Instrument actuellement sélectionné, et sous le Rack une courte explication du contrôle actuellement survolé par la souris.
- La Status Bar (barre d’état), dans laquelle apparaissent les Scripts en cours d’exécution ainsi que, au démarrage, la progression dans le chargement de la base de données.
Tout ce qui précède ce paragraphe dans cette section est tiré du Manuel d'utilisation de Kontakt 5. Je n'irai pas plus loin dans cette description. On peut trouver plus de détails sur l'interface usager dans le manuel d'instruction de Kontakt ou en écoutant le tutoriel vidéo intitulé Course Outline.
Hiérarchie de l'échantillonnage
L’environnement d’échantillonnage de Kontakt est organisé en une hiérarchie de structures de données allant du plus simple au plus compliqué. Cette division fonctionnelle se reflète également dans l’interface utilisateur: la plupart des éléments concernant une tâche spécifique sont regroupés dans un panneau, un onglet ou une boîte de dialogue spécifique.
Suivons le chemin utilisé par Kontakt pour passer de simples fichiers audio à des configurations instrumentales prêtes à jouer, en partant du plus petit élément pour remonter dans la hiérarchie de la structure:
Dans le tableau qui suit, j'explique cette structure:
Blocs | Description | Extension |
---|---|---|
Échantillon | C'est un simple fichier audio sur votre disque dur qui contient éventuellement des méta-données mais ne sont rien d'autre qu'un signal audio enregistré sous différents formats (WAV, AIFF ou REX) | |
Zone | C'est le moyen utilisé par Kontakt pour placer un échantillon sonore dans un contexte jouable. C'est une coquille autour d'un échantillon qui contient aussi des informations sur les données MIDI qui déclencheront l'échantillon sonore | |
Groupe | C'est est un conteneur qui vous permet de combiner plusieurs Zones. | .nkg |
Instrument | C'est l’équivalent virtuel de l’instrument acoustique. Lorsqu’il est joué, il produit un ensemble spécifique de sons, vraisemblablement avec plusieurs timbres, dynamiques et articulations. Techniquement parlant, un instrument est un conteneur pour un certain nombre de Groupes dont les signaux de sortie sont mélangés et traversent une même chaîne du signal ; les modules de cette chaîne se situent donc dans ce que l’on nommera le « niveau instrument ». | .nki |
Instrument bank | C'est un élément facultatif qui permet de regrouper jusqu'à 128 instruments dans un conteneur qui répondra à un seul canal MIDI. | .nkb |
Multi | Le Multi permet de combiner librement jusqu’à 64 instruments dans une configuration de production. C'est l'élément le plus élevé de la hiérarchie de Kontakt où chaque instrument répond à un canal MIDI spécifique et envoie son signal à un canal de sortie spécifique. | .nkm |
Dans ce tableau, la troisième colonne donne l'extension des fichiers de sauvegarde de chaque niveau de la hiérarchie.
Pour plus de détail sur la façon d'utiliser ces structures, je recommande le visionnement du vidéo Structure of An Instrument.
Fichiers de sauvegarde
Extension | Fichier |
---|---|
.nkg | Sauvegarde d'un groupe |
.nki | Sauvegarde d'un instrument |
.nkb | Sauvegarde d'une banque d'instruments |
.nkm | Sauvegarde d'un multi |
Lorsqu'on compose de la musique ou qu'on crée de nouveaux instruments avec Kontakt, il est utile de sauvegarder son travail. Comme il est mentionné plus haut, on peut sauvegarder les groupes, les instruments, les banques d'instruments et les multi dans des fichiers qu'on pourra ainsi récupérer plus tard. Ces fichiers de sauvegarde portent les extensions indiquées dans la table ci-contre.
Dans le menu "fichiers", on peut utiliser le sous-menu "save as" qui permet de sauvegarder n’importe quel instrument de votre Multi sous la forme d’un fichier .nki pour un usage ultérieur. Lorsqu'on déplace la souris sur cette entrée, un sous-menu s’ouvre avec une liste de tous les instruments contenus dans le Multi actuel. Lorsqu'on sélectionne l’un d’entre eux, une boîte de dialogue d’enregistrement s’ouvre et permet de choisir un emplacement et un nom pour le fichier instrument. Notez que le nom du fichier – sans l’extension .nki – sera utilisé comme nom pour l’instrument dans l’Instrument Header.
Sous la zone de sélection de fichier, la boîte de dialogue permet de choisir comment Kontakt doit manipuler les échantillons référencés par l’instrument. Si on a ajouté ces échantillons à notre instrument lors de la session actuelle, les échantillons se trouvent encore à leur emplacement d’origine, et les Zones de l'instrument leur font référence via leur chemin d’accès complet ; les différentes options de la boîte de dialogue d’enregistrement permettent d’ajuster ce comportement avant que l’instrument ne soit écrit sur le disque dur. Ces options sont les suivantes:
Patch Only
Cette option laisse les échantillons à leurs emplacements d'origine et laisse les références aux fichiers dans leur état actuel. Ceci entraîne la création de fichiers très légers, puisque seuls les paramètres de l’instrument sont enregistrés.
Attention, cette méthode ne maintient le lien entre l’instrument et ses échantillons que de manière relativement fragile ; si vous déplacez les échantillons ou si vous les supprimez, Kontakt ne sera plus en mesure de les retrouver la prochaine fois que vous tenterez de charger cet instrument. Si c’est le cas, une boîte de dialogue « Samples Missing » (échantillons manquants) apparaît, vous demandant les emplacements où Kontakt doit rechercher les échantillons.
Patch + Samples
Cette option enregistrera le fichier .nki et copiera les échantillons inclus à un nouvel emplacement, remplaçant lors de l’enregistrement les références du fichier instrument par celles pointant vers les copies des échantillons.
Si vous laissez l’option Sample Sub-Folder à sa valeur Use Default, Kontakt enregistrera les fichiers échantillons dans un dossier « Samples » à côté du fichier instrument, dans le dossier de destination; s’il n’existe pas encore, ce dossier sera créé. De cette manière, les échantillons restent auprès de l’instrument, ce qui vous aide à garder leur trace lorsque vous effectuez des sauvegardes ou lorsque vous déplacez des répertoires. Mais vous pouvez également spécifier un emplacement différent pour les Samples; par exemple, vous voudrez peut-être utiliser un dossier « Samples » commun situé dans le répertoire de votre projet.
Monolith
Cette option combine l’instrument et ses échantillons référencés dans un seul gros fichier. C’est l’option la plus sûre pour garder intactes les références aux échantillons, puisque ceux-ci ne pourront pas être séparés accidentellement de l’instrument. C’est aussi un bon moyen de créer des instruments qui peuvent être distribués à d’autres utilisateurs de Kontakt.
Compression des fichiers
Si vous décidez de sauvegarder les échantillons référencés avec votre instrument via Patch + Samples ou Monolith, vous avez la possibilité de les enregistrer sous un format compressé en cochant la case sous le champ du sous-dossier. Dans ce cas, Kontakt écrit les échantillons en utilisant un codec audio propriétaire sans perte qui permet d’atteindre des taux de compression entre 30 % et 50 %. Ceci aura non seulement l’avantage d’accélérer l’accès au disque lors de la lecture de l’instrument, mais également celui de réduire son empreinte mémoire, car Kontakt décompressera les échantillons à la volée depuis la mémoire, et ce avec une très faible surcharge pour le processeur. L’inconvénient d’utiliser des échantillons compressés, cependant, est que vous ne pouvez plus y accéder au moyen d’éditeurs audio externes.
Flux des signaux sonores à travers Kontakt
Maintenant qu'on a débrouillé un peu l'anatomie de Kontakt, il reste à découvrir comment le signal sonore est traité par le logiciel. Je sais que le signal sonore origine dans des périphériques d'entrée comme un clavier ou une console MIDI. À la sortie, on retrouve d'autres périphériques qui vont reproduire les sons générés. Il ne reste plus qu'à savoir ce que Kontakt fait entre l'entrée et la sortie.
Sur ce point, je n'ai presque rien trouvé comme documentation. Cependant, j'ai trouvé ce qui suit dans le Kontakt Script Language Manual:
As you'll recall from the Kontakt manual, from the point of hitting
a key on the keyboard to actually hearing the sound, the audio signal goes through various
stages (this is somewhat simplified):
Play a note → Source (sample is triggered) → Group FX → Amplifier → Instrument FX → Output
Après quelques recherches, j'ai trouvé un diagramme du flux de signal beaucoup plus détaillé dans un document publié par Native Instruments quoique ce diagramme semble s'appliquer à Kontakt 2.
Dans ce diagramme beaucoup plus détaillé que le précédent, on voit le trajet effectué tant par le signal audio à partir de la source (trait solide) que la propagation des données de contrôle (tirets) qui altèrent les divers composant du logiciel lorsque les contrôles MIDI sont modifiés.
Lorsqu'une touche du clavier MIDI est enfoncée, le module source joue alors un échantillon auquel on peut ajouter des effets sonores comme un filtre, une distorsion, de la saturation, un effet phonographe (lo-fi), une compression ou une mise en évidence d'un effet stéréo. Ces effets sonores peuvent être modulés, agissent en série et s'appliquent à chaque groupe.
Le son est ensuite amplifié (ajustements du volume et du panning) et chaque groupe est ensuite passé au niveau instruments. À ce niveau, les mêmes effets sonores qu'auparavent peuvent encore être appliqués en plus de ceux que NI appelle des "send effects" qui s'appliquent en parallèle et sont partagés par chaque groupe composant l'instrument.
Kontakt Script Processor (KSP)
Le processeur de scripts de Kontakt a été introduit avec Kontakt 2.0. En anglais, on l'appelle le "Kontakt Script Processor" ou "KSP". Il s'agît d'une partie importante de l'architecture du logiciel qui serait placé entre la source et l'insertion des effets de groupe. KSP n'est pas un simple processeur de musique électronique (MIDI) qui effectuerait une opération sur son entrée et produirait le son correspondant. Dans ce cas, il suffirait d'utiliser n'importe quel processeur MIDI et de l'introduire entre le clavier et Kontakt. Kontakt fait plus que cela: il est capable d'aller chercher des paramètres spécifiques à Kontakt comme le nom des groupes dans un instrument ou de passer des paramètres de Kontakt au module source qui se trouve ainsi modifié.
Le langage de script de Kontakt
Un script est un ensemble d'instructions qui sont interprétés par un interpréteur (ici KSP). Le langage de script de Kontakt a ceci de particulier qu'il ne fait que réagir aux messages d'événements générés par Kontakt entre le moment où une touche du clavier MIDI ou lorsqu'un contrôle de la console MIDI sont activés et la production du son par le logiciel. Les principaux événements détectés sont:
- on init - survient lors du chargement du script;
- on note - survient lorsqu'une note du clavier MIDI est enfoncée;
- on release - survient lorsq'une note du clavier MIDI est relâchée;
- on controller - survient lorqu'un bouton est poussé ou qu'une molette de la console MIDI est tournée;
pour n'en nommer que quelques uns.
Dans le script, les instructions qui interviennent entre on <événement> et end on constituent le callback, c'est à dire, le code qui gère l'événement et est exécuté en réponse à l'événement.
La syntaxe du langage est relativement conventionnelle. Les noms de variable commencent tous par $ et elles doivent être déclarés dans le callback de on init. Le langage supporte les opérations arithmétiques, les opérations conditionnelles, les opérations logiques, les opérations en boucles comme la majorité des autres langages de script comme PHP et Javascript. De plus, le langage supporte des commandes et des fonctions du logiciel qui conditionnent le comportement final du son.
La syntaxe des scripts de Kontakt est détaillée dans le document intitulé "KSP Reference Manuel" qui est fourni avec l'application. Une description du langage un peu moins formelle est disponible dans le Kontakt Script Language Manual. Niels Berg a écrit un tutoriel qu'on trouve sur Neil Lieberg's Script Tutorial. Finalement, le débutant peu aller voir Dive into Kontakt Scripting: A Gentle Introduction, plus Script Downloads.
Conclusion
Je termine donc mes notes sur le logiciel Kontakt de Native Instruments en notant la complexité et la souplesse de ce logiciel quant il s'agît de composer de la musique. Je ne suis pas entré dans les détails (en plus, je n'ai pas tout compris car j'ai à peine 10 heures d'expérience dans le domaine) car ce serait trop long. Cependant, Native Instruments présente des vidéos explicatifs qui scrutent tous les détails dont l'utilisateur peut se servir. Ces vidéos développés par Scott Frieman sont Native Instruments 105 Exploring Kontakt qui couvre le comment utiliser Kontakt en 59 tutoriels et Native Instruments 205 Advanced Kontakt qui couvre les aspects avancés du logiciel en 56 tutoriels. Il faut toutefois noter que seuls les tutoriels d'introduction sont gratuits.
Pour ce qui est du problème de mon neveu, sa recherche a démontré qu'il était ailleurs: une question de license, m'a-t-il dit.