KandiskyScore est un éditeur graphique pour l'analyse et la création de musique électroacoustique/acousmatique.
Vous pouvez manipuler cinq types d'objets : des objets audios (multicanal), des groupes, des symboles, des images et du texte.
KandiskyScore n'a pas pour vocation de remplacer les séquenceurs traditionnels, comme Reaper ou Ardour.
Il repose sur une autre manière d'aborder la composition électroacoustique au travers de la manipulation d'objets symboliques qu'il est possible de combiner pour former des assemblages complexes. Cela permet d'aborder l'écriture des œuvres électroacoustiques en vue de la réalisation de partitions partielles ou globales.
Cet outil a pour objectif de proposer un environnement visuel qui accompagne le compositeur tout au long de l'élaboration de son œuvre.
Sa conception permet un développement itératif en favorisant la dérivation de nouveaux objets et des sauvegardes incrémentales du projet.
Il repose fondamentalement sur la notion d'objets audios. Il s'agit de mettre en relation ces objets et d'en préciser la nature en utilisant des symboles ou des annotations textuelles.
Par ailleurs, Kandiskyscore permet d'intégrer l'espace comme composante essentielle en proposant un outil de spatialisation qui fait appel à des greffons écrits en langage Faust. Ceux-ci dérivent de la description d'un studio donné par l'application "Nouveau studio" dans le menu "Atelier". Vous pouvez ainsi décrire votre propre espace de travail et obtenir un DSP qui pourra être compilé en interne lors de la définition du projet.
Le compositeur pourra toujours finaliser l'audio dans le séquenceur de son choix en utilisant des scripts d'exportation.
La notion de piste n'est utile que pour positionner correctement les objets audios dans les séquenceurs.
Le ReaScript nommé importKandiskyScore2.lua, disponibles dans le dossier ./resources/Scripts/Reaper permet d'importer tous les paramètres audios nécessaires de Kandiskyscore dans Reaper.
Vous disposez d'un scripts équivalent pour Ardour. Pour ce dernier, vous devrez l'exécuter manuellement dans la fenêtre de scripts.
Vous pouvez étendre les possibilités de l'atelier en écrivant des Actions en javascript en utilisant les fonctions disponibles de la nouvelle API.
Vous pouvez même envisager d'aborder la composition algorithmique en javascript avec cette API.
Vous trouverez la documentation de celle-ci sur cette page api KandiskyScore.
Après le lancement de Kandiskyscore vous devez configurer votre projet, même si celui-ci ne constitue qu'un test. Il suffit de sélectionner Nouveau projet dans le menu Fichiers.
Lors du premier démarrage, Kandiskyscore a du créer un dossier kandiskyscore dans votre Home ainsi que les sous-dossiers Actions et Projets dans celui-ci.
Si ce dossier n'existe pas, vous devez le créer, il est indispensable au bon fonctionnement de l'application. Créez également les sous-dossiers Actions et Projets.
Le dossier Projets est destiné à accueillir vos nouveaux projets.

Dans la fenêtre de configuration qui s'ouvre, vous devez définir au moins le nom du projet, le chemin des fichiers audios et des images ainsi que le greffon de spatialisation. Celui-ci sera compilé en interne pour le moteur de rendu audio.
Vous devez Valider les paramètres saisis pour que l'application en tienne compte.
Un dossier du nom du projet est créé avec les sous-dossiers: Audios et Images.

Sur ce cliché vous avez la définition d'un projet standard. Notez que les chemins ne commencent pas par un slach mais en comporte un à la fin. Si vous respectez cette syntaxe, vous n'aurez pas de problèmes par la suite. Important : le chemin du Home ne doit pas être inscrit ici, il est automatiquement ajouté par l'application.
Vous pouvez sélectionner un thème pour votre projet en allant dans le menu Préférences et Select.Theme. Cela vous permettra de le reconnaître rapidement à son interface tout particulèrement si vous êtes amené à travailler sur plusieurs projets en parallèle.
Sauvegardez cette configuration à la racine de votre projet en utilisant l'entrée Fichiers -> Sauvegarder sous du menu principal avec, par exemple, comme nom : projet-1.xml, même s'il est vide. Il s'agit bien d'un fichier xml et il est important de le sauvegarder avec ce type. La syntaxe projet-1 permet d'envisager des sauvegardes incrémentales du projet qui pourront être consultées ultérieurement et/ou intégrées dans l'historique d'une archive.
Au cours du travail, vous pouvez distinguer des fichiers qui relèvent de l'historique du projet proprement dit , comme ci-dessus, et des fichiers qui sont plutôt des explorations, des recherches particulières destinées à préparer l'écriture. Dès lors que vous les exportez avec l'extension .xml, ils seront incorporés dans l'archive.
La première chose à faire ensuite est de déposer des fichiers audios dans votre Dossier audio.Vous pouvez utiliser l'application MediaExplorer dans le menu Édition pour rechercher des fichiers sur l'ensemble de votre disque.
Vous devez les copier dans votre espace avec votre gestionnaire de fichiers.
Vous pouvez également insérer un objet audio dans votre espace de travail en cliquant sur un objet audio de la palette. En cliquant avec le bouton droit de la souris sur l'objet inséré et en sélectionnant un fichier audio avec le bouton dédié en haut à gauche de la fenêtre qui s'ouvre, celui-ci sera recopié automatiquement dans le Dossier audio s'il n'existe pas dans celui-ci. Attention cependant : si un fichier existe déjà avec le même nom, il sera ignoré.
Le moteur audio de Kandiskyscore ne peut accéder qu'aux fichiers placés dans le Dossier audio, c'est la raison pour laquelle le chemin de ce dossier doit être bien défini dans les préférences.
L' audio_server.py travail en multicanal. Par exemple sous Windows vous pouvez choisir, ASIO, Wasapi ou DirectSound. Vous pouvez utiliser jusqu'à 8 canaux si la configuration du système audio le permet. A priori, il n'y a pas de contraintes particulières sous MacOs. Sous Linux, cela dépendera de votre configuration audio.
La sélection du type de sortie audio se fait dans l'onglet Externes des préférences.
Ce moteur doit réaliser un certain nombre de prétraitement en fonction des paramètres définis sur l'objet pour ne pas ralentir la lecture de la partition le moment venu. En effet, par exemple, la réverbération par convolution ou la variation de tempo peuvent exiger des délais importants de traitement qui, multipliés par la longueur des fichiers et le nombre d'objets, s'avéreraient trop longs pour un usage intensif. Pour éviter cela, les objets audios sont préparés. Vous avez ici un schéma qui permet de voir rapidement comment l'audio est traité.

N'oubliez pas, à chaque fois que vous apportez des modifications à un objet audio dans votre espace de travail, vous devez cliquer sur le bouton OK pour que ces modifications soient prises en compte.
Lorsque vous demandez une lecture d'un objet, avec le haut-parleur de la Palette, ou avec les boutons de transport pour la partition, vous lancez l'audio_server.py avec le(s) fichiers(s) temporaire(s) et les paramètres de lecture : gain, transposition, detune, debut, fin, fade-in, fade-out de chaque objet. audio_server.py traite ces paramètres sans latence, il n'est donc pas nécécessaire de les enregistrer dans les fichiers temporaires, mais vous devez quand même cliquer sur le bouton OK afin de valider les éventuelles modifications.
Un objet audio peut être défini comme un objet comportant une référence à un fichier audio et un ensemble de paramètres qui permettent de l'actualiser sur la ligne du temps. Chaque objet audio dispose d'une forme graphique spécifique avec de multiples attributs destinés à le distinguer d'un autre. Il est possible d'associer des symboles comme des Articulations à ces objets. Vous pouvez alors créer un groupe pour cet assemblage afin de vous faciliter les manipulations dans l'espace de travail : .
Vous pouvez également faire un rendu svg de ce groupe et le sauvegarder comme une image svg soit en sélectionnant vos objets sur l'espace de travail ou en créant un groupe.
Sélectionnez votre assemblage, puis cliquez sur l'espace de travail avec le bouton droit de la souris pour faire apparaître le menu flottant. Dans ce dernier cas, transformez votre assemblage en groupe en cliquant sur Grouper dans le menu flottant.
Dans le menu principal, dans Rendus sélectionnez Vue groupe svg et sauvegardez l'image dans le dossier Images de votre projet. Vous pourrez ensuite réutiliser cette image en l'important dans votre espace de travail.
Comme il est possible d'associer un fichier audio à une image, vous pouvez ainsi créer vos propres objets audios associés à leurs représentations graphiques, cela confère à l'application une grande souplesse d'utilisation.
Avec Kandiskyscore il est essentiel de raisonner en termes d'objets sur lesquels il est possible d'appliquer des transformations et que l'on dispose dans l'espace et le temps.
Ces objets peuvent être regroupés pour former des groupes ou associés de différentes manières pour former une partition.
Les relations entre objets peuvent être représentées en utilisant des symboles disponibles dans la palette. Ce travail d'explicitation des relations entre objets peut être propre au compositeur et ne concerner que lui, mais peut aussi constituer un élément important pour la compréhension de l'œuvre au moment de sa lecture/écoute par un interprète ou un auditeur.
Vous pouvez évidemment enrichir la palette de symboles par les vôtres en utilisant des images. Pour faciliter la lecture, il peut être judicieux d'insérer, en début de partition, un répertoire des symboles utilisés avec leurs significations particulières.
Si la notion d'écriture de la musqiue électroacoustique vous interpelle, vous pouvez regarder cette vidéo préparée par l'IRCAM lors du séminaire du cycle "Pourquoi écrire la musique?" avec Denis Dufour, compositeur, et Maxime Barthélémy de la Maison ONA.
Dans la continuité du travail de la Maison ONA, Kandiskyscore encourage les sauvegardes incrémentales en numérotant les versions de sauvegarde afin de préserver ainsi la genèse de l'œuvre. Vous pouvez créer une archive avec l'entrée Archiver du menu principal qui regroupera le dossier Audios, le dossier Images, l'historique et les brouillons du projet grâce à l'ensemble des fichiers .xml. Cependant, vous restez responsable du choix des noms des sauvegardes. Vous devrez également nettoyer votre dossier audio avec l'utilitaire Liste audios du menu Fichiers afin de ne pas archiver des fichiers audios inutilisés.
Par defaut le serveur de son utilise le VBAP3D, mais vous pouvez maintenant utiliser l'ambisonie avec l'option HOA. Vous devez définir l'ordre de 1 à 7 (64 canaux).
Kandiskyscore ne propose pas d'éditeur Midi interne.
Il serait possible d'intégrer VexFlow, OpenSheetMusicDisplay ou Guido, mais cela alourdirait énormément Kandiskyscore. Il faudra utiliser un éditeur externe capable d'exporter la partition en musicXML, audio .wav et svg. Par exemple, Musescore est disponible sur toutes les plateformes et fait cela parfaitement. Vous pouvez aussi utiliser directement Lilypond avec un éditeur comme Frescobaldi.
Dans tous les cas, il faudra exporter la séquence midi en image svg avec un rendu proportionnel. C'est essentiel pour assurer un bon alignement temporel dans l'espace de travail de Kandiskyscore.
Pour ce faire, il faudra utiliser Lilypond, la seule application portable capable faire une telle notation suffisamment précise.
Avec Frescobaldi, importez le fichier musicXML.Vous obtenez un début de code comme celui-ci :
\version "2.22.0"
% automatically converted by musicxml2ly from /home/.../midiSeq.musicxml
\pointAndClickOff
\include "articulate.ly"
\header {
encodingsoftware = "MuseScore 3.2.3"
encodingdate = "2024-11-29"
}
#(set-global-staff-size 20.0)
\paper {
paper-width = 21.0\cm
paper-height = 29.7\cm
top-margin = 1.0\cm
bottom-margin = 2.0\cm
left-margin = 1.0\cm
right-margin = 1.0\cm
indent = 1.6153846153846154\cm
}
\layout {
\context {
\Score
skipBars = ##t
autoBeaming = ##f
}
}
Ajouter la ligne suivant avant la fin de définition du layout :
proportionalNotationDuration = #(ly:make-moment 1/16)
Vous devez avoir :
\layout {
\context {
\Score
skipBars = ##t
autoBeaming = ##f
proportionalNotationDuration = #(ly:make-moment 1/16)
}
}

Si vous avez sélectionné un rendu svg, votre image est immédiatement rendue.
Vous pouvez également ajuster la valeur de paper-width = 21.0\cm en fonction de vos besoins.
Enregistrez l'image svg. Vous pourrez ensuite l'intégrer dans votre espace de travail.
Si vous avez exporté l'audio avec Musescore, vous pourrez associer ce fichier audio à votre image et celui-ci sera rendu normalement au moment de la lecture.
Ce travail s'inspire des recherches suivantes :
Denis Dufour, P.Manoury, Ana Dall’Ara-Majek, Noémie Sprenger-Ohana, et bien d'autres, ont également écrit sur ce sujet.
"Pourquoi écrire la musique?" avec Denis Dufour, compositeur, et Maxime Barthélémy de la Maison ONA.
Kandiskyscore est sous licence GNU General Public License.