Il y a quelques années, je me suis retrouvé - tout à fait fortuitement - à réparer le circuit “synthé” sur un Fender Rhodes MK3. J’ai donc cherché - et trouvé - les schémas électroniques. Et il y a plein de choses intéressantes dedans ! Et en ces temps de confinement, un bon coup d’électronique analogique va nous permettre de nous évader, un peu …
Ici l’on parle d’une évolution spécifique : le MK3 EK10.
Cette version ajoute, au-dessus (littéralement) du Rhodes standard, un synthétiseur analogique, disposant de plusieurs sonorités, et dont on peut mixer les sons avec le son du Rhodes vanilla.
Je me suis retrouvé face à cet engin au Flot, qui, du temps que j’y trainais, disposait d’un exemplaire. Il se trouve que la partie synthétiseur déconnait fortement, et donc avec deux potes nous nous étions lancé dans la maintenance de cette chose. Et donc nous avons cherché la doc, et je dois avouer que comprendre le fonctionnement de cet instrument était loin d’être évident. Par contre, j’y ai découvert plein de choses très intéressantes. Une belle démonstration de design analogique des années 70 :) Avec plein de trouvailles … Mais aussi une bonne dose de dette technique :P
On peut chopper le manuel de maintenance facilement, entre autres sur … fenderrhodes.com :)
Par la suite je prendrai ce fichier PDF comme référence, en indiquant les numéros de page écrits dans le texte (il y a un décalage par rapport aux numéros de page du fichier).
A partir de la page 23 on y trouve les schémas électroniques:
- Page 22 : oscillateur principal (“top octave generator”)
- Page 23 et 24 : diviseurs de fréquence et VCAs
- Page 25 : mixeur de sortie et filtrage
- Page 26 : circuit d’accordage (tuning)
- Page 27 : alimentation
Introduction
Le Fender Rhodes est un piano électrique, pas du tout un synthétiseur. Son principe de base repose sur un système mécanique proche du piano “standard”, à la différence qu’au lieu de faire vibrer des cordes on fait vibrer des languettes métalliques. Les touches sont purement mécaniques et vont frapper les languettes, sans intermédiaire électronique. Le son est ensuite capté par des micros magnétiques, comme sur les guitares électriques. Il y a un micro par languette (donc un par note) et tout cela est connecté en parallèle vers la sortie. L’action des touches n’a pas de résultante électronique, l’action de génération du son est strictement mécanique, et on capte la vibration avec un micro.
Le MK3 ne déroge pas à cette règle, et ne fait qu’ajouter un énorme circuit de synthèse par-dessus - littéralement - le Rhodes vanilla. Et donc, comme le principe de base est conservé, il n’y a pas de signaux genre CV ou autre généré par un clavier, qui ensuite va attaquer un expandeur - ce qui est le principe “standard” de nos jours. Ici, le premier signal électrique dont on dispose (“premier” dans le sens “premier dans la chaîne de génération du son”) est le signal audio des micros, donc déjà un signal audio analogique.
Comme il y a un micro par touche, chaque touche dispose, physiquement, de son propre signal, on dispose du son séparé de chaque touche. La partie synthétiseur va tirer parti de cela, et utiliser ces signaux comme déclencheurs. Cela a deux avantages:
- Il n’y a pas besoin d’ajouter un système de conversion des signaux mécaniques d’appui des touches. Le système électro-mécanique du Rhodes vanilla est conservé tel-quel, et on ne travaille que sur le signal électrique des micros, déjà présent d’origine.
- Il n’y a pas de “dé-synchronisation” entre le son généré par les languettes mécaniques et le son généré par le synthé, puisque on se sert du son des languettes pour générer le son du synthé, celui-ci est intrinsèquement asservi sur le son des languettes.
Par contre, cela signifie qu’il va falloir traiter ce son “brut” pour en faire un déclencheur électrique pour le reste de l’instrument.
En pratique, on dispose donc du son du Rhodes vanilla, et de plusieurs potentiomètres qui permettent de mixer sur ce signal des oscillateurs. Il y a, en gros, trois sons disponibles. Il y a aussi un réglage de fréquence qui permet d’accorder les sons de synthé. Ce réglage étant unique, tous les sons dérivent en suivant le réglage.
Mais … Comment cela est-il implémenté en pratique ?
Architecture
Voici l’architecture globale simplifiée, représentée pour une seule note, ici le ré# (qui est la note la plus élevée sur ce clavier, le layout n’est pas quantifié sur une gamme de do):
On a donc un circuit “top octave generator”, en haut, qui génère 12 notes d’une octave élevée. Ici 2 octaves au-dessus de l’octave la plus haute du clavier physique. L’idée, c’est qu’on va générer la fondamentale + deux harmoniques (la seconde et la 4e), pour toutes les octaves du clavier. Donc la note la plus haute qu’on a besoin de générer est 4 fois la fréquence de la note la plus haute du clavier. Ici c’est 9956 Hz pour l’harmonique 4 du ré# tout à droite du clavier.
On génère donc les fréquences des 12 demi-tons de la gamme située 4 ocatves au-desus de l’octave la plus haute du clavier physique, et ensuite on va générer toutes les notes plus graves en divisant ces fréquences. On utilise pour cela des CD4024, qui sont des composants CMOS dont la fonction est de compter en binaire. Les compteurs binaires ont des sorties dont les états actifs sont divisés par deux. Concrètement cela signifie que quand il y a 4 fronts sur une sortie, il y n’y en aura que 2 sur la suivante, et 1 seul sur la suivante (etc). Ce comportement est différent des compteurs décimaux, dont les sorties ont des subdivisions décimales, et pas en multiples de 2, c’est à dire que sur une sortie qui a 3 fronts, la suivante, n’en a que 2, la suivante 1 seul (etc).
Avec un schéma, plus évident:
Et un compteur décimal compte comme ça:
En pratique, l’idée c’est de faire entrer la fréquence de l’octave la plus haute, et sur chaque sortie on aura le signal divisé par 2. Donc, pour ré#, ça va faire:
- Input = 9965 Hz (D# 9)
- Q1 = 9956Hz / 2 = 4978Hz (D# 8)
- Q2 = 4978Hz / 2 = 2489Hz (D# 7)
- Q3 = 2489Hz / 2 = 1244.5Hz (D#6)
- Q4 = 1244.5Hz / 2 = 622.25Hz (D# 5)
- Q5 = 622.25Hz / 2 = 311.125Hz (D# 4)
- Q6 = 311.125Hz / 2 = 155.563Hz (D# 3)
- Q7 = 155.563Hz / 2 = 77.781Hz (D# 2)
L’on remarque une chose étonnante au premier abord : il y a 3 composants diviseurs. Le premier va du ré# 2 au ré# 7, le deuxième du ré# 3 au ré# 8, et le troisième du ré# 4 au ré# 9. Or, on remarque que les fréquences “intermédiaires” (gammes 4 à 7) sont générées sur les 3 composants. Pourquoi cette redondance ? En fait, l’idée est d’exploiter le signal de reset des composants pour couper toutes les octaves d’un coup. J’ai colorisé chaque signal par rapport au compteur dont il sort. Les signaux switch en haut servent à couper d’un coup tous les signaux d’un composant, et chaque bloc “octave” à droite correspond à une touche. Si on appuie sur une des touches, on va avoir jusqu’à trois signaux mélangés (vert, violet et orange) en fonction des switches activés. De cette façon, on contrôle avec un seul signal la présence de 1, 2 ou 3 signaux harmoniques dans les sorties. Si on avait voulu optimiser en ne générant chaque fréquence qu’une seule fois, il aurait fallu mettre des switches analogiques, ce qui aurait ajouté beaucoup plus de composants, au global.
Pour chaque note de la gamme, on a le même circuit, juste la fréquence de départ correspond la l’harmonique 4 de la note en question sur la dernière octave du clavier.
Pour ce qui est de la répartition physique, on voit sur les pages 23 et 24 qu’il y a 6 compteurs par carte, alors qu’il n’en faut que 3 par note. En fait chaque carte gère deux notes de la gamme, donc au final pour 12 notes sur une gamme il faut donc 6 cartes. C’est juste un choix de répartition physique des fonctions sur les PCBs.
Pour chaque note, les trois signaux ainsi distribués sont ensuite modulés et filtrés.
Cette architecture n’a rien de très choquant pour l’époque, c’était assez classique comme approche.
Alimentation
Je passe vite dessus, elle est ultra basique, ce qui n’est pas une surprise. Il s’agit d’une bête alimentation linéaire, à l’ancienne. On a un transfo d’entrée, connecté au secteur à travers un interrupteur principal avec un éclateur pour filtrer un peu les surtensions. Le transfo abaisse la tension à +/-22V (ce n’est pas précisé sur le schéma, on trouve l’info page 20), puis deux régulateurs linéaires (des classiques 7815/7915) viennent lisser tout ça pour obtenir +/-15V. Rien de spécial à signaler : il n’y a pas de ligne d’alimentation “de puissance”, vu qu’il n’y a pas de fonction qui le nécessite (pas d’ampli intégré, ça sort du signal “niveau ligne”). Et en fonction des pays le transfo change pour s’adapter au secteur local (120V chez les amerloques, 100V chez les japonais, 240V chez les autres).
On trouve ce genre d’alim basique partout à cette époque. Ça a l’avantage d’être facile à faire, facile à maintenir et débugger. Et puis bon, à l’époque, on savait pas faire autrement. Par contre ce type d’alim est truffé de défauts:
- Le facteur de puissance est minable,
- Il faut un transfo d’entrée monstrueux, donc lourd et cher,
- Il faut des condensateurs énormes, donc lourds et chers,
- Les régulateurs (surtout le 7915, régulateur de tension négative) ont une durée de vie, et comme ils travaillent en linéaire, ils dissipent beaucoup, donc il faut des dissipateurs, lourds et encombrants.
De nos jours on utilise des alimentations à découpage, qui sont plus complexes et quasi-impossibles à débugger, mais qui ont pour énorme avantage d’avoir une densité de puissance incomparablement supérieure (donc plus petites et moins lourdes), et la possibilité (pour celles qui sont bien faites) d’avoir un facteur de puissance très proche de 1.
Oscillateur
Le cœur du système est le MO83 / AY-3-0215, qui est un circuit dédié générant 12 signaux carrés correspondant aux douze notes d’une octave. Il est réglé de façon à générer les fréquences correspondant à la plus haute octave du clavier. Le contrôle de tuning joue sur l’accordage de ce circuit. Il s’agit là d’un circuit spécifique, bien entendu plus fabriqué de nos jours. S’il fallait le remplacer aujourd’hui, on utiliserait un circuit programmable, ou un circuit à base de PLL, ce qui d’ailleurs serait sans doute beaucoup plus stable et versatile.
http://www.armory.com/\~rstevew/Publ…
Pour générer les autres notes, on va tout simplement mettre des compteurs pour diviser la fréquence des signaux issus de ce composant. A chaque fois qu’on compte un multiple de 2, on descend d’un octave, et donc on recréée toutes les notes qui manquent. Reste ensuite à les re-distribuer sur les différentes touches du clavier. Routing à la spaghetti qui est réalisé via les nombreuses nappes qui relient les cartes entre elles. Les compteurs sont de basiques compteurs de type CD4024, du bon vieux CMOS première génération, bien fragile et c’était d’ailleurs plusieurs de ces composants qui avaient grillé sur le piano que l’on cherchait à réparer. Tout cela est alimenté en 15V.
Ces compteurs existent toujours, c’est de l’ultra-standard. Par contre, a priori c’est difficile de les obtenir en boîtier PDIP. En tous cas, à l’époque (ya 4-5 ans) mon pote était aller en acheter sur Ebay en Hongrie (je crois).
Tout cela est très bien, mais on a alors uniquement du signal carré, et en continu. C’est un peu agressif, et ça manque de dynamique. Ces signaux vont être donc filtrés et modulés.
VCA
Mais avant d’être filtrés, on applique sur ce signal l’enveloppe du signal électrique provenant du micro magnétique. Et c’est là que ça devient intéressant.
Faire un VCA c’est plutôt compliqué, et ça requiert soit une topologie compliquée (à base de LTP en discret en général), soit des composants spécifiques (LDR, OTA …). Ici, on a 1 signal par touche, donc ni l’un ni l’autre ne sont souhaitable. Et donc … ils ont trouvé une solution très futée.
Voici le schéma du circuit:
Pas bien compliqué, en première approche.
Les signaux (1), (2) et (3) sont les trois signaux des oscillateurs aux octaves sélectionnées pour la note. Ce sont donc trois signaux carrés, de fréquence différente. L’on remarque déjà qu’ils ne sont pas additionné au même taux, chacun a une résistance série de valeur différente qui définit le “volume” du signal correspondant dans la résultante finale (il s’agit d’un simple mélangeur passif). Et l’on remarque encore que les résistances ont des valeurs spécifiques, surement ajustées empiriquement aux valeurs “qui sonnent bien”.
Ce signal d’entrée est donc injecté sur l’entrée inverseuse de U101 droite. Cet ampli-op est monté redresseur simple alternance, via CR301, CR401 et R801. La capa C401 ne sert, vu sa faible valeur, qu’à atténuer les oscillations éventuelles de l’ampliop.
Le signal modulant, provenant du micro, arrive par le signal qui rentre par la droite, entre R401 et C101. Très clairement, R401 permet de transmettre ce signal non modifié vers le mixer général des micros “clean”, tandis que C101 permet de séparer la composante continue pour permettre l’injection du signal dans le VCA, via R501. Ce signal est donc injecté sur l’entrée inverseuse de U101 gauche, qui est monté en redresseur simple alternance négative via CR101, CR201 et R601. Là encore, C201 sert juste à empêcher l’ampliop d’auto-osciller à haute fréquence. pourquoi sa valeur est différente de C401 ? Mystère … La présence du condensateur C301 fait de ce morceau de circuit un détecteur de crêtes. Au niveau de C301 nous avons donc l’enveloppe des alternances négatives du signal modulant. (Il est à noter que le circuit est alimenté en alimentation symétrique (+/- 14V))
Ce signal d’enveloppe st donc mélangé, à travers R701, avec le signal modulé, et injecté dans l’étage redresseur simple alternance positive. Comment cela fonctionne-t-il ? Faisons une petite simulation pour y voir clair.
B1 (à gauche) c’est le signal modulant. Je l’ai défini comme un simple sinus avec une enveloppe qui augmente linéairement pour voir l’effet de l’amplitude. V4 (à droite) c’est le signal modulé. Dans un premier temps j’y mets un sinus d’amplitude +/-15V, pour commencer. Les signaux ont cette gueule-là:
En vert le signal modulant, en bleu le signal modulé, et en rouge le signal de sortie.
Ici, vu qu’il y a détection de crêtes, il n’est pas nécessaire d’avoir une grande différence de fréquence entre les signaux modulés et modulant, de toutes façons on utilise du signal modulant uniquement son enveloppe. D’ailleurs, en pratique, les deux sont des signaux audio dans les mêmes ordres de grandeur de fréquence. Donc, en signal modulant, je fais un sinus donc l’amplitude augmente avec le temps. Le signal modulé doit voir son amplitude suivre l’amplitude du signal modulant.
C4 est un simple condensateur de liaison, il élimine la composante continue du signal modulant, tout en effectuant un léger filtrage avec R5. R5 sert aussi à bufferiser le signal audio d’entrée, qui se retrouve écrêté en entrée de U3. En entrée de U3, on retrouve uniquement l’alternance positive, bien rabotée du fait des tensions de seuil des diodes. Si on regarde en sortie de l’ampliop - et pas au niveau de la capa de sortie - on voit que ce sont les alternances négatives qui sont passées, et qui sont fortement amplifiées. Le gain est donné par le rapport entre R1 et R5. On remarque déjà que l’amplitude du signal en sortie de l’ampliop suit l’amplitude du signal d’entrée, avec un gain. Si on regarde aux bornes du condensateur C3, on voit le lissage qu’il effectue. On obtient donc aux bornes de C3 un signal qui est l’image inversée et amplifiée de l’amplitude du signal modulant.
En vert le signal d’entrée, et en bleu la sortie du détecteur de crête. On remarque 1) que la tension de sortie évolue en négatif par rapport à l’enveloppe du signal d’entrée et 2) qu’elle est décalée de 3V. Ces 3V correspondent à la valeur que j’ai mis sur V3. C’est une valeur arbitraire, que j’ai mis pour montrer l’effet. Si on la met à 0V par exemple, on obtient ça:
Il n’y a plus d’offset.
La deuxième partie du circuit peut s’analyser en séparant deux cas : lorsque la tension sur l’entrée négative de l’ampliop est supérieure à la tension sur l’entrée positive, et vice-versa. Pour simplifier, on va dire que la tension sur l’entrée positive est une tension de référence qu’on appellera VB. Tension de sortie de l’ampliop : Vs, et en entrée : V+ et V-.
Si on regarde ce circuit plus dans le détail on ales courbes suivantes (j’ai mis VB = -1V):
En vert le signal modulé (V4), en bleu la sortie du détecteur de crêtes, en rouge la sortie de l’ampliop (U4).
Quand la tension d’entrée est supérieure à VB, La sortie de l’ampliop va avoir tendance à aller vers le rail négatif, donc une tension bien inférieure à la tension d’entrée. De ce fait, D3 devient passante, et peut être assimilée à un fil, ce qui shunte R2 et C2, et transforme le circuit en suiveur, donc Vs = V+ = VB. En pratique la tension de sortie de l’ampliop va se maintenir à une tension inférieure à la tension d’entrée -, pour garder D3 passante. Ainsi, le signal sur l’entrée - devient “négligeable”, il sert juste à polariser D3, et c’est la tension sur l’entrée + qui drive la sortie.
Donc, quand la tension modulée est supérieure à la référence, la sortie est a tension de référence, donc les alternances positives du signal d’entrée sont supprimées.
Quand la tension d’entrée est inférieure à VB, la sortie de l’ampliop va avoir tendance à aller vers le rail positif, donc très supérieur à la tension d’entrée. De ce fait, D3 devient bloquée, D4 passante donc équivalente à un fil, et c’est la résistance parallèle R2 qui fait le feedback. On obtient alors un circuit amplificateur inverseur.
De ce fait, la tension de sortie de l’ampliop est la tension d’entrée inversée et multipliée par le rapport des résistances R2 et R6. Comme la tension d’entrée est négative, la tension de sortie est positive (inverseur), c’est donc une alternance positive en sortie, ce qui confirme le fait que D4 est passante. Donc, quand la tension modulée est inférieure à la tension de référence, la tension de sortie est l’inverse amplifiée de la tension d’entrée (et ici le gain est inférieur à 1, donc ça atténue).
Zoomons sur le début de la courbe, et ajoutons-y le courant dans D3, pour voir si elle est passante ou bloquée.
On remarque que quand le signal modulé est supérieur à VB (vert > bleu) la diode D3 est passante (ID3 > 0). Et on a bien la tension de sortie (rouge) qui devient égale à VB (ici -1V). Quand le signal modulé est inférieur à VB (vert \< bleu) la diode D3 est bloquée (ID3 = 0). La tension de sortie (rouge) devient égale à l’inverse de V4, on est bien en ampli inverseur.
Si on regarde un peu plus loin dans la courbe, quand la tension du détecteur de crête (bleue) bouge, on voit ceci (j’ai inversé la courbe verte pour qu’on voit mieux l’interaction avec la diode D3):
On constate que la diode D3 est passante quand vert \< bleu, ce qui signifie que -V4 \< enveloppe. Plus la courbe bleue a une valeur faible, plus la courbe verte va être longtemps supérieure, et donc passera vers la sortie. Donc, plus la courbe bleue descend, plus on retrouve du signal vert en sortie. Comprendre : plus l’amplitude du signal modulant est élevée, plus on a du signal modulé dans la sortie.
En mettant ces deux cas ensemble, on se rend compte que ce circuit est un redresseur à seuil variable : ne sort que le “haut” du signal qui dépasse au-dessus d’une référence de tension.
Or, la référence de tension est l’amplitude inversée du signal modulant. Cela signifie que plus l’amplitude du signal modulant est élevée, plus la référence va baisser, et moins on va raboter le signal modulé. On fait bien varier l’amplitude du signal modulé suivant l’amplitude du signal modulant.
L’on remarque tout de même quelque chose d’important : le circuit reste un redresseur, et sur les alternances positives, il ne va pas moduler, il écrête carrément ! C’est une limitation de ce circuit, il ne fait pas dans la dentelle, il est même carrément pas du tout linéaire, ce qui est un problème pour moduler du son. Or, l’idée ici, c’est que le signal modulé est une résultante des signaux générés par les oscillateurs, et il s’agit d’un signal carré. Or, un signal carré écrêté … et bien ça reste un signal carré, dont seulement l’amplitude est modifiée. Donc, ça marche :) Et ça c’est une optimisation vraiment intelligente ! Par contre, ce n’est absolument pas applicable à un signal “arbitraire”, car ce circuit va totalement le déformer.
Avec un signal carré ça donne ça:
Et si le signal modulé est uniquement positif ? On obtient ça (attention, je représente encore le signal vert en inversé, donc sur la courbe il est toujours négatif, mais ça ne change rien à l’effet):
Oooh le beau VCA :D
La tension VB est, à mon avis, une tension d’offset pour ajuster d’éventuels problèmes de seuils des signaux d’entrée.
A noter que sur le circuit d’origine la référence VB est générée à partir du rail négatif à -14V, et un pont diviseur 38,3k / (21,5 + 21,5) et … Non mais c’est quoi ces valeurs de résistances ? Il faut arrêter maintenant, et prendre des valeurs raisonnables. Bon, ça fait un rapport de division de 5.61e-4, ce qui donne une tension finale de … 8,4mV … Ok, d’accord. L’on remarquera d’ailleurs qu’il y a plusieurs tensions qui sont créées comme ça : +14V, +13V … avec des ponts diviseurs bizarres qui ne donnent pas du tout la tension indiqué par le nom de la ligne, et des condensateurs de valeur plus ou moins élevée. Je suppose qu’en fait il a été nécessaire de créer des tensions d’alimentation “isolées”, avec des filtrages séparés, et qu’ils les ont appelé avec le nom de la tension d’alim source, en enlevant 1V à chaque étage de filtrage, ce qui permet de savoir combien il y a de filtres RC avant de remonter à la source. C’est … hum, bon, pourquoi pas. Le filtrage des tensions d’alim a des raisons que la raison ignore.
Filtrage
Pour chaque note, on va prendre 3 signaux carrés : celui de la fréquence de la note voulue, et deux autres octaves. Chacun de ces signaux est filtré de façon unique, avec des filtres dont les valeurs de composants sont “tunés” pour chaque note (je vous raconte pas la gueule de la BOM). Là on fait de la synthèse soustractive. Et vu qu’on additionne plusieurs signaux ainsi filtrés, on fait de la synthèse additive, aussi. Chacun de ces trois signaux de synthèse est mixé avec ses compatriotes du reste du clavier, le tout aboutissant sur un potar de volume général pour tout le clavier. On peut donc ainsi injecter dans le signal final plus ou moins de chacun de ces “bus” de signaux de synthèse.
Regardons le schéma. C’est page 25 du manuel et c’est découpé en deux parties:
- Un module de filtrage, 6 en tout en vrai, topologie identique, valeurs de composants différentes. Un circuit par octave, en gros.
- Un module de mixage qui va mélanger tout ça.
Analysons le module de filtrage.
On voit qu’il y a deux étages de filtrage, avec deux sorties : H et L. Mais que cela peut-il bien signifier ? Je n’en ai aucune idée :P Simulons:
Bon. U1 est un buffer inverseur, légèrement passe-bas du fait de la présence de C1, qui a mon avis est surtout là pour empêcher U1 de partir en oscillation. La réponse en fréquence donne ça:
On est sur du passe-bas premier ordre, fréquence de coupure \~10kHz. Pas de quoi casser trois pattes à un canard. Dans le texte ils disent que la résistance de 100 Ohms n’a pas d’effet sur le gain, et est juste là pour filtrer le bruit RF.
Après cet étage le signal est coupé en deux, vers H et L. Dans la doc ils parlent d’une voie “Elec 1” et d’une voie “Elec 2”.
Côté “L”, on a un condensateur de liaison C2 qui vient couper le DC, puis on re-polarise avec R3 et R4, vers 15V / 2 donc 7.5V. Cette polarisation est nécessaire pour le 4016 qui suit. Bon, ensuite on a le filtre, il s’agit d’un “classique” Sallen-Key passe bas. Pour plus d’infos, voir la doc de TI qui est pas mal foutue. En gros cette topologie permet d’avoir “facilement” des filtres du 2e ordre, par contre elle a l’inconvénient d’avoir une remontée de gain dans les hautes fréquences du fait de la présence du condensateur de feedback (ici C3). Ici en plus on a deux condensateurs de liaison (C2 et C5) de valeur assez faible (22n) donc ça va pas mal couper les basses, il faut s’attendre à un effet passe-bande non-négligeable. A la sortie de ce filtre, C5 coupe le DC et on a R7 qui tire la polarisation “back to ground”. R8 sert juste à isoler pour le mixer qui suit.
L’on remarque la présence d’un 4016, qui est un switch analogique (ancêtre du 4066), et qui sert ici visiblement à switcher l’entrée du circuit. Or, ce circuit est alimenté en 0-15V, pas en +/-15V, donc il ne peut pas gérer des signaux polarisés à la masse, qui vont se retrouver de fait en-dehors de sa plage d’alimentation. Donc il faut re-polariser le signal entre 0 et 15V, d’où le pont R3-R4 qui polarise à 7.5V. CQFD. La disposition des switches est très surprenante. Quelle est cette sorcellerie ? Réponse plus bas.
Ici j’ai modélisé le 4016 par des objets switch de LTSpice. Voire l’aide pour comprendre comment ils fonctionnent, les switches c’est jamais très simple dans les simus SPICE …
Bon, la réponse de ce filtre (quand les switches sont commandés donc, V4 > 0.5V) est la suivante:
En vert à la sortie de l’ampliop, en bleu à la sortie de C5. On voit un magnifique effet passe bande, -20dB par octave du fait de C2, et une deuxième couche de -20dB par octave du fait de C5. On a une fréquence de coupure dans les basses vers 500Hz, et le passe-bande est centré sur \~3kHz.
Côté “H” maintenant, on a un premier étage ampli inverseur. C6 coupe le DC, R10 polarise vers le rail négatif,mais comme le gain est négatif ça pousse la polarisation de sortie vers 7.5V. Pourquoi ajouter cet étage ? Je ne sais pas trop, mais je suspecte le besoin d’utiliser la présence d’un AOP supplémentaire. Bon, toujours est-il qu’on envoie donc un signal polarisé vers 7.5V à l’étage suivant, là aussi un 4016, le même que l’autre moitié du circuit, donc le signal polarisé à 7.5V va bien passer à travers. Là on a encore un Sallen-Key en passe-bas, mais avec d’autres valeurs. La réponse de ce filtre est la suivante:
Attends … C’est la même courbe que l’autre ? Ben, vu que les résistances doublent à peu près de valeur, et que les condos divisent par deux, c’est logique … Mais pourquoi avoir des valeurs différentes alors ?
Dans le texte ils disent que les deux filtres sont des passe-bas ajustables, mais celui qui est sur “Elec 2” a une fréquence de coupure plus élevée. Ah ? La suite est plus intéressante : un PWM à haute fréquence est appliqué sur l’entrée de commande du 4016. HAN ! C’est un filtre à capacités commutées :P Quand le rapport cyclique est à 10% la valeur effective des résistances est multipliée par 10, quand il est à 2% la valeur est multipliée par 50, etc. On a donc deux filtres qusi-identiques, mais avec des contrôles séparés.
Avec des résistances et capas équilibrées, la fréquence de coupure d’un Sallen-Key passe-bas est 1 / 2Pi x R x C
. Donc si on augmente la résistance on baisse la fréquence de coupure (moins d’aigus), sinon on l’augmente (plus d’aigus). Donc plus on diminue le rapport cyclique sur la commande, moins il y a d’aigus. L’on peut s’attendre à ce que les commandes H et L soient complémentaires, pour filtrer plus ou moins d’aigus.
Bon, ça n’explique pas pourquoi la différence entre les deux circuits est si faible, et les valeurs définies pour avoir une réponse quasi identique. Je suppose que ça doit avoir rapport avec le comportement des filtres à capacités commutées, que je ne maîtrise carrément pas …
Mixer
Si on découpe les fonctions on a ça:
Tous les ampliops à gauche sont juste des buffers qui filtrent légèrement. En fonction du mode activé, on va avoir toutes les voies ou seulemnt certaines, en fonction de la position du swithc S1.
U3A et U3B reçoivent le signal du Rhodes “vanilla”, sans le synthé. Ils attaquent directement U5A / U5B qui est l’égaliseur général basses / aigus (un simple Baxandal pour le coup, très classique). Les deux octaves inférieures sont séparées, et peuvent être switchées séparément.
Il y a trois bornes au niveau du réglage du volume (volume trim). De base, E50 est relié à E51 en direct, mais on peut aussi y ajouter une résistance pour ajuster l’atténuation du volume du synthé. De plus, on peut déconnecter completement, ce qui fait que le son du synthé ne se mélangera pas avec le son vanilla, et sur la sortie audio du piano on aura uniquement le Rhodes vanilla, et le son synthé sera dispo sur le connecteur de pédale de volume (volume pedal). On peut aussi connecter E50 à E52 pour injecter le signal du synthé à l’entrée du circuit de tonalité, et donc que ce dernier n’affecte pas uniquement le Rhodes vanilla, amis aussi le son du synthé. U4A et U4B ne sont que des buffers.
Enfin, le circuit en bas à droite sert à générer les PWMs pour les filtres à capacités commutées. De ce qu’explique le texte, il utilise le signal d’horloge du “top octave generator”, qui est entre 1MHz et 5MHz. U7 est un compteur binaire, qui divise la fréquence par 64 pour obtenir un signal entre 16kHz et 78kHz. Vu que ce signal sert à découper les filtres, je pense qu’à 16kHz ça doit commencer à faire des effets bizarres, genre ring modulator :P En tous cas, ce signal va ensuite être envoyé dans un circuit multivibrateur monostable. Le signal d’horloge divisé par 64 est envoyé sur l’entrée trigger, la durée du monostable est définie par la charge / décharge du couple R56-C27, avec le potentiomètre R42 qui permet de gérer la décharge via le transistor Q5. Ceci pour faire varier le rapport cyclique. Le signal de sortie est bufferisé par Q1 et Q2, qui forment un simple pont push-pull, pour avoir du courant de sortie, et pas que les sorties de U6 ne supportent pas la charge de switcher tous les filtres. D’ailleurs ce sont de “simples” 2N4401 / 2N4403, transistors complémentaires “usage général” (fT 200MHz quand-même \o/) toujours disponibles de nos jours. Le genre valeur sure, comme le 2N2222, ils ne mourront jamais :P Il y a deux circuits, un pour les voies basses, un pour les voies aiguës.
Petite remarque : comme précisé dans le texte, si il n’y a pas de signal d’horloge (défaillance de l’oscillateur principal ou problème de câblage) les multivibrateurs se vident et les switches sont ouverts, ce qui fait qu’aucun signal ne peut sortir, et donc le signal du synthé est coupé.
Tuning
Le circuit oscillateur est … velu \o/
Bon, en vrai il n’est pas si compliqué que ça, c’est juste qu’il est en full-discret, donc forcément c’est impressionnant, alors que globalement c’est juste un oscillateur astable.
Dans U1, donc, les transistors 1-2-3-4-5 forment un long-tailed pair ou LTP, et les 6-7-8-9-10-11 sont câblés en diode sur les sources de courant pour faire de la compensation en température. L’idée, dans les grandes lignes, c’est que lorsque la température augmente les tensions directes des jonctions PN ont tendance à baisser, et le courant de fuite augmente aussi. Pour éviter que la polarisation du LTP dérive trop quand le courant change, les deux transistors montés en diode vont compenser, vu qu’elles vont dériver “dans le même sens”. Le transistor 12-13-14 fait juste buffer. La topologie est dite “Emitter-coupled multivibrator” et est une topologie assez classique pour un oscillateur.
La fréquence d’oscillation est définie par les capas C1 et C2, et les résistances R1-R28 ou R2-R29 selon la position de S1 (ce qui permet d’avoir accès à deux tunings différents switchables). Dans le texte ils précisent que C1 et C2 sont des NPO (peu sensibles à la température) et qu’il y a des emplacement pour ajouter des résistances d’ajustage en parallèle de R1 et R2, dont la valeur est réglée en usine en fonction de la dérive initiale des composants. Il n’est pas surprenant qu’une telle attention ait été portée à ce circuit : c’est lui qui va définir la plage de réglage, mais surtout la dérive du circuit au cours du temps. Si le circuit se met à dériver alors que la température change, le tuning peu changer pendant qu’on joue, ce qui n’est pas pratique. Donc ils ont fait ce qu’il faut pour que la fréquence ne bouge pas trop.
Le circuit autour de Q1, Q2 et Q3 est juste un étage d’amplification qui permet de transformer le signal 4V sortie de U1 en un beau signal 0-15V avec un bon courant de sortie. L’on peut remarque que R25 et CR5 servent à générer un 5V pour le LTP. Donc le LTP (autour de U1) fonctionne en 5V, et Q1, Q2, Q3 fonctionnent en 15V et drivent dans ce domaine de tension. D’ailleurs ce sont là aussi des 2N4401 / 2N4403. Dans le texte ils disent que ce sont des transistors “haute fréquence”, et c’est vrai qu’avec un fT à 200MHz ils sont bien surdimensionnés pour l’usage. Par contre, la datasheet - qui est une datasheet Onsemi assez récente - indique “general purpose”. Ben oui, on est plus en 79, maintenant la haute fréquence c’est beaucoup plus haut que 200MHz, donc ces petits transistors deviennent de simple composants “general purpose” …
U2, qui est un circuit multivibrateur monostable, va servir à générer un signal de reset de 10ms pour les compteurs binaires des étages diviseurs / modulateurs. L’idée, c’est que quand le circuit est activé via les switches S2, S3 ou S4, les compteurs soient remis à 0 pour que tous les signaux soient en phase.
Je n’insiste pas trop sur ce circuit, il n’est pas très intéressant à récupérer, vu qu’il répond à un besoin spécifique de ce système, et en simu on ne verrai pas grand chose. Ce qui est intéressant sur ce genre de circuit c’est d’analyser la tenue dans le temps et les dérives de composants, pour comprendre les choix de topologie et de composants. Très honnêtement, ça m’intéresse moyen, j’en subit déjà, trop au taf. Donc on passe à la suite.
Simulation avec des vrais sons
J’ai choppé des sons de notes de Rhodes sur Freesound, et je les ai mises dans LTSpice pour voir ce que ça donne. Je mets les screens avec C3. Pour le VCA on obtient ça:
J’ai redimensionné le sample pour que l’amplitude ne soit pas trop élevée, et j’ai supposé que l’oscillateur est à la fréquence théorique du C3 (130.81Hz). On obtient les signaux suivants:
J’ai dû pas mal redimensionner parce qu’on a des amplitudes d’ordres de grandeur très divers. Ce qui donne :
FA DIESE 1
Son d’origine (Rhodes vanilla)
Sortie du VCA (Fa# 0)
Sortie du VCA (Fa# 1)
Sortie du VCA (Fa# 2)
SOL DIESE 2
Son d’origine (Rhodes vanilla)
Sortie du VCA (Sol# 1)
Sortie du VCA (Sol# 2)
Sortie du VCA (Sol# 3)
DO 3
Son d’origine (Rhodes vanilla)
Sortie du VCA (Do# 2)
Sortie du VCA (Do# 3)
Sortie du VCA (Do# 4)
RE DIESE 3
Son d’origine (Rhodes vanilla)
Sortie du VCA (Ré# 2)
Sortie du VCA (Ré# 3)
Sortie du VCA (Ré# 4)
RE 5
Son d’origine (Rhodes vanilla)
Sortie du VCA (Ré 4)
Sortie du VCA (Ré 5)
Sortie du VCA (Ré 6)
Il faut avouer que ça rend plutôt bien. Maintenant, passons-y à travers le filtre. Je vais faire l’essai avec le Do 3 pour commencer. L’on reprend donc le circuit du filtre …
Ici je mixe les trois signaux (Do2, Do3 et Do4), ce qui créée plein d’harmoniques et donne un son assez agressif. Voici le résultat:
Son d’origine (Rhodes vanilla)
Sortie du VCA (Do 3)
Sortie du filtre H
Sortie du filtre L
Même si les sons sortis du filtre sont assez proche entre le H et le L, on entend quand-même une légère différence, vu que les fréquences de coupure sont légèrement différentes. Le son est très fort car le filtre ajoute un gain monstrueux - là je l’ai déjà divisé par 10.
Oui mais oui mais oui mais ! Ici j’ai mis les switches à 1, donc rapport cyclique 100% pour le signal de commande. Que se passe-t-il si on modifie le rapport cyclique ? L’on a vu que le signal de switch varie autour de 38kHz en fonction de la fréquence de l’oscillateur principal. Eh bien appliquons un PWM de fréquence 38kHz sur la commande des capas switchées, et voyons ce qu’il se passe quand on modifie le rapport cyclique … Déjà la simulation prend beaucoup plus de temps … genre 10 fois plus … Grmpf ! Et LTSpice génère un fichier raw de 1.6Go, ce qui fait hurler Windows vu que je n’ai pas beaucoup d’espace libre sur mon disque. Bon, je ne vais pas faire ça pour toutes les notes, je vais faire uniquement le Do 3 sinon je vais y passer la nuit. Par ailleurs j’ai ajusté les valeurs des résistances pour que ça corresponde aux valeurs indiquées pour l’octave 3 dans le schéma (ya pas grand chose qui change, les résistances ont des valeurs un peu différentes, c’est tout. Donc, en faisant varier le rapport cyclique:
Son d’origine (Rhodes vanilla)
Sortie du filtre H - 100%
Sortie du filtre H - 50%
Sortie du filtre H - 10%
Sortie du filtre H - 5%
Sortie du filtre L - 100%
Sortie du filtre L - 50%
Sortie du filtre L - 10%
Sortie du filtre L - 5%
On entend bien l’effet de la modification du rapport cyclique sur le filtrage : plus le rapport cyclique est faible, plus on filtre, ce qui fait disparaître les harmoniques et rend le son moins agressif. Et le son est bien faaaat ! :P
Je suis très surpris par le comportement du filtre H, on entend vraiment beaucoup le découpage dans la sortie, et en continu, et je ne me l’explique pas trop. La seule vraie différence entre le L et le H c’est la présence de l’étage d’ampli en tête du H. Pourquoi est-ce que ça fait ressortir de façon aussi prononcée le découpage ? Alors que le découpage a lieu en aval de cet étage de gain ? Grmpf …
Bon, ça suffit, je poste déjà ça.
Remarques générales
Le circuit de ce clavier est vraiment intéressant, même s’il a plein de défauts. Déjà il est très simpliste, au niveau des sons qu’il peut générer. Ce n’est pas un vrai synthétiseur, très loin de là. Mais surtout, la fiabilité est exécrable. Les cartes électroniques de la partie synthé prennent toute la surface de l’intérieur du clavier, et il y a une quantité de câbles monstrueuse. Évidemment tous les composants sont en traversants, et ils ont beau être assez standard, leurs boîtiers obsolètes les rendent difficiles à trouver.
L’oscillateur principal n’est plus fabriqué depuis belle lurette. On en trouve en occase voire en NOS, à des prix prohibitif cela va de soi. Les compteurs sont encore trouvables en DIP, ce qui est étrange car à l’époque mon pote avait dû en acheter sur Ebay en Hongrie (je crois) pour les avoir dans le bon boîtier. Car c’étaient certains compteurs qui avait lâché, pas surprenant vu qu’il s’agit de CMOS de première génération, réputé très fragiles, et il y en avait déjà plein de changés sur l’exemplaire qu’on avait. Donc dans ces cas-là : montage d’un socket et remplacement par un plus récent.
S’il fallait refaire un truc similaire aujourd’hui, ou faire une upgrade “moderne”, j’aurais tendance à dire:
- Remplacer l’oscillateur par une carte dédiée, avec FPGA et/ou MCU et/ou PLL hardware. A mon avis le plus contraignant est d’avoir le réglage de tuning analogique. Si on reste dans la même philosophie, il faudrait avoir un oscillateur HF à fréquence variable, et générer les 12 fréquences de l’octave du haut avec des PLLs ou des diviseurs. Le composant d’origine utilise une horloge à 13MHz, ce n’est pas très élevé, et on pourrait imaginer un CPLD/FPGA utilisant une fréquence de cet ordre, ou plus haute. Pour avoir de la précision et de la résolution sur le réglage de tuning, il faudrait gérer le changement de fréquence en analogique, donc PLL HW, sin on fait du synchrone on va quantifier et ça va pas le faire. Que je sache, en général les FPGAs ne disposent pas de beaucoup de PLLs intégrées, et elles n’apprécient pas trop les changements de fréquence en fonctionnement. Donc je pense qu’il faut faire un circuit oscillateur analogique (genre à base de 4046 peut-être ?). D’ailleurs, je ne suis pas le premier à me poser la question (et ça ne m’étonne pas le moins du monde).
- Bien entendu passer tout le HW en CMS.
- Tous les compteurs devraient être à minima remplacés par des composants plus récents en CMS, mais on pourrait envisager de les remplacer par du circuit logique programmable. Vu la simplicité de la fonction, des CPLDs seraient sûrement le meilleur choix. Par contre, il y a beaucoup de signaux à gérer (80+) ce qui fait que le composant aurait un boîtier de taille non-négligeable. On pourrait aussi y intégrer dans le même composant que l’oscillateur (ou intégrer l’oscillateur dans ce composant, en fonction de comment on le voit). Sauf si on fait l’oscillateur en analogique. Dans tous les cas, il faudra faire de la logique concurrente, qui se synchronisera sur les fronts des signaux d’entrée, comme dans le circuit d’origine, et pas sur une horloge synchrone, sinon on va quantifier les fréquences et ça va être très moche.
- En allant encore plus loin, voir si on peut gérer séparément les tuning de chaque note, voir jusqu’à quelle granularité. Si on a un réglage de tuning par note de la “première” octave, celles des octaves inférieures suivraient, et on aurait des octaves parfaites. L’avantage serait qu’on pourrait changer l’intonation de la gamme, et utiliser des gammes non-tempérées. Si on arrive à avoir un tuning indépendant par note on pourrait aller encore plus loin, mais ça me parait peu utile sauf expérimentation extrême.
- Avoir un réglage de mix avec matriçage des signaux pour chaque note ? Là ça comment à devenir complexe …
- Bien entendu tous ces réglages nécessiteraient une interface, qui devraient être gérée par un composant, soit le composant oscillateur / compteurs mais dans ce cas-là il faudrait un gros FPGA, ou alors ajouter un MCU.
- SIMPLIFIER LA BOM ! Il y a 50 000 valeurs de résistances différentes ! On dirait qu’ils se sont mis en défi de mettre l’intégralité de la gamme E192 dans ce circuit ! Je vous raconte pas le merdier pour le fabriquer, et le coût de câblage ! Et les appros ! Non, en fait je préfère ne pas y penser …
- Globalement le circuit a l’air assez sensible à … à peu près tout en fait. Page 14 ils décrivent le troubleshooting du VCA, et il peut générer de “fausses notes” si la tension de commande dépasse 10mV, ce qui est ultra-faible. Donc si les diodes se mettent à avoir des fuites, si la capa de feedback de 47pF / 100pF se met à déconner, si l’offset de l’AOP se met à dériver, si le PCB est contaminé par des saletés et qu’il y des fuites de courant … ça va se mettre à déconner. Damn’, payes ta maintenance !
L’on remarquera pas ailleurs que la construction mécanique est totalement artisanale. Sur le modèle sur lequel j’ai bossé, on voyait clairement que le support métallique qui tient les cartes électroniques est ajouté en verrue sur le clavier “vanilla”, vissé à la rache dans le bois du cadre d’origine, ajusté à la lime pour que ça rentre. Ça fait pas très sérieux, vu hors-contexte, mais il faut bien se rendre compte que ces instruments étaient fabriqués en quantité pas énormes, à une époque où l’optimisation et l’automatisation des process n’était pas aussi poussée qu’aujourd’hui, surtout chez Fender qui était connu pour avoir une approche très artisanale de la fabrication (ce qui les a d’ailleurs mis en difficulté vis-à-vis d’autres constructeurs, entre autres japonais). Il est même probable qu’en fait à l’origine ce soit un Rhodes vanilla qui a été upgradé en seconde monte. Donc : ce n’est pas beau, mais ce n’est pas surprenant.
Il semble que cette évolution du Rhodes ait été une tentative de CBS (propriétaire de Fender à l’époque) pour survivre à la métamorphose en cours du marché des claviers : les synthétiseurs. Plus légers, moins fragiles, plus versatiles, plus modernes, ils étaient en train de tuer l’ancien marché des claviers électriques, tels que le Rhodes. Bon, il semble que ça n’ait pas trop marché …
Il est à noter que c’est grâce à ce genre d’appareils ayant bénéficié d’un regain de hype qu’on a des musiciens ultra-flippés par la maintenance de leurs synthés vintage. Un marché inépuisable pour des bricoleurs assez débrouillards. Mais comme les musiciens flippés j’ai déjà donné -> très peu pour moi !
En tous cas, perso je garde le circuit du VCA sous la main, on ne sait jamais ça pourrait servir, et surtout le filtre. On a là un magnifique VCO contrôlé par PWM, donc MCU-friendly, il y a sûrement plein de choses rigolotes à faire avec ce genre de topologie. Oui, je sais : ça n’a rien de nouveau ou d’extraordinaire, mais pour moi c’est nouveau, donc hein, bon. Il va vraiment falloir que je joue avec les VCOs et les VCAs … Mais ça sera pour une autre fois.