Pédalier multi-effet pour guitare
- 91 réponses
- 19 participants
- 13 180 vues
- 34 followers
Firesledge
Ça intéresse peut-être des gens ici, je suis en train de concevoir et réaliser un pédalier multi-effet numérique basé sur un Raspberry Pi 3. Je me suis fait une petite page pour indiquer où j’en suis, à quoi ça ressemble, les problèmes que je rencontre, etc. Une fois que le pédalier sera opérationnel, j’en publierai les plans et notices de montage.
Si vous avez des avis plus ou moins éclairés, suggestions irréalistes, conseils pernicieux, récriminations ou autre, je suis tout ouïe.
Firesledge
À part ça, pour les composants vous me conseillez quoi ?
Pour les AO, les 5532 ont l’air de bien remplir leur rôle. Je suppose que des résistances métal 1/4 W 1 % de tolérance feront l’affaire pour toute cette partie.
Pour les diodes de protection, j’ai pris des schottky parce que leur seuil est plus faible que celui des diodes classiques et limite donc un éventuel dépassement.
Pour les condensateurs électrolytique, j’ai entendu dire du bien des FC chez Panasonic ou les Silmic II de chez Elna mais je n’en sais pas plus (faudra voir aussi les prix).
Pour les condensateurs des IC, je suppose que de simples céramiques iront.
Par contre pour le reste des condensateurs, je ne sais pas trop lesquels choisir et je m’y perds un peu avec toutes les appellations. Ceux du filtre doivent être relativement précis, probablement dans les 5 % ou moins. Des idées ?
Firesledge
J’ai rajouté l’étage d’alimentation, l’ADC et le circuit de sortie.
La première page donne la connectique, avec deux alternatives. La première est plus une référence, pour savoir qui est branché où. Je pense que je vais me fixer sur la version à broches, parce que ça donne plus de latitude sur le placement de la connectique externe.
Alimentation
Pour l’instant je découple totalement l’alimentation analogique de l’alim numérique. Cette dernière vient du Pi et passe par une régulation +5 V vers +3,3 V. Les parties numériques des circuits seront donc finalement alimentés à cette tension.
Côté analogique, je pense qu’un transfo 2 × 15 V 10 VA (2 × 333 mA) devrait suffire pour alimenter les deux entrée, les deux sorties et les IC. Les capa de redressement sont peut-être un peu grosses, je pense les redescendre à 2200 µF ce qui me permet d’utiliser d’autres modèles plus costaud et adaptés (type Panasonic FC) que les rares modèles disponibles au prix fort. Je régule ensuite le tout en 2 × 15 VDC, puis de nouveau filtrage, toujours en me basant sur le schéma d’Uwe Beis pour son AD24QS. À partir du +15 VDC, je génère du +5 VDC qui me sert pour alimenter les parties analogiques de l’ADC.
Quelques questions
– Les condensateurs électrolytique vont sans doute être des Panasonic FC (longue durée de vie, faible ESR). Le choix est bon ou y a-t-il plus adéquat ?
– Pour les 100 nF, j’hésite entre du polyester et du polypropylène (Wima MKP2 par ex). Ces derniers sont un peu plus encombrants que les polyester et certainement plus chers. Il y a réellement un avantage ? D’autre part, la céramique est-elle inadaptée ici ?
– Je me demande quels dissipateurs prendre pour les régulateurs. Je ne sais pas du tout sur quoi baser mes calculs, et les fiches constructeur sont assez obscures. La tension redressée doit faire un peu plus de 20 V sur chaque polarité, ce qui fait 5 V perdus dans le régulateur sur un max de 333 mA, soit 1,7 W à dissiper. La doc du LM7815 indique une résistance thermique de 1,7 °C/W pour la partie jonction-dos du boîtier (TO-220). Pour obtenir la résistance thermique totale, je suppose qu’il faut ajouter celle du dissipateur, dans des conditions idéales (bonne pâte thermique pour la liaison). À partir de là, je peux obtenir l’élévation de température correspondante par simple multiplication et déduire la résistance souhaitée pour le dissipateur. J’ai bon ou je suis complètement à côté de la plaque ?
Entrées
Pas beaucoup de changements depuis la dernière fois. Je me suis rendu compte que mes schottky de protection en entrée micro étaient un peu légères en terme de tension maximum acceptables. Les modèles plus costauds ont des tensions passantes plus fortes et donc moins intéressantes. Du coup je suis revenu sur des 1N4448 classiques. J’ai gardé les schottky pour l’entrée de l’ADC. J’ai aussi rajouté des diodes à l’entrée jack parce que celle-ci n’était pas protégée. Le NE5532 est bon marché et on pourrait tolérer un claquage occasionnel, mais je crois que je suis plus tranquille avec un minimum de protection.
Questions
– Matériaux des capa de découplage des AO : film ou céramique ? Je sais, c’est toujours un peu la même question qui revient, mais il est difficile de se fier aux sites et forums d’audiophiles qui préconisent tout et n’importe quoi à partir de méthodologies de test sérieusement douteuses.
– Serait-il utile de rajouter des capa film en parallèle avec les électrolytiques de liaison ? Je suppose que ça permettrait de récupérer de la linéarité sur les faibles tensions, mais je me demande si c’est vraiment utile ou si c’est encore un gri-gri d’audiophile. Ça a tout de même un impact en terme de place et de coût.
– Toujours à propos des capa, y a-t-il un réel intérêt à utiliser des films pour les filtres anti-aliasing ? Dans l’exemple de la doc du CS4272, on y parle de capa C0G, donc céramiques classe 1. Je suppose que l’application vise des composants CMS, mais ça fait une différence de prendre des films (Wima FKP2 par exemple) ? Je me pose surtout la question pour l’encombrement, pas énorme mais bon…
Codec
Comme je veux pouvoir utiliser des fréquences basées autant sur le 44.1 que le 48 kHz, je ne peux pas utiliser un simple quartz et utiliser l’horloge interne du 4272. D’autre part les quartz 22,5792 MHz nécessaires au 44.1 kHz sont relativement difficiles à trouver. Du coup, j’ai du prendre un circuit d’horloge (MK2703B) qui génère les MCLK à différentes fréquences à partir d’un unique quartz à 27 MHz. Encore une fois merci Uwe Beis, de qui je tire l’idée.
L’inconvénient c’est que le MK2703B n’est disponible qu’en SOIC. Ça me fait un circuit CMS de plus. Du coup, au moins pour faire mes prototypes, je vais me tirer un PCB supportant le CS4272, le MK2703B et quelques composants (quartz, capa de découplage). Ce sera peut-être plus simple que de prendre N adaptateurs de prototypage, et pour un prix relativement modique (ça me coûterait moins de 15 € chez Seeedstudio).
Le transistor sert juste à me faire un inverseur logique, ce qui m’économise une broche de GPIO pour choisir la fréquence de MCLK. Ça me paraît plus simple que de déployer un IC « hex-inverter » à 14 pattes pour ça.
Questions
– Sur le schéma d’Uwe Beis, ainsi que sur d’autres schémas utilsant des quartz, une paire de capa de 22 pF sont utilisées pour adapter son impédance. Pourtant, la doc du MK2703B indique une formule donnant 2 × 4 pF pour un quartz standard de 18 pF d’impédance. À quel saint me vouer ?
– Toujours pareil, quelles capa pour le découplage des alim ? Céramique pour les 100 nF c’est bon ou il faut autre chose ? L’inconvénient des films c’est qu’ils sont gros, il est donc difficile de les placer près du circuit (TSSOP c’est déjà petit). La longueur des pistes et leur taille augmente forcément l’inductance. Ou alors il faut que je fasse une triple association avec des mini-céramiques en plus, tout contre les pattes d’alim ? Ou ce sont des paramètres peu importants ici ? Le codec travaille quand même avec des fréquences de l’ordre d’une dizaine de MHz.
– J’ai une capa de découplage de 1 µF (valeur à ne pas dépasser d’après la doc du CS4272). Là c’est la limite du domaine de l’électrolytique, même si ça reste possible. Peut-être puis-je utiliser une au tantale de même type que celles pour les INA102 ? Ou il vaut mieux rester sur de l’électrolytique quand même ? Ou encore un autre matériau ?
Sorties
Là aussi, calquées sur les schémas d’Uwe Beis. Pas grand-chose de plus à dire, j’ai les mêmes interrogations à propos des capa que pour les autres étages.
Voilà, désolé d’avoir été aussi long et posé autant de questions…
[ Dernière édition du message le 12/03/2017 à 17:40:03 ]
bidoo
Cher Firesledge je suis toujours avec intérêt et admiration ton projet.
Je ne peux pas te conseiller au niveau élec car c'est pas mon rayon mais peut être que ce petit up permettra de relancer la curiosité et la sagacité de ceux qui ont déjà posté et qui t'ont déjà aidé.
Best.
“A ship is safe in harbor, but that's not what ships are for.”
[ Dernière édition du message le 27/03/2017 à 19:14:03 ]
Firesledge
J’ai reçu aujourd’hui mes PCB adaptateurs pour le CS4272 + MK2703B. J’ai encore quelques composants à recevoir et je vais pouvoir passer à la phase des essais, en testant d’abord sur breadboard chaque étage du circuit. Je sens que je vais un peu me prendre la tête pour gérer le CS4272 via ASoC, mais je peux au moins commencer en générant manuellement tous les signaux d’horloge depuis le Pi (il faut quand même soutenir 1 MHz minimum sur MCLK) sans passer par la couche ASoC. De toute façon le but à la fin est de pouvoir me passer d’ALSA pour passer par des tâches Xenomai, comme le fait Bela par exemple, et bénéficier d’une excellente stabilité et par conséquence d’un rendement CPU optimal. Mais bon il y a encore du boulot avant d’en arriver là…
Rémy M. (chimimic)
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
Firesledge
Je dois retenir mon souffle à chaque mise sous tension d’un nouvel étage, craignant odeurs de roussi et explosions de capa, mais il s’avère que tout semble fonctionner correctement. J’ai à peu près les bons niveaux aux bons endroits. Il me reste encore à tester la qualité effective (SNR, THD…), mais sur breadboard je ne m’attends pas à des résultats phénoménaux.
Pour la partie numérique, j’ai fait au plus simple pour l’instant. Le Pi ne sert que pour l’alimentation de la partie numérique du CS4272, je ne contrôle rien ni ne traite aucune donnée.
Petite frayeur au début, je n’obtenais rien pour la tension VCOM qui sert polariser le signal d’entrée. En fait il suffisait de « lancer » la conversion (ici en mode standalone) pour que cette tension soit générée. Je vérifie au passage que les différentes horloges sont bien générées, ainsi que les données issues de l’ADC. En connectant le SDIN du port I²S sur le SDOUT, je branche le DAC directement à la sortie de l’ADC. Cela me permet de tester l’intégralité de la chaîne, de l’entrée audio jusqu’à la sortie en passant par le numérique.
Cependant en faisant les tests je trouve des fréquences trop élevées à la sortie de la PLL. Je finis par vérifier le quartz : c’est un 30 MHz ! J’avais commandé un 27 MHz, chiffre figurant d’ailleurs sur la pochette reçue… Ce n’est pas grave, la nature des résultats ne change pas fondamentalement. Le proto suivant utilisera un quartz de bonne valeur. En tout cas les capa 4 pF ont l’air d’être adéquates.
Je me tate encore sur les valeurs les plus efficaces pour les potars de gain, le 2K5 en log inversé a l’air plutôt pas mal.
Petite recification tout de même : mes schottky de limitation à +5V et des berouettes aux entrées de l’ADC étaient inefficaces. En effet, en cas de surtension, du courant passait par la diode et retournait vers le régulateur. Malheureusement je n’avais pas imaginé que le LM7805 n’était pas capable d’absorber du courant, il ne peut qu’en émettre. Ça ne pose pas de problème si le reste de sa charge peut absorber le surplus de courant. Mais en cas d’excès, la tension à la sortie du régulateur remonte. Ce peut être catastrophique pour le reste des circuits alimentés, en plus de ne même plus protéger les entrées de l’ADC. J’ai donc intercalé un TL431 réglé très légèrement au-dessus de 5 V afin de limiter la tension en épongeant le courant rentrant.
J’ai finalement ajusté le PCB que j’avais conçu entre temps et je l’ai envoyé à imprimer, pour faire des tests plus poussés. Pendant ce temps je vais pouvoir préparer la partie logicielle.
bidoo
“A ship is safe in harbor, but that's not what ships are for.”
Firesledge
bidoo
Respect et impatience de lire les prochains épisodes.
“A ship is safe in harbor, but that's not what ships are for.”
Axiome Sentinelle
Vous nous ferez une petite démo sonore pour que l'on écoute comment ça sonne?
Bon courage.
babaorum
Clip Ideal_Sound - 'Bleu orage' by Ideal Sound
Firesledge
Vous nous ferez une petite démo sonore pour que l'on écoute comment ça sonne?
C’est vrai que ça manque, je vais essayer de faire quelque chose dans les jours qui viennent. Peut-être aussi une vidéo, si j’arrive à mettre la main sur une caméra décente.
juju83_1
Je viens de prendre connaissance de ce projet.
Bravo ! c'est chouette !
Je suis en train de penser à faire "un peu la même chose" mais en plus simple à mettre en place.
Un pedalier midi -> carte son audiobox USB que j'ai deja -> guitare ou basse ou autre en entrée -> enceintes monito en sortie -> traitement multieffet par Rpi utilisant Guitarix ou mod-app ou rakkarack ... ou ???
Si ça vous interesse je vous tiens au courant ou je crée un nouveau topic.
Merci pour les idées en tout cas et le retour d'experience sur l'audiobox usb et Rpi - Raspbian.
Firesledge
J’avais dit que je la ferai, la voilà enfin :
Vidéo de présentation (19 min, 122 Mo)
Il me reste encore à faire des exemples de sons convaincants.
J’ai été pas mal absorbé par divers projets ces derniers temps et je n’ai pas vraiment avancé sur le software de la nouvelle carte son depuis la dernière fois, en revanche j’ai continué de faire évoluer le modèle actuel. Je vais essayer de m’y remettre au cours de l’été.
[ Dernière édition du message le 28/06/2018 à 20:23:50 ]
kosmix
Sacré boulot que tu as abattu là ! Et sacré machine qui semble être pleine de possibilités (et en plus ça sonne !)
Quelques progrès esthétiques à faire cependant au niveau du boîtier, quoique c'est une question de goût. Mais je te félicite pour tes chaussons ils sont très jolis
Putain Walter mais qu'est-ce que le Vietnam vient foutre là-dedans ?
bidoo
“A ship is safe in harbor, but that's not what ships are for.”
nicomezi
Magnifique projet.
Perso je me contente d'acheter mais faire soi-même c'est vraiment le top !
Firesledge
EDIT : Ah sinon j’ai environ 80 dB de diaphonie entre mes deux canaux en entrée. Je ne sais pas si c’est suffisant, et si ça ne l’est pas, comment c’est améliorable. Mes canaux restent physiquement bien séparés sur la carte quasiment jusqu’aux broches d’entrée des convertisseurs. Du coup je me demande si ce n’est pas une question d’alimentation dans la partie préamp. Devrais-je associer à chaque canal sa propre paire de régulateurs ?
[ Dernière édition du message le 21/04/2019 à 01:15:09 ]
Jimbass
j’ai environ 80 dB de diaphonie entre mes deux canaux en entrée.
Je pense que c'est déjà carrément pas mal. Y'a des tables de mixage qui font moins bien.
Du coup je me demande si ce n’est pas une question d’alimentation dans la partie préamp. Devrais-je associer à chaque canal sa propre paire de régulateurs ?
Sans aller jusque-là, un bon découplage d'alim est essentiel. Grosse capa électrolytique comme réservoir, et petite capa céramique au plus près de chaque patte d'alim.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
Firesledge
※ Je galère un peu avec la partie driver de la nouvelle carte son. Avec le driver ASoC j’obtiens une latence correcte mais sans plus, pas franchement meilleure qu’avec la carte USB. De plus, l’occupation CPU à vide est plus forte. Du coup j’ai tenté de court-circuiter tout ce qui concerne le système et d’implémenter le transfert I2S en lisant et écrivant les broches du GPIO à la main. Résultat : ça marchouille. Dans le principe ça fonctionne, mais j’ai régulièrement des craquements. En effet le thread qui s’adresse au GPIO a un timing très serré, je dois ne dois pas louper une seul front d’horloge, toutes les 177 ns. Mais le noyau interrompt régulièrement les threads et cela suffit à me faire perdre la synchro, ne serait-ce que pour un échantillon. La solution pourrait marcher en « bare metal » (sans sytème), cependant ce n’est pas la direction que j’ai choisie. Il y a peut-être des outils pour améliorer ça dans la branche Prempt-RT de Linux, mais j’ai encore des cordes à mon arc avant de chercher de ce côté.
Donc là je me lance dans un driver qui manipule l’interface hardware PCM/I2S du SoC sans passer par le système. Je vais commencer par tester en polling, et si ça marche bien je ferai les transferts en DMA.
※ Je songe passer à une machine plus puissante pour la v2. J’ai pensé à un Odroid N2, qui a l’air vraiment bien. Sauf qu’il lui manque l’entrée audio en I2S (il n’a que la sortie à ce format). J’ai fouillé un peu les docs, le SoC implémente bien les transferts I2S dans les deux directions, mais les broches ne sont pas câblées sur le N2. Toutefois je pense qu’il doit être possible de faire passer l’entrée par la broche de contrôle du ventilateur (!) en réassignant sa fonction. À voir et à tester. La doc du SoC S922X est très superficielle voire lacunaire, ça sent la galère. Entre temps le Raspberry Pi 4 est sorti, il est d’une puissance comparable (mais moindre) à celle du N2, plus petit, dispose d’une excellente compatibilité avec le Pi 3 pour un prix très abordable. Finalement je vais plus probablement aller voir du côté de ce dernier, quand des modèles seront de nouveau disponibles à la vente.
※ Toujours pour une v2, je vais mettre à jour l’écran, pour une résolution plus élevée. Là, plus question de passer par le GPIO pour les transferts de pixels, les débits vont être trop importants. J’ai donc mis la main sur un écran bien sous tous rapports : 4 pouces (dimensions parfaites pour moi), trous de vissage, IPS, HDMI, 800x480 et truecolor. J’ai adapté vite fait mon API au framebuffer de Linux, ça fonctionne déjà parfaitement avec la version actuelle de Pédale Vite.
※ Je suis en train de réfléchir à transformer la chaîne d’effets en graphe d’effets. Donc avoir plusieurs chemins parallèles, qui peuvent se croiser, diverger à nouveau, etc. Sur le plan traitement audio ça ne me pose pas de problème (j’ai déjà fait ça), par contre trouver une interface d’utilisation potable pour présenter et éditer ça sur un écran de 128x64, c’est plus compliqué. Enfin, j’ai déjà quelques idées, faut que ça finisse de maturer et que ça prenne forme… Le nouvel écran devrait aussi simplifier pas mal de choses, mais pour l’instant il faut que j’imagine les choses sans.
※ J’ai depuis quelques temps un détecteur de fondamentale qui fonctionne correctement (monophonique uniquement), ainsi qu’un détecteur d’attaques et d’arrêts de notes. C’est encore améliorable mais ça peut déjà faire l’affaire. J’ai commencé à ressortir et à remettre au goût du jour mes bouts de codes liés à la synthèse sonore (oscillateurs, enveloppes, etc.) pour pouvoir transformer la guitare en synthé.
※ En plus de tout ça, je continue d’ajouter des effets de temps en temps, la routine quoi…
kosmix
Putain Walter mais qu'est-ce que le Vietnam vient foutre là-dedans ?
Firesledge
Hébin tu ne chômes pas
En effet, j’alterne un peu les périodes d’utilisation et de conception. Là j’essaie de faire un peu avancer des choses qui ont été entamées depuis trop longtemps déjà…
Donc là je me lance dans un driver qui manipule l’interface hardware PCM/I2S du SoC sans passer par le système. Je vais commencer par tester en polling, et si ça marche bien je ferai les transferts en DMA.
Les premiers résultats en polling sont très concluants. Avec les mêmes réglages que sur la v1 (buffers de 64 samples), j’obtiens 3,8 ms de latence ADC → Pi → DAC, à comparer aux 13,4 ms avec la carte USB de la v1. De plus, la charge CPU est nettement plus stable et le temps de traitement disponible un poil plus élevé ; que du bon.
En descendant à 16 samples, j’obtiens 1,7 ms de latence avec une excellente stabilité même avec un patch chargé. Évidemment ça consomme plus de CPU comme ça. Par contre plus on diminue la taille des buffers, plus on risque d’avoir des décrochages (thread suspendu par le scheduler, temps de traitement variables…)
Il me reste des détails à régler et à faire des tests plus intensifs avec de la charge du côté des I/O, mais pour l’instant c’est en très bonne voie.
J’y retourne !
marceloMicro
Je vien de découvrir ton projet. Magnifique! A vrais dire j'adore bricolé des petits bidule électronique mais alors là! ça dépasse l'entendement! Bravo! Je suis une chiasse en conception mais par contre j'adore bricolé! je pense que je vais essayé de me fabriquer ton engin!
Merci a toi!
je perch où je veut... Et c'est souvent devant la gueule.
Firesledge
je pense que je vais essayé de me fabriquer ton engin!
Excellent !
Bon sinon j’avance toujours sur la v2 de mon Pédale Vite incluant tous les changements dont j’ai parlé précédemment. Au bout du compte je dois pouvoir lui faire perdre pas loin de 5 cm d’épaisseur.
Firesledge
J’ai un peu changé de stratégie, le boîtier n’est plus fait d’une seule tôle pliée mais de plusieurs panneaux. La façade principale et le panneau arrière des connecteurs sont en acier, la face avant et le capot du dessous en aluminium. Ce sont des chutes de précédents montages, tout comme le bois des montants. Des cornières en alu font la jonction aux angles.
Pour comparaison, Pédale Vite v1 à gauche, v2 à droite. Je triche un peu sur l’épaisseur, il manque les pieds de la v2, mais c’est à peine un petit centimètre en plus :
Vue de l’intérieur. Le câblage reste à faire et le Pi 4 en haut à droite n’est pas encore à sa place :
Le bloc en haut à droite, c’est l’alimentation 5V/3A principale, pour le Pi 4 et les autres parties numériques. Le transformateur torique et le circuit de redressement/régulation juste à côté sont destinés à la partie analogique de la carte son, placée à gauche.
La carte principale (au centre) est probablement provisoire, une fois les essais passés, je referai sûrement une deuxième version afin de pouvoir exploiter le côté tactile de l’écran.
Il me reste donc tout le câblage à faire, et ensuite de nombreux tests avant de pouvoir valider le monstre. Et plus tard, rénover l’interface d’utilisation pour tirer parti de la résolution plus élevée de l’écran.
[ Dernière édition du message le 17/10/2019 à 19:32:09 ]
- < Liste des sujets
- Charte

