Nombreux sont ceux qui aurait aimé pouvoir connecter leur Electribe ES-1 à Ableton, Cubase ou tout autres DAW par midi ou bien même tout simplement y brancher un clavier maître pour pouvoir jouer les sons et utilser ce sampler comme un module sonore. Seulement déception car chaque partie sonore de cette Electribe estt allouée à une note du clavier et ne peut donc pas êtres jouée via des canaux midi différents ni à des hauteurs différentes comme le font les samplers matériels.
Je vous propose donc ici la réalisation d'un module midi très simple qui permet de remédier à ce problème en affectant les dix parties sonores à un canal midi de 1 à 10 et de modifier le pitch en fonction de la note jouée au clavier (ou dans votre DAW).
Ce module composé d’une prise Midi-In et d’une prise Midi-Out s’insère entre la prise Midi-In de votre Electribe Es-1 et la prise Midi-Out de votre clavier maître ou votre ordinateur.
Le montage est basé sur un microcontrôleur Attiny85 qui se programme facilement avec l'IDE Arduino mais dont le format réduit 8 pins et la faible consommation permet d'être alimenté directement par la prise Midi et ne nécessite donc pas d'alimentation externe. L’Attiny85 est également doté d’une horloge interne programmable à 1, 8, 16 ou 20MHz et ne nécessite pas de composants externes pour fonctionner.
Pour la programmation de la puce Attiny85 je vous laisse vous référer à l'article suivant :
https://electroniqueamateur.blogspot.com/2014/07/programmation-dun-attiny85-avec-arduino.html
Le schema de principe est le suivant :
Le flux Midi venant du clavier arrive par la prise Din 5 broches Midi-In (prise qui permet l’alimentation de l’Attiny). Ce flux est envoyé à l’Attiny via sont port d’entrée/sortie PB4, est traité par le programme interne et réémit via le port d’entrée/sortie PB3 vers la prise Din 5 broches Midi-Out. La led et la résistance R1 sont optionnels, mais attention à choisir une led basse consommation.
Ce montage est assez simple pour être câble à la main sur plaque à bande ou en fil volant mais si vous le souhaitez vous pouvez réalisez un circuit imprimé comme celui-ci :
Le programme écrit à l’aide de l’IDE Arduino utilise pour la communication Midi la librairie softwareserial l’Attiny85 étant en effet dépourvu d’interface série asynchrone physique. Pour que le programme fonctionne correctement il faut impérativement que sélectionner l’horloge interne de l’Attiny85 à 8MHz.
Par défaut, l’ATtiny tourne à 1 Mhz. Pour pouvoir utiliser la bibliothèque SoftwareSerial par exemple (si vous en avez le besoin), il faut le programmer pour qu’il tourne à 8 Mhz. Pour cela, dans l’IDE Arduino, il faut choisir dans le menu « Outil » / « Clock » / « 8Mhz INTERNAL ». Ensuite sélectionner dans le menu « Outil » « Graver la séquence d’initialisation ».
Le principe du programme est simple, on attends une donnée midi NoteOn ou NoteOff sur les canaux 1 à 10 et on transforme le canal midi en valeur de note et la note note midi reçue en valeur de pitch. Sur les Electribes Es-1 le pitch est transmis en Midi via un contrôleur NPRN.
Le tableau suivant résume les translations qui sont faites sur les messages Midi :
Canal Midi In |
Part Electribe |
Note Midi OUT |
N° Contrôleur NPRN |
Valeur de Pitch |
1 |
Part1 |
36 |
640 |
Notepitch[NoteMidiIn] |
2 |
Part2 |
38 |
648 |
Notepitch[NoteMidiIn] |
3 |
Part3 |
40 |
656 |
Notepitch[NoteMidiIn] |
4 |
Part4 |
41 |
664 |
Notepitch[NoteMidiIn] |
5 |
Part5 |
43 |
672 |
Notepitch[NoteMidiIn] |
6 |
Part6A |
60 |
680 |
Notepitch[NoteMidiIn] |
7 |
Part6B |
61 |
688 |
Notepitch[NoteMidiIn] |
8 |
Part7A |
42 |
696 |
Notepitch[NoteMidiIn] |
9 |
Part7B |
46 |
704 |
Notepitch[NoteMidiIn] |
10 |
Slice |
47 |
712 |
Notepitch[NoteMidiIn] |
Le code source est disponible ici : https://drive.google.com/file/d/1vH9__EA2AyezOaxYsEET2ZaObFZ3nJ-N/view?usp=sharing
N'hésitez pas à me laisser des comentaires.
D. Guichaoua