Convertisseur Midi/CV
- 45 réponses
- 4 participants
- 3 344 vues
- 8 followers
redpill
faute d'avoir trouver quelque chose d'approchant (ou trop complexe) je me suis dis qu'il fallait que je me remonte les manches. Je veux vraiment le convertisseur le plus bete qui soit (dans un premiers temps du moins) qui convertit un message midi et une tension (cv).
L'idée étant d'utiliser un atmega et son périphérique UART. Il réceptionne les 3 bytes (channel, note, velocity) le dernier étant ignoré. Si le canal est bon, il décode le second byte et envois la valeur correspondante sur un DAC 8 bit (surement celui là).
parallèlement a ca, fait un circuit de gate qui doit rester a l'état haut tout le temps que la touche est maintenus.
déja est ce que 8bit serait suffisant ? ca fait une résolution de 19.5mV pour 1V/octave (j'ai pas poussé plus loins mais ca m'a l'air acceptable)
est ce que la méthode (interuption) vous semble logique ?
rumorofsmoke.github.io/
redpill
J'avais effectivement vus le projet d' Alain Coupel, trés interessant mais largement tros gros pour mon projet meme si je suis pas obligé de tout monter. L'idée de me casser un peu la tete sur ce projet m'interesse fortement d'autan que j'ai jamais rien fait de définitif avec un µC. Ca me semble en plus pas forcement compliqué. Néamoins comme je sens l'envie d'un synthé modulaire pointé sa truffe humide, il est pas impossible que je retourne vers ce module.
Le seul petit soucis que je pourrais voir c'est la tension de 5V qui oblige a ajouter un étage de gain si on veut monter dans les octaves et modifier un peu les valeurs sur le DAC. Mais bon rien d' insurmontable.
Pour le code a proprement parlé, je pensais faire array de bytes , recepetioner les imformation dans ce tableau. Si les premiers imformation noteOn et Channel sont ok, traiter le reste de l'imformation et activer les gates/triggers.
Les impératif sont vraiment la taille et l’efficacité. Comme c'est pour un projet qui j’espère finira dans une petite valise (dans l'esprit EMS) il ne faut pas que ce soit trop imposant (il y a déja du monde).
rumorofsmoke.github.io/
Rémy M. (chimimic)
Dans un premier temps, et sachant que tu "débutes" avec les microcontrôleurs, je te conseille de commencer avec un projet simple, du style "allumer une LED sur réception d'un événement NoteOn et l'éteindre sur réception d'un événement NoteOff". Une fois cette base acquise (réception données sur UART et traitement simple des octets reçus), tu pourras jouer comme bon te semble avec d'autres périphériques (CNA ou autres).
Pour une étendue plus grande de la tension de sortie CV, tu pourras voir ça après.
Oui, le traitement des infos reçues peut se faire via un tableau d'octets. Cela n'a rien d'obligatoire mais permet de structurer plus proprement ton programme, tu t'y retrouveras plus facilement.
Bon courage pour la suite !
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
redpill
j'ai meme pour projet un sequencer AVR avec l'enregistrement des patterns dans l'eeprom mais faut déja que je m'occupe de cette histoire de midi.
je comptais de tout facon faire par étape comme le suggere.
rumorofsmoke.github.io/
[ Dernière édition du message le 25/09/2014 à 13:24:15 ]
Rémy M. (chimimic)
Dans ce cas tu ne devrais pas avoir trop de mal à avancer dans ce genre de projet...
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
redpill
je n'en étais pas encore arrivé a la tension de référence pour un 5V stable et propre mais faudra que je pense a ca également. Je sais que ces tensions de références peuvent couter cher. J'ai commencer un peu a voir le code mais je vais atteindre dimanche et voir comment tu as fais si j'arrive a déchiffrer le Pascal.
J'ai oublié mais une fois le code fonctionnel j'ajouterais la fonction pitchbend.
SInon ce qui pourra etre intéressant c'est de pouvoir paramétrer le canal depuis le micropressor avec le minimun de bouton. Mon idée était d'utiliser un DIPswitch mais c'est peut etre plus ergonomique et élégant de faire depuis le uC, mais sans visualisation ca risque d'etre compliqué. A voir. En tout cas ca devient intéressant.
rumorofsmoke.github.io/
Rémy M. (chimimic)
Pour ce qui est de la configuration, on peut prendre bien des directions différentes. Auto-paramétrage, configuration via des sysex, menu sur écran LCD, microswitches, etc...
Pour le code source, je ne sais pas encore si je vais continuer à le diffuser de façon systématique pour l'ensemble de mes projets, pour des raisons que je ne souhaite pas trop étaler ici (j'en dirai plus sur mon site un de ces quatre). Mais si d'une manière ou d'une autre je peux aider, il va de soi que je continuerai de répondre aux questions
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
redpill
c'est dommage pour le code, j'avais regarder celui que tu avais fait pour le switcher multi-cannaux (avec écriture eeprom) et avait trouvé des points interessant. Les codes accessibles ca me permets de voir si je fais fausse route ou si j'ai la bonne méthode.
je vais commander quelques optocoupleur et des prises midi. Je postera l’avancement du code si ça intéresse du monde, le schema n'aura rien de folichon en soit.
rumorofsmoke.github.io/
[ Dernière édition du message le 27/09/2014 à 21:20:05 ]
Rémy M. (chimimic)
Déja detecter et réception le byte noteon avec le bon cannal, ensuite afficher la note sur un LCD et viendra ensuite le reste.
Etape par étape = bonne méthode !
L'affichage sur écran LCD des événements décodés est une excellente chose, ça permet de voir si ça tourne rond quand on envoie quelques notes isolées et plusieurs notes en rafale.
le schema n'aura rien de folichon en soit
Du moment que ça fasse ce que tu veux, c'est bien l'essentiel, non ?
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
redpill
rumorofsmoke.github.io/
Rémy M. (chimimic)
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
- < Liste des sujets
- Charte