Journal de développement
- 23/10/2024 (date du post original) :
Après quelques mois de R&D, je me suis lancé dans la conception du PCB de la surface de contrôle avec Clément.
J’ai déjà bossé sur son layout sur figma et je pense que je vais m’en satisfaire pour la V1.
On verra à l’utilisation pour l’optimiser !
Clément bosse la conception donc. Il m’a proposé une surface de controle en plexiglass défoncée à la CNC, sur laquelle on sandwichera une feuille d’alu brossé trouée aussi à la CNC pour un rendu super esthétique, lisible, et robuste. C’est ce qui est en screenshot sur le post à l’heure actuelle
Niveau plugins audio, j’ai réussi à faire tourner mon Sampleur, l’Echo, les 2 bell filters, et le multiband comp en même temps sur le raspberry pi et en les contrôlant via le réseau local.
Je suis choqué par la latence, on ne la perçoit absolument pas !
J’ai aussi un prototype de controleur midi 16 potards avec le teensy et deux multiplexeurs qui fonctionne, en attendant de finaliser et commander le PCB du preamp entier.
C’est assez simple en vrai, je recommande à ceux qui hésitent, essayez donc !
Pas mal de doc en cours, avec des schémas whimsical, c’est déjà sur le github en grande partie.
Le reste, Soon Come™️
Super hâte d’avancer dessus !
Pour les plugins, j’ai refait un test de charge de travail CPU, sans le sampleur ni la reverb, on est à 25% CPU en moyenne, et ~27% max (ou peak pour mes soundbwoy)
Donc c’est super ! ça rend presque overkill le ventilateur que j’ai mis sur le Raspberry Pi, et quasiment inutile le ventilateur prévu dans l’enclosure sur le back panel.
Mais bon évidemment au bout de 10h de session ruff and tuff on sera bien content d’y avoir pensé
Je tiens aussi à rappeller que ça tourne pour l’instant sur un raspberry pi 4, et que lorsque le 5 sera supporté par ELK Audio OS, je me ruerais évidemment dessus, car il est encore beaucoup plus puissant, et permettra donc des effets plus gourmands, de meilleures performances, et une meilleure efficacité énergétique, et il chauffera donc encore moins (alors qu’il ne chauffe déjà pas).
Que du bonheur.
Ca y est, enfin, le PCB design est validé par mon proche ingé élec, et j’ai lancé ma toute première commande.
(oui j’ai signé mooncrown sound, pour vous pousser à télécharger KiCad, et mettre le logo de votre sound à la place ! )
Oui les professionnels vont rire quand ils verront mon routage, mais c’est mon premier de chez premier ! haha
Chez AllPCB, j’en ai eu pour 161.66$ livraison en france inclue pour 5 exemplaires (quantité minimum), donc environ 30€ le PCB !
Les fichiers sources du PCB et les fichiers gerber pour la fabrication sont d’ores et déjà sur mon github, si vous voulez y jeter un oeil.
Une fois que je l’aurais reçu, soudé les potards et les boutons et codé le controleur midi, je vous referais une update pour vous dire si ca marche ou si ca explose.
ATTENTION : On n’est absolument pas à l’abri que ca déconne à ce stade la du développement, donc si vous vous chauffez à commander, vous êtes prévenus.
En tout cas pour ce qui me concerne, ça sent très bon !!!
Comme l’auront remarqué les plus perspicaces, j’ai ajouté un connecteur IDC 2x17 pins sur lequel sont exposés les pins des multiplexeurs et tous les pins inutilisés du teensy et du raspberry pi, pour ceux qui voudraient s’aventurer à développer une extension (on est pas a l’abri que je fasse une extension EQ graphique avec énormément de bandes un de ces 4 à caler au dessus sur un rack héhé)
Et puisqu’on tourne à environ 30% de CPU au max, y’a encore de la place pour faire tourner vos belles idées
Une fois la partie contrôleur midi terminée, il me restera à accomplir les tâches suivantes (j’en zappe surement quelques unes) :
- développer une reverb convaincante ou en forker une existante, et l’utiliser dans les pistes d’effets Sub Roar et Room Reverb
- faire la config Sushi avec la définition des tracks, des plugins et du signal flow entre les tracks, et évidemment le mapping des potards et boutons du controleur midi vers les paramètres de Sushi et des VST (Long mais pas compliqué. Je ferais la config Stereo uniquement, dans un premier temps. La config 2xMono viendra une fois que tout sera stable et finalisé en stereo)
- créer la « glue app » python qui se lancera au démarrage du preamp, et qui récupèrera entre autres les infos du multibande par messages OSC, pour actualiser les LEDs en temps réel, et aussi qui actualisera l’état des potards pour initialiser les VST aux bonnes valeurs (potentiellement long mais pas infaisable)
- une fois que clément l’aura finalisé, réaliser la boite et la faceplate, soit dans un fablab dans le coin si j’ai le temps (j’aimerais avoir le preamp pour le Cergy Dub Club le 22 novembre), soit chez nos chers amis chinois à qui j’ai demandé un devis pour la boite entière aluminium + plexi. (si il ne me manque que ca, je ferais un proto en conteplaqué pour le 22 novembre)
- Ecrire une belle documentation pour les fous qui souhaiteraient se lancer dans l’aventure, et une fiche des matériaux pour situer le prix d’un preamp plus facilement.
J’ai également acheté ce dev kit qui permet d’avoir deux jolies fiches XLR avec signal balancé plutôt qu’un jack 3.5mm en in et deux fiches RCA en out.
Voila pour le moment. Comme d’hab je vous tiens au jus.
Stay tuned !
Big up
J’ai terminé de développer la partie MIDI du preamp avec le nouveau PCB, avec les potards et les différents boutons et interrupteurs.
Aucun souci avec la partie MIDI, c’est cool ! first try !
J’ai également fix la config sushi pour mon petit problème avec les sends, donc il faut maintenant que j’écrive la partie mapping controles midi -> paramètres des différents VST, puis j’attaquerais avec les LEDs.
Bien qu’ils ne vont pas empêcher le bon fonctionnement du preamp, certains points du design PCB sont améliorables pour plus de comfort lors de l’assemblage.
- certains trous ont un trop petit diamètre pour y souder des fils classiques et des pin headers standards (du coup j’ai chopé du fil plus petit, mais c’est pas optimal pour vous si vous en fabriquez un)
- le connecteur IDC du raspberry pi est trop proche mais avec suffisamment de risers ca ne pose pas de réel souci
- il manque aussi le design d’un stencil qui permettrait de faciliter énormément le soudage des potards et boutons et de les avoir parfaitement alignés, la j’ai du élargir mes trous un peu à la zobe pour que tout passe a travers ma plaque de bois de prototype.
- je me suis rendu compte un peu tardivement que toutes les LEDs demanderont trop de courant au circuit du raspberry donc j’ai acheté une alim 5V 10A qui alimentera le tout, reliée à une jolie fiche IEC+interrupteur qui sera exposée à l’arrière du boitier, à côté des in/out audio et de la fiche ethernet.
Donc pour les LEDs, il y’a une piste qui part du pin 5V du pi jusqu’aux barrettes de leds qu’il ne faut surtout pas utiliser au risque de cramer le pi si les leds sont drivées et alimentées par ce dernier.
J’essaye de tout faire pour que ce soit utilisable en test pour le Cergy Dub Club ce vendredi 19h, on verra bien !
Mesdames, messieurs, la hype est au maximum !
Le preamp n’est pas 100% terminé, loin de là même, mais la config sushi est quasiment terminée à quelques VST de filtres et mappings midi près, je vais prendre le pari de jouer avec au cergy dub club demain ! (si je ne le casse pas d’ici là )
J’en suis arrivé à un stade du développement où je suis suffisamment confiant pour vendre mon preamp ligwa, si ca intéresse quelqu’un
Aujourd’hui sont implémentées les features suivantes :
- La main track (stéréo uniquement, le 2x mono c’est pour plus tard), avec le double EQ et le compresseur multibande+kills (quel banger d’ailleurs)
- le sampleur et ses sends
- la return track Strange Returns (space echo-like) SAUF la feature de tap tempo (donc bouton + led), et le lowcut que je dois encore ajouter au plugin, c’est sur la todolist.
- la return track Graindr (grain delay), un léger travail a faire dessus aussi, pour retirer la deuxième delayline afin de ne pas gaspiller de perfs (c’est de la pignole, le setup entier ne consomme déjà que très peu de CPU, mais tout de même en todolist)
- la return track SubRoar (un petit filtre lowcut à ajouter aussi, en todo)
- la return track Reverb, sur laquelle j’ai désactivé pour l’instant mon autofilter parce qu’il a un bug un peu chelou qui kill le channel gauche.
Jusqu’ici j’utilise MVerb comme plugin de reverb, il est ok mais pas parfait, et notamment il crépite si on change la room size.
Je développerais peut-être une reverb pour le preamp plus tard, pour l’instant ca fait le taf, juste couper le son de la track quand on change la room size, ca passe.
Une photo du bébé dans son état actuel :
Par contre pour les LEDs que je prévoyais de piloter via le GPIO 10 du raspberry pi en SPI, je me suis heurté au fait qu’il soit désactivé par ELK Audio OS. Donc c’est un peu chiantos vu que je me suis déjà engagé sur ce pin en faisant le PCB (j’aurais du checker ca avant lors du prototypage pré-PCB), mais j’ai ouvert un thread sur le forum ELK, avec un peu de chance ca se rattrappe.
Sinon je creuserais d’autres pistes et je ferais courir un fil plutot que d’utiliser la trace PCB correspondante. Tant pis ! pas de LEDs pour le moment. On fera sans demain
Big up !!!