Vote utilisateur: 0 / 5

Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives
 

Nouveau module DIY : un générateur de CV aléatoires. De nombreux modules (chers) génèrent des CV plus ou moins compliqués. Je voulais faire assez simple... et surtout dans mes cordes.

page en construction

Cette page est en évolution permanente...

Le circuit

Je voulais plusieurs CV simultanés indépendants, mais avec possibilité de "shift register" si j'arrive à le programmer... C'est un Atmega328 avec 4 DAC 12 bits qui gèrent tout ça. Rétrospectivement, j'aurais pu utiliser moins de composants en prenant des dual-DAC type MPC4922, mais j'avais des 4921 sous la main. Le coût total est de l'ordre de 15 €, dont la moitié en câbles, boutons, interrupteurs, etc. : ce montage utilise des composants courants.

 RandomCV00

PCB

Toujours avec DipTrace :

RandomCV02

Implantation des composants :

RandomCV01

Résultat

Toujours pas très "pro", mais ça s'améliore par rapport aux premiers PCB !

RandomCV03

RandomCV05

Je programme en plaçant l'atmega sur une carte Arduino et en passant par le port USB. Quand j'aurai le courage je monterai des broches ICSP. Consommation : +12V = 26 mA, -12V = 0 mA.

A noter ma patte de fixation à base de ... Meccano évidemment !

Fonctionnement

Il n'y a pas de sérigraphie, je vais essayer des solutions et j'y reviendrai... Les 4 voies sont indépendantes, mais partagent la CLOCK (sauf mode RAFALE ou DRONE).

C'est toujours la dernière voie dont on a modifié le MODE qui sera modifiée en OFFSET, AMPLITUDE, PARAM 1 et PARAM 2. Pour changer de voie, il faut donc commencer par tourner le MODE de la nouvelle voie, les paramètres de la précédentes sont automatiquement gelés jusqu'à la prochaine modification. Pour passer des réglages (AMPLITUDE, OFFSET) à (PARAM 1, PARAM 2), on bascule l'interrupteur avec une double flèche à droite.

RandomCV06

Boutons verts :

BOUTONS FONCTION
1 à 4 permet de choisir les modes de fonctionnement des voies 1 à 4. La position à fond à gauche correspond au mode "0", les autres s'obtiennent en sens croissant, voir ci-dessous. A chaque changement de mode, la LED de la GATE clignote rapidement 3 fois. Quand une voie a été modifiée, ses paramètres sont figés si on modifie une autre voie.
PARAM 1 ces potentiomètres permettent de choisir soit l'amplitude et l'offset du CV (interrupteur vers le haut), soit deux paramètres dépendants du mode (interrupteur vers le bas). La note initialement générée est comprise entre 0 et 5V, elle est ensuite formatée en ajoutant l'OFFSET (entre 0 et 5V) et en la multipliant par l'amplitude (0 à 100%). Le résultat est toujours borné entre 0 et 5V
PARAM 2

Les modes de fonctionnement :

MODE FONCTION PARAM 1 PARAM 2
0 générateur de notes aléatoires complètement indéependantes les unes des autres. Ces notes sont distribuées de façon uniforme ou gaussienne, (voir ci-dessous) et ressemble à ce qui pourrait sortir d'un S&H. réglage de la gamme du quantizer, parmi Chromatic, Major, Minor, Pentatonic, Dorian, Maj7(9), Minor7(9,11) et WholeTone. Une fois réglée, elle est valable pour les autres modes.  
1 séquenceur codé sur les bits avec changement aléatoire probabilité de changement du dernier bit. La séquence de bits est convertie ensuite en CV de 0 à 5V. Les tons possibles dépendent donc de la longueur du pattern : il n'y a que 4 possibilités pour une longueur de 2 bits, 8 pour 3 bits, etc. cela donne des motifs très répétitifs à la fois en structure et en tonalit, puisque la hauteur des notes est discrète. longueur du pattern, de 2 à 16 bits
2 séquenceur codé sur les bits, un nombre entier de séquences est joué avant de modifier aléatoirement un bit nombre de séquences à jouer avant une modification aléatoire, de 1 à 16. Ce mode est encore plus répétitif que le précédent. longueur du pattern, de 2 à 16 bits
3 séquenceur codé sur les notes avec changement aléatoire probabilité de changement de la dernière note. Contrairement aux modes 1 et 2, la hauteur des notes est continue et non pas discrète. longueur du pattern, de 2 à 16 notes
4 séquenceur codé sur les notes, un nombre entier de séquences est joué avant de modifier aléatoirement une note nombre de séquences à jouer avant une modification aléatoire, de 1 à 16. C'est l'équivalent du mode 2 mais avec des notes au lieu de bits. longueur du pattern, de 2 à 16 notes
5 arpégiateur note de base (sonne mieux si OFFSET = 0 et AMPLI = 100% !) type d'arpège, codé en interne parmi 8 différents. Quand je serai musicien, j'écrirai des vrais arpèges smile
6 "weird LFO" : un LFO de forme variable génère les CV fréquence du LFO forme du LFO : voir ci-dessous
7 mode "DRONE" : le CV varie aléatoirement très lentement, indépendamment de l'entrée CLOCK hauteur du son. La fréquence de rafraichissement est gérée par le bouton AMPLITUDE (inter. vers le haut) amplitude de la variation
8 mode "RAFALE" : des séries rapides de notes sont générées. ATTENTION : dans ce cas la sortie GATE n'est plus synchronisée avec la CLOCK, et ceci pour toutes les voies ! nombre moyen de coups dans les rafales vitesse moyenne
9 générateur de notes aléatoires "mélodiques". Elles sont moins aléatoire que le mode "0"   probabilité de créer des répétitions de notes identiques

 

Les modes du "weird LFO" :

mode description exemple
0 sin screen00
1 somme de 2 sinus screen01
2 somme de 3 sinus screen02
3 somme 1 sinus + 1 carré screen03
4 rebonds multiples screen04

 

Boutons de la deuxième ligne :

BOUTON FONCTION
QUANT.  quantizeur ON/OFF. En position "ON" les notes sont quantifiées en fonction de la gamme choisie avec PARAM 1 (se fait en mode 0). Par défaut, c'est la gamme chromatique qui est utilisée.
ASR

 ON/OFF. En position "OFF", les 4 CV sont indépendants, en position "ON", ils se suivent en mode "analog Shift Register" : la note du temps 2 de la sortie 2 est égale à la note du temps 1 de la sortie 1 et ainsi de suite.

ASR

N/A   pas utilisée pour le moment...
ALEAS

 type d'aléas :

  • en bas, les notes sont générées uniformément sur 0-5V (même probabilité pour toutes les notes).
  • en haut, les notes sont générées avec une loi normale sur 0-5V (probabilité plus élevée d'être autour de la moyenne, voir ici).

 

Troisième ligne :

  FONCTION
CLK  entrée clock externe (entrée protégée de 0 à 5V)
N/A  pas utilisée pour le moment...

 

Rangée de jacks 3.5 mm du bas :

CV1 à CV4 : les 4 sorties (entre 0 et 5V)

GATE : une impulsion de 5 ms à chaque pas

BOM

RefDes Value Name
C1 0.33u  
C2 1u  
C5 22p  
C6 22p  
D1, D2 1N4148 DIODE
POTARD0 à 5 10 kA potentiomètre
R1 10k 1 %
R2 1k 1 %
U1 ATMEGA328_P Micro-contrôleur
U3 L7805 régulateur
U2, U4, U5, U6 MCP4921 DAC
Y1 16 MHz CRYSTAL

Le code

Disponible ici

Et bientôt une demo...