lundi 15 février 2016

Quatre banques de mémoire interne soit 400 patchs pour le Prophet VS.

Mise en situation : Il y a quelques mois de cela, j'ai créé une version spéciale des modules SRAM non volatiles pour le prohet VS. L'intérêt était de pouvoir remplacer les SRAM d'origine sauvegardées par une pile interne, par des mémoires ne nécessitant plus cette pile de sauvegarde :

Carte mère du Prophet VS équipée de deux mémoires non volatiles.
Or, ces modules mémoires ont la particularité d'être équipés de SRAM de 32Ko, soit quatre fois la capacité des SRAM d'origine. Evidement, se pose alors la question de l'utilisation au sein du Prophet VS de cette capacité mémoire accrue. 400 programmes en interne permettrait de se passer de cartouches mémoires devenues très difficiles à trouver et fort onéreuses!

J'ai reçu des commentaires à ce sujet, qui m'incitaient à ne pas modifier l'aspect du Prophet VS. Or, comment faire pour sélectionner une des quatre banques mémoire sans ajouter de sélecteur ou de boutons sur l'appareil, pas plus que de boitier externe comprenant un quelconque organe de commande?

Ma solution : l'utilisation d'une sequence de touches au clavier pour commander le passage d'une banque à une autre.

L'avantage est évident : l'organe de commande est déjà présent dans la machine, et pour cause! L'idée consiste donc à installer en interne, un petit système capable de récupérer les notes jouées au clavier et de détecter une séquence particulière pour sélectionner la banque voulue.

Plutôt que de développer un système particulier, j'ai choisi une carte compatible Arduino, une Arduino Pro Mini :

Acheté à la boutique arduinooo_france d'eBay pour 4,25€ (pub. gratuite)
Ce genre de carte possède absolument tout ce qu'il faut pour mener à bien la modification. J'ai utilisé l'entrée série de cette carte pour récupérer la sortie série fournissant les codes MIDI des notes jouées du synthétiseur. Quatre sorties numériques de cette carte sélectionneront les quatre banques de mémoire, et deux autres sorties me permettront de faire clignotter les deux points de l'afficheur numérique de la machine, ce qui permettra de toujours savoir quelle banque est effectivement sélectionnée.

Le système en cours de développement, directement relié à la sortie MIDI du Prophet, par l'intermédiaire d'un shield MIDI de chez SparkFun :

Ca commence toujours comme ça!
Une fois la partie logicielle validée, il ne reste plus qu'à installer la carte Arduino dans la machine :

Une partie du raccordement est effectuée.
Donc, les 'fils' rouge et noir' sont ceux qui alimentent le module Arduino, et sont directement soudés sur les pattes de l'ACIA 6850 du Prophet. Le fil blanc est la liaison série entre la sortie de l'ACIA et l'entrée série de la carte Arduino. Les fils verts sont ceux qui sélectionneront les banques RAM et les fils bleus alimenteront directement (à travers une résistance de limitation de courant) les deux LEDS de l'afficheur numérique.

Le montage est simplement fixé avec du double face sur un des composants de RAM système non sauvegardé : simple et efficace.

Profitant de l'ouverture de la machine, je mène mes investigations.
Voilà, le câblage est finalisé et fonctionnel.

Pour sélectionner une banque, il faut :

1- Appuyer sur la touche blanche à l'extrême gauche du clavier
2- Puis appuyer sur une des quatre touches blanches à l'extrême droite du clavier
3- Puis relacher cette dernière touche
4- Avant de relâcher finalement celle de l'extrême gauche.

Cette séquence sélectionne une des quatre banques MAIS ne charge pas le patch en mémoire. Il faut encore sélectionner le patch voulu pour qu'il devienne réellement effectif. Ce qui veut dire que, si par hasard, une séquence de touche sélectionnait une banque différente pendant le jeu normal, il ne se passerait de toute façon rien tant qu'un quelconques patch n'est pas sélectionné de façon normale. Donc aucun risque d'accident...

A noter que ce système de banque présente quand même un petit défaut. Le synthé ne permet pas de sauvegarder directement les 32 formes d'ondes présentes en mémoire non volatile puisqu'elles sont censées être communes aux 100 patchs internes. Si l'on veut pouvoir disposer de plusieurs versions de patchs sur différentes banques, il faudra impérativement y charger les même formes d'onde par transfert en système exclusif. En ce qui me concerne, j'ai chargé par défaut les quatre banques de patchs et d'ondes avec la configuration d'usine à l'aide du logiciel MIDI-OX, tout simplement. De la sorte, je suis certain qu'un son présent sur une banque dont je veux modifier un paramètre et en sauvegarder le résultat sur une autre banque, sera basé sur les même formes d'ondes.

Peut-être une petite vidéo pour illustrer tout ça....



Aucun commentaire:

Enregistrer un commentaire