Dernière mise à jour :
28/01/2024
Présentation
Ce générateur de notes permet de produire les 12
notes de base requises pour la construction ou la rénovation (mise à
niveau ou dépannage) d'un orgue électronique ou synthétiseur de
musique. Il peut par exemple remplacer un AY-1-0212 ou un MO87.
Un réglage permet de définir l'octave (octave #1 à octave #8)
des 12 notes de base. Les signaux délivrés sont carrés pour
faciliter les divisions ultérieures par deux (octaves inférieures), ils
seront bien sûr filtrés ou mis en forme d'une manière ou d'une autre
par la suite
(enveloppe ADSR ou filtre quelconque) pour bénéficier de sonorités
plus agréables (que celle du carré)... ou moins agréables, tout dépend
des goûts.
Schéma
Aux générateurs de notes à proprement parler s'ajoutent un oscillateur
de base 16 MHz et un bloc de régulation d'alimentation, ces deux
derniers ne
sont pas représentés sur le schéma qui suit.
A
la suite de ces générateurs de base, on peut ajouter des compteurs
binaires pour obtenir les fréquences des octaves inférieures, par
exemple des CD4024 ou des CD4040 dans la famille CMOS.
Pourquoi autant de PIC ?
Bonne
question ! Pourquoi s'embêter avec 12 petits PIC au lieu d'en
sélectionner un seul "plus gros" ? Pour commencer, cela ne m'embête
pas. Ensuite, c'est une simple question de
savoir-faire. Je n'ai pas encore réussi à faire délivrer de manière
simultanée à un même microcontrôleur douze notes de fréquence à la fois
élevée (octave 7 ou
8)
et très précises.
Je suis quasi certain que c'est faisable avec un monstre à 200
broches qui mouline à 600 MHz, mais je n'en suis pas encore là ;)
Réglage octave
La
fréquence de base des notes de base dépend de la tension appliquée sur
la
broche RA4/AN3 des PIC, selon le tableau suivant. La précision en
fréquence "moyenne" est de 0,001 Hz, avec un
jitter
(variation de phase) un peu plus élevé pour les fréquences les plus
hautes (mais rien de rédhibitoire, la fréquence "moyenne" reste
très
stable et les très faibles variations engendrées sont inaudibles).
| Tension |
Octave |
Do |
Do# |
Ré |
Ré# |
Mi |
Fa |
Fa# |
Sol |
Sol# |
La |
La# |
Si |
| - |
9 |
16704 |
17739 |
18795 |
19912 |
- |
- |
- |
- |
- |
- |
- |
- |
| 0,6V-0,9V |
8 |
8372.0 |
8869.8 |
9397.3 |
9956.1 |
10548 |
11175 |
11840 |
12544 |
13290 |
14080 |
14917 |
15804 |
| 1,1V-1,4V |
7 |
4186.0 |
4434.9 |
4698.6 |
4978.0 |
5274.0 |
5587.7 |
5919.9 |
6271.9 |
6644.9 |
7040.0 |
7458.6 |
7902.1 |
| 1,6V-1,9V |
6 |
2093.0 |
2217.5 |
2349.3 |
2489.0 |
2637.0 |
2793.8 |
2960.0 |
3136.0 |
3322.4 |
3520.0 |
3729.3 |
3951.1 |
| 2,1V-2,4V |
5 |
1046.5 |
1108.7 |
1174.7 |
1244.5 |
1318.5 |
1396.9 |
1480.0 |
1568.0 |
1661.2 |
1760.0 |
1864.7 |
1975.5 |
| 2,6V-2,9V |
4 |
523.25 |
554.37 |
587.33 |
622.25 |
659.26 |
698.46 |
739.99 |
783.99 |
830.61 |
880.00 |
932.33 |
987.77 |
| 3,1V-3,4V |
3 |
261.63 |
277.18 |
293.66 |
311.13 |
329.63 |
349.22 |
369.99 |
392.00 |
415.30 |
440.00 |
466.16 |
493.88 |
| 3,6V-3,9V |
2 |
130.81 |
138.59 |
146.83 |
155.56 |
164.81 |
174.61 |
185.00 |
196.00 |
207.65 |
220.00 |
233.08 |
246.94 |
| 4,1V-4,4V |
1 |
65.406 |
69.296 |
73.416 |
77.782 |
82.407 |
87.307 |
92.499 |
97.999 |
103.83 |
110.00 |
116.54 |
123.47 |
Tension à régler à 0,75V
ou 1,25V ou 1,75V ou 2,25V ou 2,75V ou 3,25V ou 3,75V ou 4,25V selon
octave désirée
Formule pour relation entre note
et
fréquence :
Freq = 16.3516 * 2 ^ ((Oct + 1) +
((NoteRank - 1) / 12))
Remarque
: les douze notes vont de Do à Si, mais il
est possible de
commencer ou finir avec n'importe quelle autre note, puisque les
douze générateurs peuvent être programmés individuellement. Il est même
possible de ne pas respecter l'écart tempéré de "racine douzième de 2"
entre
chaque note...
Sélection octave
Trois versions de logiciel ont été écrites :
- version A : lecture périodique de la tension de sélection d'octave (au démarrage et en cours de fonctionnement)
- version B : lecture de la tension de sélection d'octave uniquement au démarrage
- version
C : pas de lecture de la tension de sélection d'octave (toute
modification de fréquence nécessite une reprogrammation du PIC)
Remarque
: le potentiomètre ajustable utilisé pour la sélection
d'octave (versions A ou B) peut être remplacé par un pont diviseur fixe.
Logiciel du PIC
Pro
- Les douze fichiers compilés correspondant aux douze notes Do8 au Si8
ne sont pas
disponibles en libre service. Seuls ceux des notes La3 fixe (440 Hz),
La7 fixe
(7040 Hz), Ré9 fixe (18795 Hz) et La8 variable (huit octaves, du La8
à 14080 Hz au La1 à 110 Hz) le sont, pour vous permettre de
constater la
précision et la stabilité des fréquences délivrées.
Orgue
007 - Générateur 2 - 28/01/2024
Prototype
Réalisé
selon implantation des composants visible plus loin.
C'est toujours un plaisir
de souder manuellement des CMS...
Circuit
100% fonctionnel, avec base de temps générale de 16 MHz. Les PIC
12F1572 ont été programmés pour délivrer les 12 notes de l'octave 8, le
potentiomètre RV1 permettant au besoin de descendre aux
octaves
inférieures, sans qu'une reprogrammation logicielle des PIC soit
nécessaire. La copie d'écran oscilloscope qui suit montre une capture
du signal de sortie de la note "La" réglée à l'octave 3 (440 Hz).
Remarque
: lors de la première mise sous tension, la fréquence délivrée par les
générateurs était quatre fois supérieure à celle attendue, car j'avais
malencontreusement
activé la PLLx4 de l'oscillateur des PIC et
l'ensemble tournait à 64 MHz au lieu de 16 MHz. Autant dire que si mon
oscilloscope montrait quelque chose sur l'écran, mon oreille en
revanche n'entendait pas grand chose en position octave #8, puisque les
signaux délivrés correspondaient en fait à l'octave #10 (peut-être le
chien de mes voisins les entendait-il)... Ce point a bien sûr été
corrigé.
Circuit imprimé (PCB)
Réalisé en double face.
Historique
28/01/2024
- Ajout photos prototype.
- Ajout du fichier compilé La8 variable (réglable sur 8
octaves, du La8 à 14080 Hz au La1 à 110 Hz) dans
l'archive mise à disposition
libre.
- Correction erreur des fichiers compilés (leur fréquence était quatre
fois supérieure à celle attendue, soit deux octaves au-dessus).
- Ecriture des logiciels versions B et C en complément de la version A d'origine.
14/01/2024
- Première mise à disposition.