jeudi 16 mai 2019

Roland Alpha Juno patch editor.

Il peut être parfois intéressant de commencer par se créer de petits outils d'aide au développement avant de se lancer à corps perdu dans le matériel.

Comme j'ai l'intension de développer un petit synthétiseur analogique, je me suis dit qu'il pourrait être intéressant de posséder un panneau de contrôle permettant de manipuler la carte de synthèse, sans avoir à prototyper totalement l'appareil.

J'ai donc recherché une solution logicielle et ai trouvé le framework JUCE. Ce framework est spécialement dédié aux développements audios/M.I.D.I. sur plateforme PC Windows ou Linux, voire produits Apple. En ce sens, il possède absolument tout ce qui est nécessaire pour piloter les interfaces M.I.D.I.


Ce framework s'interface avec plusieurs outils de développement dont notamment Visual C++. J'ai tenté le coup et ai installé la toute dernière version de mai 2019 :


Cela faisait un bon moment que je n'avais pas développé sous Visual C++. Partir de zéro sous cet environnement est long et fastidieux mais Juce permet justement d'éviter le codage d'un nombre important de classes de base. L'intégration se passe tout à fait correctement et en quelques heures de travail il est possible d'obtenir un panneau capable de commander directement les paramètres d'un Alpha Juno :


La découverte et la gestion des différentes sorties M.I.D.I. se passe sans difficulté. Je n'ai pas porté plus d'attention que cela à l'interface graphique et me suis 'contenté' d'utiliser les objets de base fournis par Juce. Les huit sorties supplémentaires offertes par l'interface USB/M.I.D.I. sont correctement répertoriées ainsi que celle présente sur la carte son Presonus FP10. Il n'y a aucun problème dans l'émission des différents messages SysEx permettant de contrôler le Juno.

Je suis totalement satisfait avec cette solution. Juce est gratuit en version de base, moyennant l'apparition momentannée d'un petit logo Juce au démarrage de l'application. Visual C++ est lui-aussi gratuit dans sa version de base. Voilà enfin une solution 'gratuite' permettant de développer rapidement des interfaces spécifiques tournant autour de la thématique audio et M.I.D.I.

mardi 7 mai 2019

Réparation d'une carte son Presonus FP10.

Il y a quelques semaines de cela, j'ai acquis pour une somme très modique deux rack Presonus FP10. Je possède quelques synthétiseurs que je commande en MIDI, je me suis posé la question de l'enregistrement en audio de ces matériels. Comme je n'avais pas envie de céder aux sirènes du tout neuf à coût conséquent, je cherchais donc un 'petit' matériel d'occasion. Ce rack FP10 fonctionne avec une interface FireWire. Cette interface étant aujourd'hui abandonnée, les matériels à cette norme ne valent plus grand chose et se retrouvent à prix intéressant en occasion. Prix tellement intéressant que pour le prix d'un rack fonctionnel, le vendeur m'en a donné un autre en panne. Autrement écrit dans l'annonce : pour pièce.

Mais bon, une fois reçu le matériel, que faire de l'exemplaire défectueux? Le stocker? J'évite d'entasser du matériel non fonctionnel, ça n'est absolument pas rentable. J'ai donc décidé de vérifier très vite si une réparation était jouable :


L'appareil est en bon état mais la LED indiquant la connexion FireWire reste inexorablement rouge, malgré l'installation des drivers pour Windows 7. Drivers toujours disponibles au téléchargement sur le site de Présonus. J'avais vérifié cela avant d'acheter ces FP10.

Le démontage s'imposait donc. Dès la mise sous tension, l'origine de la panne était évidente. Le gros pavé principal chauffait de façon anormale, entrainant avec lui la surchauffe des régulateurs. Pour vérifier cet état, il m'a suffi d'un petit coup de FLIR :


Ça, c'est pour le gros pavé. Il monte gentiment à plus de 75° dans les faits.


Et ça, c'est pour les régulateurs dont celui de 3,3V qui s'amuse à plus de 100°.

Avant de lancer les grandes opérations, j'ai quand même vérifié que le gros pavé pouvait être trouvé sur le net. Ce gros pavé est en fait un processeur de type ARM qui possède la particularité de posséder plusieurs canaux I2S de gestion de flux audio numérique. Il est de marque BridgeCo.

Il ne m'a pas fallu beaucoup de temps pour trouver ce circuit chez un grossiste chinois dont j'ai l'habitude. Quelques jours après avoir passé la commande, j'ai donc reçu deux de ces exemplaires. Deux parce qu'au prix ou l'unité est vendu (moins de 4€), ça ne coute rien d'en avoir un en spare :

Celui de gauche est le circuit retiré de la machine.
En fait, j'avais acquis il y a quelques semaines de cela, un fer à souder à air chaud. J'avais eu des problèmes pour retirer un circuit dans une réverbération Yamaha REV5 et m'étais convaincu alors d'acheter ce type d'appareil.




Bien m'en a pris puisque dessouder ce processeur ne m'a pris que quelques minutes, sans détérioration du circuit imprimé :

Les pistes du circuit imprimé ne sont pas abîmées.
En fait, une fois le circuit intégré dessoudé, il suffit de passer délicatement la tresse à dessouder pour retirer le maximum de traces de soudure pour permettre le placement du composant neuf dans de bonnes conditions.

D'habitude je soude les composants cms au fer à souder et à la soudure ordinaire, mais dans ce cas, l'espacement des pattes du circuit et leur nombre m'ont amené à penser que l'opération pouvait s'avérer hasardeuse. Au fer, il est assez facile de tordre une patte, l'aligner de nouveau est une autre affaire avec un tel pitch. J'ai donc acheté de la pâte à souder. J'ai fait dans le moins cher (relatif puisque c'est chez Farnell) :


L'avantage de travailler de la sorte est qu'il suffit de poser délicatement un petit 'cordon' de soudure sur l'emplacement des pattes pour préparer le travail. Le placement du composant n'intervient qu'après, sans stress, dans le calme. Ce qui permet de l'aligner correctement sur les pistes du circuit imprimé. Un petit coup de fer à air chaud, sans risque de toucher le composant, permet une soudure parfaite :


Le petit inconvénient est que la buse fournie avec la seringue de pâte possède un certain diamètre, l'homogénéité du filet de soudure déposé sur le circuit n'est pas parfaite, des surplus se créent qu'il faut donc éliminer. Cela se fait très facilement avec de la bonne tresse à dessouder et au fer à souder standard :


Le résultat final est parfait :


Un petit nettoyage des résidus de soudure à l'acétone et voilà, c'est fini. Avant de remonter l'appareil je vérifie quand même qu'une fois sous tension, le processeur et les régulateurs chauffent 'normalement. J'obtiens une température de 45° pour le régulateur 3,3V après 10 mn sous tension. le processeur reste quant à lui, sous les 40° :


Une fois le rack FP10 remonté, connecté à l'ordinateur et le driver Presonus installé, la machine est correctement détectée, la LED de connexion FireWire passe au bleu, et les différentes entrées/sorties audio apparaissent sous Windows :


Une petite session Youtube pour valider le bon fonctionnement de l'ensemble termine la remise en fonctionnement de cette interface.


Le coût de cette réparation est dérisoire. 4€ pour le processeur et quelques centimes pour les quelques grammes de pâte à souder. Mais, entre le temps passé à démonter, effectuer le diagnostic, rechercher et passer commande des composants, dessouder, nettoyer, ressouder, nettoyer de nouveau, installer le driver et tout tester, c'est une bonne heure et demie. Cela reste rentable, même si ce genre d'appareil se trouve aujourd'hui autour de 120€. Et comme d'habitude, c'est de toute façon un matériel qui ne partira pas à la benne à pseudo recyclage et du coup, je possède deux RACK FP10 fonctionnels.

J'ai aussi testé ce FP10 en enregistrement multi-canal sous Reaper. Avec le driver ASIO standard fourni avec la distribution de ce logiciel, toutes les entrées sont reconnues et fonctionnelles. Bien que le PC portable sur lequel j'ai installé ce rack FP10 ne soit pas un foudre de guerre, Reaper fonctionne tout à fait correctement et aucun artefact n'est décelable en restitution de piste. Comme quoi, il est possible de se monter de 'petits' systèmes 24bits 96Khz sans avoir à dépenser des fortunes (je n'évoque pas la 'petite' expérience nécessaire pour effectuer ce genre de réparation, ce n'est qu'une question d'habitude en vrai ;-) ).



Séquence nostalgie : Amiga 1200; Solectron Bordeaux

C'était au début des années 90, en fait l'Amiga 1200 est sorti en octobre 1992. Une partie de ces machines était assemblée chez Solectron près de Bordeaux, il y a 25 ans, en 1993.


Je n'ai jamais possédé une telle machine. Tout juste ais-je eu l'occasion d'admirer un Amiga 1000 à l'époque ou un ami plus fortuné que moi s'en était acheté un exemplaire en 1986. Les démos qu'il m'en avait fait m'avaient totalement stupéfait. Il est vrai que dans le monde professionnel, mis à part l'univers Mac hors de prix et donc peu fréquent, le 286 sous DOS 3.30 régnait en maître :



Evidemment, le côté 'sexy' de l'interface ne saute pas vraiment aux yeux. Alors quand on se retrouve confronté à ça : 




Forcément....Mais bon, c'était il y a 25 ans....

lundi 29 avril 2019

And the dream comes true!

I was fascinated by synthesizers as soon as I discovered these instruments. For me it was the Poly 61, described in a specialized journal of the time :


The First Synth I was abble to buy was the JX-3P :


And my first concert (demo) by Francis Rimbert at Auray, a very small city in France, in 1984 I think because the TR909  was present :


For me, it was juste incredible : the TRs, The Jupiter 8, Junos sequencers and others (a small Teddy bear). I thought then, that one day I would make my own synth. But it was also the end of the Curtis era and these CEMs. So it really seemed very difficult to just create a synth. Of course, today the technical resources are considerably democratized. But it's still a big job for a single person to develop a machine.

However, it is again possible to find some CEM clone. And voilà :


My new toys for the next few weeks/months.

vendredi 26 avril 2019

SY99

New baby at home : 


Fully functionnal.

Some switchs need top be replaced as well as the backlighting of the display.
Nothing difficult.

Yep!


mercredi 17 avril 2019

SRAM select command Ver 1.0

The circuit for the selection of the sixteen SRAM bank is done.

This system is able to select the sixteen 2Kb equivalent space memory of my auto-saved memory :


To reach this goal, I used a totally new microcontroller for me and Chinees brand. This microcontroller is unlike any of those known in Europe or the USA. But I like testing new solutions... To work with this new I.C., there is an emulator that can be used to prototype the concept :


As usual, when the program 'looks' good, it's time to burn the software into the microcontroller. This microcontroller is not in-circuit programmable and does not offer the in-circuit emulation. It's a little limitation to its use, especially for complex systems. But the emulator supports the real-time mode. In the same way, the programmer does not allow to directly burn the type of microcontroller used, it is necessary to make a small assembly :


But, again, it works very well :


Once the program is written into the microcontroller, it remains only to solder it on the final board and to test the final assembly :


The system works perfectly and I was able to test the access to all the banks in the memory, thanks to the use of the test mode of the Mini-Pro 'universal' programmer.

Now, the next step is to install the complete system into the JX-8P, for example...

jeudi 28 mars 2019

M.I.D.I. MERGE 'HUB'.

An other project in progress :


M.I.D.I. MERGE HUB

  • Easy to use two input merged ports towards six output ports.
  • One output replica port for one of the input port. 
  • Small form factor with 3,5mm jack connectors.
  • Single USB mini power port.


mardi 19 mars 2019

M.I.D.I. to CV/GATE

An other project in progress :

M.I.D.I. to CV/GATE interface



  • M.I.D.I. channels : 1 to 8 OR 9 to 16.
  • GATE : 5V.
  • CV : 4 x (0V to 5V) and 4 x (0V to 10V).
  • CONNECTOR : 3,5mm jacks.

jeudi 7 mars 2019

SRAM select command.

My system of SRAM bank selection in on the way...


This system selects one of the memory banks installed inside a synthesizer. It will remain outside the synthesizer and will be connected to the internal memory using a connector placed on the instrument case.

In addition, a MIDI connection will allow the automatic selection of the bank, in relation to the desired patch. So it will not be necessary to modify the synthesizer motherboard in any way.

This system makes it possible to manually modify the memory bank, as well as the MIDI channel for receiving the MIDI bank change information. The MIDI channel and the number of the last bank used will be saved.

this system should also be a better bank change solution for my Prophet VS, compared to the previous system :



dimanche 3 mars 2019

THE NEWS

This last month, two prototypes were made. A circuit compatible with the 16550 UART and a self-saved 16 x 6116 SRAM circuit :


The 16550 compatible UART is partially tested. Its usb interface is fully functional. This '16550' offers two identical serial interfaces. One of them can be used in TTL or with a RS232C level converters as usual, the other is directly connected to the on board USB interface. It would be easier to communicate to vintage computer with this solution, as with my hold Z80 N8VEM board : 

On my N8VEM I haven't yet the 1,8432MHz oscillator, as in this picture.

The 16 x 6116 equivalent self-saved SRAM is tested. It's basically the same system as my previous self-saved 6116 solution : 

the hold version.

BUT, now it's possible to select ALL the sixteen 2Kb space. I work on an easy-to-use bank selector...

mercredi 6 février 2019

16 banks of internal 2Kb auto-backuped SRAM.

And now, the equivalent of 16 x 6116 auto-saved memories for your favorite vintage machine like :

  • Alpha Juno 1-2
  • Juno 106
  • JX-3P
  • MKS-30
  • JX-8P
  • JP-6
  • TR707
  • Prophet 600
  • DW6000
  • DW8000

and many others...

On the past, I developed a simple solution that had the disadvantage of only using part of the new memory component:


Very effective solution, for example inside a Roland JX-8P :


But, only 2Kb are used on the 32Kb that contains the new RAM.

So I decided to do a new version with an additionnal connector for the extra addresses selection :


The J1 connector will allow to select the memory bank using an external selection solution.

The other side of the board :


This board will be a little bigger than the previous version but still very closed to the original size of a 6116 SRAM chip :


Once this card will have been tested, it will remain to develop the board of the memory banks selection system.