Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Squenceur MIDI DIY

  • 40 réponses
  • 5 participants
  • 3 167 vues
  • 5 followers
Sujet de la discussion Squenceur MIDI DIY
Bonjour,
Pensez vous qu'il serait aisé de réaliser un séquencer (8 ou 16 pas), assez simple, qui envoie des messages en MIDI a un synthétiseur. J'aimerai bien un look assez analogique, genre avec des commutateurs rotatifs pour sélectionner la note, un bouton pour l'octave, un molette de réglage pour le tempo et une autre pour la longueur des notes.
Je pense programmer un microcontrôleur quelconque pour qu'il envoie les différents message midi au synthé.

Auriez vous des documents sur la structure d'un message midi ?

Cordialement
2
Salut,
Au cas ou tu ne connaitrai pas déja: http://www.ucapps.de/
Il y à de quoi bien s'inspirer!
Bon courage
Music is my soulfood
3

Citation : Pensez vous qu'il serait aisé de réaliser un séquencer (8 ou 16 pas), assez simple, qui envoie des messages en MIDI a un synthétiseur.

Si par "pas" tu entends "nombre de notes à jouer séquentiellement", la réponse est oui.

Citation : J'aimerai bien un look assez analogique, genre avec des commutateurs rotatifs pour sélectionner la note, un bouton pour l'octave, un molette de réglage pour le tempo et une autre pour la longueur des notes. Je pense programmer un microcontrôleur quelconque pour qu'il envoie les différents message midi au synthé.

Il faudrait préciser ton besoin.
- commutateurs rotatifs pour sélectionner la note : 1 commutateur par pas ?
- bouton pour l'octave : ça, facile.
- molette de réglage pour le tempo : faisable.
- molette de réglage pour la longueur des notes : faisable aussi.

Citation : Auriez vous des documents sur la structure d'un message midi ?

Tu trouveras plein d'infos sur le net. Mais pour les notes, c'est super simple : chaque message de NoteOn et chaque message de NoteOff est constitué de 3 octets. Le premier octet indique la note à jouer et le canal MIDI. Le second octet précise la hauteur de la note. Le troisième octet défini la vélocité. Les octets sont transmis exactemement comme sur une liaison série RS232, mais à la vitesse de 31250 bauds, et avec un interfaçage optique pour garantir une isolation galvanique totale entre équipements (TTL 5V en sortie MIDI Out et entrée sur optocoupleur sur l'entrée MIDI In).

Le lien ucapps.de proposé par reddwarf est un excellent site pour qui veut s'initier au DIY MIDI.

Bonne bidouille !

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

4
L'utilisation d'un petit microcontroleur, me semble incontournable pour ce genre de projet.
linuxtux, as tu les outils de dev pour une quelconque série de micro?
5
Je me suis fait une réflexion : Je pense utiliser des potentiomètre, pour faire varier la tension a une des entrées sur le microcontroleur. Je pense que c'est plus facile a mettre en œuvre que les commutateurs.

J'aimerai bien un potentiomètre par pas.

Au niveau du matériel, j'ai de quoi faire (je suis encore au lycée et en SI, on est équipés pour programmer des microcontroleurs).

Je pense qu'il me faudrait une dizaine d'entrée : une par pas, une pour la variation de tempo, une autre pour la variation de longueur, une pour déclancher le programme, et aussi une autre pour le controle des octaves.

Au niveau des entrées, je vois a peut près comment réaliser mon projet, mais la sortie me gène plus ...
Comment envoyer les données pour que le synthé les interprète correctement ?

Le midi est bien un signal digital ? (Binaire je pense)

Comment est cablée une prise midi ...

Ca fait pas mal de problèmes :| , mais le projet ne me semble pas insurmontable :D:

Merci de vos réponses
6
Pour ce qui est de l'interface MIDI en elle-même, tu trouveras plein de schémas sur le net.
Voici un exemple pris au hasard : Interface MIDI 002a :mrg:

Cet exemple montre la simplicité de mise en oeuvre matérielle nécessaire pour générer des notes MIDI dont la hauteur dépend d'entrée logiques (ici des boutons poussoirs). En choisissant un autre type de microcontrolleur, disposant de quelques entrées analogiques pour lecture de la position de tes potentiomètres, tu arriveras à ce que tu désires.

En bas de la page, tu trouveras un lien vers le code source, qui te permettras de voir qu'il ne faut pas beaucoup de lignes de code pour mettre en oeuvre une entrée et une sortie MIDI. Je te conseille toutefois d'utiliser un microcontrolleur disposant d'un USART (interface de données série) car faire sans peut donner des résultats plus aléatoires... à moins de faire fonctionner le CI à 20 MHz.

Autre solution que choisir un PIC qui dispose de toutes les entrées requise : utilisation d'un PIC simple associé à un ou deux composants logiques style CAN et multiplexeur analogique. En fait, il existe plein de façons de faire ce que tu veux.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

7
Si j'ai bien compris, il faut une partie qui analyse la position des potentiomètres et une autre qui transmet les messages midi.


Un USART permet donc de simplifier le montage, en permettant de relier plus ou moins directement a une sortie MIDI, en lui envoyant du binaire ?
8
Personne ne connait des liens ou des ouvrages, car malgré tout, mon niveau de connaissance reste assez faible :|
9

Citation : Si j'ai bien compris, il faut une partie qui analyse la position des potentiomètres et une autre qui transmet les messages midi.

D'un point de vue logiciel, oui. D'un point de vue matériel, un seul composant permet de tout faire.

Citation : Un USART permet donc de simplifier le montage, en permettant de relier plus ou moins directement a une sortie MIDI, en lui envoyant du binaire ?

Oui. Il est également possible de transmettre des informations MIDI sans USART matériel (intégré matériellement au PIC), en faisant appel à un USART logiciel (mis en oeuvre dans le programme du PIC), mais il faut alors travailler avec une cadence d'horloge plus élevée (au moins 8 MHz) pour un fonctionnement qui ne sera de toute façon jamais aussi sûr.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

10
Donc, l'USART permet d'optimiser les résultats. Si j'ai bien compris, on enverra les octets note on et note off et vélocité sur cet USART, et ce sera interprété par le synthé ?
11

Citation : Donc, l'USART permet d'optimiser les résultats.

L'USART est la partie qui permet d'envoyer les données sous forme sérielle, les bits de chaque octet étant transmis les un après les autres. Pour que les données envoyées puissent être reconnues sans problème, il faut que le temps qui sépare chaque bit soit parfaitement maîtrisé. Ce dont est capable plus facilement un USART matériel que logiciel.

Citation : Si j'ai bien compris, on enverra les octets note on et note off et vélocité sur cet USART, et ce sera interprété par le synthé ?

Exactement.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

12
Donc c'est parti pour un micro qui récupère les infos via un CAN (convertisseur analogique / numérique) les traites et renvoie le tout sur l'USART (avec le circuit derrière pour en faire un circuit midi).

Maintenant, reste à trouver un micro qui pourra utiliser un USART et x entrées CAN. T'as que du microchip en environnement de dev?
13
On va dire que je vais commencer par faire un beau schéma électrique pour commencer, que je soumettrais a vos avis ;)
14
Oui pour le shéma, mais il te faut choisir le micro avant de le dessiner quand même!
15
Haha, la il va faloir m'aider, car je sais pas trop comment opérer mon choix ... J'ai remarqué quelques PIC de la série 16 ici, mais je ne sait pas lequel choisir, étant donné la simplicité du montage, est-ce la peine de prendre une version très évoluée ?
16
La série 16 est suffisante en effet, cependant je te recommande d'aller sur les 18F qui ont un oscillateur interne (et pll et tout et tout). J'ai utilisé beaucoup de 18F2520 qui sont pas mal, faut voir si ils ont les périphériques suffisants pour ton application.
17
Oui, il me semble aussi que le 18F2520 serait une bonne base pour son projet. Il reste aussi la possibilité d'utiliser un 16F628A (ou autre "petit" CI) pour la partie MIDI, associé à un petit CAN multiple séparé pour la lecture des entrées analogiques (voir pourquoi pas un second petit microcontrolleur).

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

18
Je pense qu'il serait souhaitable d'éviter d'utiliser plus d'un microcontroleur, l'utilisation de plusieurs micro implique qu'il faut être capable de les faire communiquer, et... c'est parfois ce qui prend le plus de temps et nécessite du matériel parfois pas accessible.
19
Oui, bien sûr. Mais parfois, cela peut faire moins peur d'utiliser deux petits circuits qu'un seul gros :clin:
Toutes les voies sont ouvertes, et nous allons attendre maintenant que l'initiateur du sujet entre dans le vif du sujet et nous fasse part de ses préférences.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

20
Je pense que je vais choisir d'utiliser un seul gros microcontroleur, doté d'une USART, ca me parait quand même plus simple que d'en utiliser plusieurs ;)
21
Enfin, un 18F même 2520 c'est quand même pas du gros micro! Bon, il te reste à proposer un schéma. T'utilises quoi comme soft pour faire ça? (Proteus, Orcad, Altium, Kicad....?)
22
Je vais faire mon circuit avec Kicad (c'est le seul potable dispo sous linux).

Il va falloir m'aider pour localiser les bonnes sorties. Je crois que la sortie USART est celle intitulée RC6/TX/CK. Je me trompe ?

Comment ca s'alimente ?

J'ai trouvé un schéma d'une sortie midi, je ne sait pas ce que sont les deux composants triangulaires qui séparent l'USART de la broche 5. Le cercle en pointillé m'est aussi inconnu.

Merci d'avance !
23
Pour l'uart t'as le TX qui permet l'envoie de données, et le RX qui permet la réception.
T'as des liens pour comprendre comment fonctionne la RS232 qui correspond à l'utilisation générale de l'UART. http://pagesperso-orange.fr/xcotton/electron/coursetdocs.htm

Je n'ai pas le schéma dont tu parles sous les yeux, mais les triangles ça doit correspondre à un bout de MAX232 ou équivalent.

Dans l'immédiat propose un schéma même bourré d'erreur, ça permettra d'en discuter.
24
Ok, je vais bricoler ca !
Je crois que les triangles sont des protes non, qui permettent de rendre le signal (binaire) plus propre.
25
Bonjour,

Citation : Je crois que les triangles sont des protes non, qui permettent de rendre le signal (binaire) plus propre.


Je pense qu'il s'agit de drivers: l'interface MIDI est une boucle de courant à 20mA. Or certains µP ne sont pas capables de débiter 20mA en sortie d'UARTs. Ces drivers permettent d'amplifier le courant.
A moins de prévoir une sortie MIDI-THRU, ces drivers sont inutiles sur les PIC ou les AVR.
Personnellement j'utilise ces schémas (tout à fait classiques) sur mes montages (AVR ou PIC):
sortie MIDI:

entrée MIDI:


A+