https://github.com/dblanchemain/mcMidiKeyboard
https://github.com/dblanchemain/mcMidiPlayer
mcMidiKeyboard est un utilitaire qui permet d'associer les touches d'un clavier midi à des fichiers audios multicanal.
C'est une application autonome réalisée avec Electron.
Electron intègre Chromium et Node.js pour permettre aux développeurs Web de créer des applications de bureau. Compatibles avec macOS, Windows et Linux, les applications Electron fonctionnent sur toutes les architectures prises en charge.

Ce programme est sous licence GNU General Public License. Voir plus loin.
Pour installer mcMidiKeyboard utiliser le build latest de gitHub.
Par exemple sous Linux vous pouvez charger mcMidiKeyboard-linux-x64-x.x.x.zip et décompresser cette archive où vous voulez. Vous pourrez alors faire un lanceur sur l'éxécutable mc-midi-keyboard. N'oubliez pas de définir le chemin de cette exécutable dans les Préférences->Externes de Kandiskyscore.
Si cela n'a pas été déjà fait, vous devrez également disposer de Python3 et faire
pip install jack sounddevice soundfile numpy scipy
Pour les archives deb, rpm et les autres OS, un script de post intallation se chargera de faire cela.
mcMidiPlayer s'installe de la même manière.Consultez le README.
Il existe trois mode de fonctionnement de mcMidiKeyboard :

Mode :
1shot true : l'audio est lu jusqu'à la fin.
1shot false : l'audio est lu jusqu'au prochain note-off.
Les fichiers audios ne subissent aucunes modifications de fréquence, il faut donc autant de fichiers audios que de hauteurs différentes. C'est pour cette raison que mcMidiKeyboard utilise un mécanisme particulier de gestion de banques de sons. Il ne s'agit pas d'imiter le fonctionnement des soundFonts. Une touche du clavier n'indique pas une hauteur mais uniquement un moyen de déclencher un événement audio multicanal.

Le dossier pour mcMidiKeyboard est structuré ainsi ;
test_midi :
|Audios
| test_interp1
|objet1.wav
|objet2.wav
....
|objetn.wav
| test_interp2
|objet1.wav
|objet2.wav
....
|objetn.wav
....
test_interp1_bank1.json
test_interp1_bank2.json
test_interp2_bank1.json
test_midi.mid
test_banks.xml ( musicXML)
Vous pouvez avoir plusieurs claviers si la polyphonie est trop importantes (test_interp1...test_interp2...).
Ces deux mode permettent de sauvegarder la configuration du clavier.
Format du descripteur JSON
{
"nbCanaux": 8,
"polyphonie": 8,
"keys: [
{
"key": "60",
"file": "/chemin/vers/fichier.wav",
"gain": 1,
"fadeType": "l",
"fadeIn": 0.1,
"fadeOut": 0.2
"oneShot": true
}
......
]
}

Les paramètres sont définis au moment de l'export à partir de Kandisky-interpretor.
Ce dossier offre un fichier midi qui peut être lu par mcMidiPlayer.

Dans les préférences vous pouvez sélectionner la sortie audio pour votre OS, par exemple Jack sous Linux. Dans tous les cas, il propose "Défaut système".
mcMidiKeyboard a été testé sur Linux avec 18 canaux. Il devrait être fonctionnel pour Windows et macOS au moin en stéréo. Tout dépend de votre configuration.
Vous pouvez également choisir un thème ou en définir un nouveau.
mcMidiPlayer est un utilitaire qui permet de lire un fichier midi avec des fichiers audios multicanaux.

Avec mcMidiPlayer vous devez sélectionner le dossier dans lequel se trouve les fichiers audios et les descripteurs de banques de sons comme pour mcMidiKeyboard en mode 3.
Lors de la lecture, il se chargera de charger les banques de sons en fonction des besoins.
This Architecture section is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; If not, see http://www.gnu.org/licenses.