lundi 4 novembre 2019

MIDI THRU/MERGE BOX

Malgré un temps qui m'est relativement compté, quelques projets en cours ainsi que quelques dépannages assez compliqués sur des SP12, j'ai quand même réussi à avancer sur mon projet de hub MIDI avec fonction MERGE.


A gauche il s'agit de la dernière version de mon projet. Par rapport à la version précédente à droite, j'ai remplacé l'alimentation 12V externe par un connecteur micro-usb permettant de connecter ce hub directement sur un PC ou un bloc externe standard, et corrigé aussi quelques erreurs de base. De plus, j'ai connecté le port USB sur le processeur ce qui me permettra d'expérimenter sur le sujet et d'implémenter le MIDI sur ce port USB.

Ce hub MIDI se veut très simple d'utilisation. Deux entrées sont mergées sur 6 sorties. Une des entrées est répliquée sur une sortie spécifique sans passer par le processeur. Éventuellement, le tout pourra passer par le port MIDI USB.

Il n'est pas prévu de logiciel de configuration. La communication ne s'établit que depuis les entrées vers les sorties. Il existe sur le marché des systèmes qui permettent la communication sysex dans les deux sens, mais cela ne présente pas le même prix. Et si le prix demandé est 'faible', le système ne fonctionne pas, je possède un tel multi-ports MIDI relativement peu onéreux qui présente des problèmes de buffer en entée vers l'USB.

Et finalement, il est relativement difficile de trouver un tel système simple et à prix correct capable de remplacer un YME8 Yamaha par exemple, mais avec des fonctionnalités un peu plus avancées, raison d'être de ce développement.



vendredi 1 novembre 2019

Sample Dump Standard, KORG T1 et GEM S2 Turbo.

Cela fait maintenant quelques temps que je possède un Korg T1 ainsi qu'un GEM S2. Ces deux machines présentent la caractéristique d'être équipées de mémoire de type RAM pour y charger des échantillons différents de ceux proposées d'origine dans les ROMs constructeur.

L'intérêt de cet ajout est évident lorsqu'il s'agit de renouveler un peu la base sonore de la machine. Il est souvent reproché à tel ou tel synthé à base d'échantillons d'être passé de mode, notamment du fait de sa signature sonore quelque peu dépassée.

Le problème est qu'il est très difficile de charger ces synthés avec de nouveaux échantillons sonores. N'étant pas des échantillonneurs en tant que tel, ils ne possèdent pas de système de stockage de masse rapide et conséquent. La plupart du temps il s'agit d'un lecteur de disquette, avec tout ce que cela implique aujourd'hui de problème de compatibilité tant matérielle que de format.

Le plus simple reste alors le transfert d'échantillons par la liaison MIDI via le protocole Sample Dump Standard. Le plus simple? pas évident en fait, tout simplement parce que chaque constructeur de synthé implémente le sujet disons, à sa sauce, et que bien souvent la documentation n'indique qu'un 'très gros' minimum d'informations sur le sujet.

Est-ce que cela fonctionne sur le GEM S2? Oui. Voilà un bon début.

Un GEM S3, version 76 touches.
Pour y arriver, j'ai utilisé le logiciel Sysex Tool créé à l'origine par Elektron. Cet utilitaire est réputé être le 'meilleur' utilitaire fonctionnel pour gérer le SDS. Le GEM S2 doit être équipé des circuits additionnels de RAM statiques. Il suffit en suite de relier la prise MIDI out du PC sur la prise MIDI in du GEM et techniquement, tout est prêt.


Sur le Gem, il faut sélectionner le mode d'édition des sons à l'aide du bouton 'sound' dans le cercle rouge de gauche et, alors que 'Waveset' est sélectionné sur l'afficheur, appuyer sur le bouton à droite de l'afficheur correspondant à 'sample trs' dans le rectangle rouge de droite. Le tout pour accéder au 'SAMPLE TRANSLATOR' :


Arrivé à ce stade, tout est prêt. On peut être tenté d'appuyer sur le bouton d'afficheur en face de 'Load', mais il est préférable de ne pas le faire. La documentation de la machine de l'indique pas mais Load permet d'envoyer une requête de Dump à la machine extérieur censée envoyer le fichier wav, et non pas comme on pourrait le penser la mise en attente de réception du GEM. Or le logiciel Sysex ne répond pas à cette demande, ce qui a pour effet de faire afficher un message de time-out par le GEM S2. Sauf, bien entendu, à avoir demandé au logiciel d'envoyer le fichier, avant que le time-out du GEM ne se déclenche.

Non, le plus simple est d'envoyer le fichier par l'intermédiaire du logiciel Sysex. Dès lors, le GEM reconnait l'arrivée d'un SDS et bascule dans l'écran de progression de la réception :


Aussi simple que cela. La procédure n'est évidemment pas bien expliquée dans le manuel utilisateur. Son mode de fonctionnement est à découvrir lors d'une séance ludique de perte de temps, comme souvent dans ce genre de situation.

Quant au logiciel Sysex, voici à quoi ressemble la fenêtre principale :


Pour fonctionner directement, Sysex n'a besoin que de la configuration du port MIDI out. Le port MIDI in n'est pas nécessaire étant donné que le transfert fonctionne très bien sans Handshake. Un Load pour charger le fichier à transmettre, puis un Send démarre le transfert qui ira à son terme et sera correctement reçu par le GEM S2.

A remarquer que l'échantillon reçu est directement utilisable sur la totalité du clavier, avec tous les joyeux effets dus à la transposition excessive. Par contre le GEM possède tout ce qu'il faut pour créer un multi-échantillon pouvant servir de base réelle à la création d'un patch. Ce que ne permet pas le Korg T1.

Petite suite de capture d'écran du GEM.

Affichage de l'échantillon :


Modification du niveau du même échantillon :


Assignation de l'échantillon :


Échantillon assigné :


Et pour fini, les informations de l'échantillon :


Les fichiers de type wav créés par Audacity posent des problèmes. Cela est du, je pense, à la présence d'informations qui n'ont pas à être présentes dans un fichiers wav de base. Pour pouvoir exploiter un échantillon d'un méga octets créé par Audacity, j'ai du le passer dans un convertisseur en ligne dont j'ai simplement demandé le codage en... la même chose, c'est à dire PCM 16 bits signés mono. le fichier reçu par transfert ne comportant plus les informations 'légales', j'ai pu le passer sans problème au GEM S2

Au début de ma manipulation d'échantillons sur le GEM, j'ai pensé à tort que ce dernier était planté. Et bien non, mais un sample d'un mega octets demande beaucoup de temps au GEM, à tel point que l'appui sur la touche Gain par exemple, peut générer une attente de plusieurs dizaines de secondes avant que quoi que ce soit ne se passe à l'afficheur. Donc ne pas attendre une prise en comptes de la part du GEM, mais aller se prendre plus d'un café avant de décréter que la machine est éventuellement plantée.

En un mot : ce GEM a vraiment une présence sonore très 'puissante' et très propre. Les effets sont aussi très bons. Le chargement d'échantillons étrangers fonctionne très bien, ouvrant la porte à de la création sonore. Un petit bémol, le lecteur de disquette qu'il va falloir remplacer par un émulateur de lecteur de disquette de la même façon que je l'ai fait pour le T1. Parce qu'il n'est juste plus possible de travailler avec des disquettes quand d'autres solutions plus fiables existent.

Passons au KORG T1 :


Le Korg T1 est de base équipé pour la réception de fichiers via le Sample Dump Standard. Il possède en effet la carte d'extension mémoire d'un méga octets. Ce qui n'est pas le cas du T2 ni du T3. Pour ces deux dernières machines, il faut soit installer cette carte optionnelle (introuvable aujourd'hui), ou alors se tourner vers les versions EX, T2ex et T3ex qui elles, en sont équipées d'origine.

La procédure d'initialisation d'une réception SDS sur le T1 est très simple. Il faut sélectionner le mode 'Global' par l'intermédiaire du switch idoine du panneau de contrôle. Comme ce panneau de commande est extrêmement mal fait, pour en savoir plus, un appui sur la touche 'Menu' du panneau nous informe des opérations possibles sous ce mode :



La sélection de la fonction 'DATA DUMP' soit graphiquement, soit par appui sur la touche n°7 (rubrique bank/page) permet d'entrer dans la gestion des données :


Arrivé à ce stade, et de la même façon que pour le GEM, il suffit d'envoyer le fichier wav à l'aide du logiciel Sysex pour que le Korg se mette en mode réception :


De toute façon sur le T1, la question du déclenchement du transfert ne se pose pas, il n'est pas en mesure de demander le dump, comme sait le faire le GEM. Il faut donc obligatoirement 'pousser' le fichier depuis l'appareil extérieur, vers le T1. Avec comme limitation, qu'un T1 ne sera pas non plus en mesure de transférer le contenu de sa mémoire RAM vers un autre T1 par SDS.

Une fois le sample reçu sur le T1, aucun mode d'affichage de l'échantillon, ou modification de celui-ci n'est prévu. Le sample est empilé dans la mémoire RAM au dessus d'éventuels autres samples, et ce jusqu'à ce que la mémoire RAM de 512Kmots soit pleine, et c'est tout!.

En retournant sur la page précédente, la taille libre de la RAM est maintenant de 450K. On peut donc en déduire que le sample chargé à une taille d'environ 62K mots. C'est là, la seule indication sur ce qui se passe en RAM.



L'unique utilisation possible des samples ainsi chargés, sera de les affecter à une note au sein d'un kit de batterie. Ici non plus, l'échantillon ne sera pas de suite utilisable sur l'étendue du clavier comme sur le GEM, même si une certaine plage de touche peut être affectée à l'échantillon :


Sur cet écran, l'échantillon nommé 'SOUND 00' est affecté à la touche C2. Ceci écrit, l'affectation d'un son peut aussi être fait sur plusieurs notes,  mais pas de la façon d'un multi-sound.

Voilà à peu près tout ce qu'il est possible de faire en chargeant un sample extérieur dans le T1.
J'ai pu lire quelque part sur le Web, qu'une personne 'aurait' créé un multi-sound avec un logiciel de fabrication personnelle, et en aurait réussi le chargement en SDS dans le T1, ainsi que son utilisation au sein d'un patch en tant que source d'oscillateur. L'informations étant très datée, je n'ai pu en trouver confirmation.

La seule façon, à ce qui me semble donc, de créer un échantillon de type multi-sound en mesure de servir de source aux oscillateurs d'un patch est d'insérer une carte wave contenant le-dit multi-échantillon. Et comment fait-on pour se créer soi-même une carte avec un ou des multi-sounds?
Et bien il suffit d'avoir une carte RAM dans laquelle enregistrer les échantillons créés avec un logiciel permettant l'affectation de chaque échantillon à différentes plages du clavier.

Facile, n'est-ce pas! Et bien oui :




La carte WaveRex est donc une carte de type flash qui s'insère dans l'emplacement WAVE d'un M1 ou d'autres types de machines Korg de l'époque comme le Wavestation ou le T1, puisque le T1 est un M1, à la base. Un logiciel est fourni pour justement placer les échantillons souhaités sur l'étendue du clavier souhaitée et créer in fine un multi-sample compréhensible par le synthé dans lequel la carte est insérée :


La carte, vous l'aurez compris, se charge par l'intermédiaire d'un port USB. Voilà, l'idée me semble tout à fait intéressante, sachant que c'est la seule façon de modifier la signature sonore des synthétiseurs de ce type et ainsi leur redonner une 'nouvelle' validité dans les musiques actuelles.

Le T1 permet, par la suite, de sauvegarder le contenu de cette carte Wave dans une disquette. Ne possédant pas cette carte, je n'ai pas testé si cette sauvegarde doit passer, ou pas, par l'intermédiaire de la RAM interne du synthé. Mais peu importe, il suffit de savoir que cette opération est réalisable, et permet ainsi de libérer la carte Flash pour d'autre expérimentations sonores.

Un des prototypes de la carte :


Epilogue : J'ai décidé de me pencher sérieusement sur le système SDS notamment avec le T1 mais aussi avec le GEM parce que j'ai reçu une demande d'informations sur le T1 de la part d'une personne ayant quelque réparations à effectuer sur sa machine. Comme c'est souvent le cas, on fini toujours par se faire entraîner un jour ou l'autre par d'autres personnes, pour le bien de tous, finalement.

Non mais quand même : avoir fait un T1 aussi bien que cela d'un point de vue sonore et capacité technique, et l'avoir bridé volontairement par un panneau de contrôle archaïque qui en ruine carrément l'utilisation. Pensez donc, sur une machine de ce prix, même pas un bouton pour by-passer les effets!!! pas de molette d'incrément/décrément quand certaines opérations en requièrent un nombre important!!! Et tout à l'avenant!!! C'est du grand n'importe quoi Korg!!!

Au fait : je ne suis pas sponsorisé par Waverex mais leur carte peut se trouver à cet endroit : https://www.waverex.de/de/. J'attends la mienne d'ici quelques jours :-)

[ Update 12-11-2019 ] J'ai reçu la carte WaveRex. Je l'ai donc insérée dans le T1. Dès l'allumage de la machine, la LED verte de la carte s'allume. La connexion au PC via le port USB se fait sans la moindre installation de driver et semble fonctionner.

Il convient donc de tenter le transfert de données depuis le PC vers cette carte WaveRex :


Après avoir téléchargé une série de fichiers de multi-samples directement depuis le site de WaveRex, j'ai alors pu télécharger un set de ces multi échantillons directement dans la carte. L'opération ne dure que 8 secondes (cela dépend de la taille du fichier) et se déroule sans le moindre problème.

En créant un patch avec deux oscillateurs, il est maintenant possible de se servir  de ces nouveaux multi-échantillons :


On retrouve bien deux des multi-échantillons chargés précédemment dans la carte WaveRex. Notez le 'C' devant le numéro du multi-échantillon, qui indique que sa provenance est bien la carte PCM externe.

Après quelques tests, force est de constater que le système fonctionne parfaitement tout en n'imposant aucune contraintes autres que celles liées strictement au matériel. L'intégration du logiciel dans Windows ne pose aucun problème. Je l'ai testé sur Windows 10 pro.

Et que faire d'autre? et bien pas grand chose, même si c'est déjà pas mal. Je veux dire que outre la création d'échantillons personnels à télécharger dans la carte, il n'est pas possible de faire quoi que ce soit de ces échantillons. Ni transfert vers disquette, ni transfert vers la RAM interne supplémentaire d'un méga octets du T1. Il reste donc très difficile de créer des patchs originaux et de les transmettre à un tiers. Pour cela, il faudra lui transmettre la carte WaveRex contenant la base sonore, ou alors le fichier à télécharger dans la carte, sous réserve que le tiers en question possède lui aussi une telle carte. Cette solution est cependant plutôt flexible mais hélas pas très économique. Et que dire d'une diffusion à plus grande échelle?

Cependant, je suis très satisfait du produit car efficace et très simple à utiliser. Il est assez amusant de télécharger dans mon T1, les formes d'ondes du Prophet VS, que je possède aussi. La texture sonore est de suite reconnaissable, malgré une différence assez notable de moteur sonore. Il n'y a plus qu'à...

Enjoy!