Dernière mise à jour :
28/01/2018
Présentation
Cette interface MIDI permet de délivrer jusqu'à 64 notes
MIDI (16, 32, 49 ou 64 notes) avec gestion de la vélocité, à
partir de capteurs
analogiques (piezo ou autre). Il s'agit d'une évolution majeure de
mon
générateur
de percussions 003 MIDI à 4 voies.
Elle dispose de 64 entrées analogiques et d'une sortie MIDI,
et
s'appuie sur un PIC 24F32GA002 qui pilote en SPI un certain nombre
de
convertisseurs analogique/numérique.
Schéma
L'ensemble est composé de deux sous-ensembles. Le premier
constitue l'unité de traitement principal avec son
microcontrôleur (PIC 24F32GA002 cadencé
à 32 MHz), le second constitue l'interface d'entrée
analogique 64
voies (ou 16 ou 32 ou 49 voies).
Unité de traitement avec PIC24
Circuit avec microcontrôleur et convertisseurs A/N.
Schéma volontairement embrouillé
Interface d'entrées analogiques
Ce
circuit comporte 64 voies identiques et permet
d'obtenir des
signaux analogiques aptes à être traités par le PIC.
Pro -
Schéma non représenté
Fonctionnement général
Le logiciel du PIC lit à intervalles
réguliers la
valeur de la tension appliquée sur l'ensemble des entrées
analogiques (64 entrées/tensions au maximum) et les stocke
en mémoire. Après lecture sur plusieurs cycles, il analyse
les
variations de tension et délivre les notes MIDI si nécessaire. Le
mode
de
traitement de l'événement de fin de note MIDI (NoteOff) dépend de
l'état logique présenté sur la ligne RA4 du PIC :
- Conf2/RA4 = 0 : fin de note (NoteOff) 100 ms
environ après l'événement de début de note (NoteOn),
- Conf2/RA4
= 1 : fin de note (NoteOff) quand la tension
d'entrée est
repassée sous le seuil de déclenchement [Off] de 0,04 V
(présence
d'un hystérésis, le seuil de déclenchement [On] étant fixé à
0,08 V).
Signalons qu'au
départ, l'interface a été conçue pour un usage "percussions",
avec
des capteurs piezo. Mais bien sûr d'autres types de sources de
tension
peuvent servir de déclencheur.
Temps de traitement et latence
Le logiciel peut travailler avec 16, 32, 49 ou 64 notes, mais
pourrait
bien sûr être adapté pour un nombre quelconque de notes entre 1 et
64. La latence (le
temps de réaction) du système correspond au temps écoulé entre la détection du
changement
de valeur de la tension sur les entrées analogiques, et l'émission des notes MIDI
correspondante. Elle dépend du nombre de notes gérées :
- Conf0/RA0 = 0 et Conf1/RA1 = 0 : mode 16 notes (latence
de 3 ms à 4 ms)
- Conf0/RA0 = 1 et Conf1/RA1 = 0 : mode 32 notes (latence de 4
ms à 5 ms)
- Conf0/RA0 = 0 et Conf1/RA1 = 1 : mode 49 notes (latence de 5
ms à 6 ms)
- Conf0/RA0 = 1 et Conf1/RA1 = 1 : mode 64 notes (latence de 7
ms à 8 ms)
La latence est calculée à partir du moment où la
tension analogique d'une entrée commence à redescendre, après être
montée brutalement. Il faut en effet détecter l'évènement dès le
début
de la montée en tension, mais attendre de voir jusqu'où la tension
va
monter, pour déterminer la valeur de vélocité correspondante.
Sortie MIDI
La sortie MIDI est on ne peut plus traditionnelle. Enfin presque,
puisque ici on travaille avec une tension d'alim de +3,3 V et non
de +5
V...
Alimentation
Une source de tension de +3,3 V est nécessaire pour faire
fonctionner
l'interface. Tout bloc secteur capable de délivrer une
tension
comprise entre +5 V et +12 V sous un courant max de 200 mA
convient,
une régulation locale (3,3 V) est assurée par un régulateur de
type LF33CV.
Brochage des prises MIDI
Câblage valable pour les prises MIDI IN, MIDI OUT et MIDI THRU.
La
borne 2 est reliée à la masse au niveau des sorties
mais pas au
niveau des entrées, pour éviter toute boucle de masse entre
équipements.
Prototype
Actuellement testé avec 8 entrées analogiques seulement, en mode "16 notes". Tests
plus poussés prévus après réalisation du PCB et réception des circuits intégrés manquants.
Logiciel du PIC
-
Interface
MIDI 021 - PIC 24F32GA002 - 28/01/2018
Pro - Logiciel non disponible en libre service.
Circuit imprimé
Pas terminé.
Historique
28/01/2018
- Première mise à disposition.