Logiciels > Freewares > MIDI Test - V3.1.0.1 (Win XP/Vista/7/8/10)

Dernière mise à jour : 12/05/2024

Présentation

Le logiciel MIDI Test permet de visualiser les données MIDI reçues sur une interface MIDI (jusqu'à 2 entrées) et d'envoyer des messages MIDI simples ou complexes (NoteOn / NoteOff, Program Change, Control Change, SysEx), une horloge MIDI Clock (24 PPQN) ainsi que des commandes Start / Stop  "normales" ou MMC. 


MIDI Test 
 

Je l'ai initialement développé pour mettre au point mon interface MIDI 002a, et il m'a ensuite servi pour la mise au point de mon interface MIDI 005a ainsi que les nombreuses autres qui ont suivi (notamment mon processeur MIDI 001). Il ne s'agit pas d'un logiciel de routage MIDI et ne peut être comparé à MidiYoke, mais il ne nécessite aucune installation de driver et peut rendre d'autres services, ne serait-ce que vérifier le bon fonctionnement d'une interface MIDI en bouclant une sortie sur une entrée, ou encore tester la robustesse d'interfaces en proie à un flux soutenu de messages MIDI.


Fonctions principales


Affichage d'évènements MIDI entrants

Le logiciel surveille ce qui arrive sur les ports d'entrée MIDI spécifiés et affiche le type de message ainsi que son contenu : NoteOn, NoteOff, ProgramChange, Sysex et messages temps réel (horloge, Start / Stop / Continue, ...).


miditest_receive_001

Horodatage des évènements reçus

Il est possible d'horodater les évènements reçus (format heure:minutes:secondes:millisecondes) et d'en limiter le nombre (nombre max par défaut fixé à 400, limite basse = 1 et limite haute = 10000). Chaque ligne de message indique sur quel port a été reçu l'information (MIDI-In-1 ou MIDI-In-2).

 
Filtrage

Certains messages MIDI peuvent être filtrées afin de ne pas apparaître dans le journal des messages reçus. Il s'agit des messages suivants :

Le filtrage s'applique de la même manière sur les deux entrées MIDI IN 1 et MIDI IN 2. Quand la case à cocher "Filtrer xxx" est cochée, les données correspondantes ne sont pas affichées. Le compteur des événements reçus continue de s'incrémenter même sur des données MIDI reçues filtrées.

   

Envoi de messages MIDI

Il est possible d'envoyer des messages MIDI de type Note, Program Change, Control Change ou SysEx sur le port MIDI Out spécifié.


miditest_send-note_001   miditest_send-cc_001  
miditest_send-pc_001   miditest_send-other_001  

Il est également possible d'envoyer des messages Start, Stop et Continue de type "standard" ou à la norme MMC (MIDI Machine Control). 

Les trames SysEx peuvent être envoyées de trois façons :


miditest_send-sysex_001


L'envoi de longues trames Sysex (plusieurs centaines d'octets) permet de réaliser des tests de "robustesse" d'interfaces MIDI.



Horloge MIDI Clock

Le logiciel peut envoyer un message MIDI Clock à intervales réguliers, selon la norme 24 PPQN (Pulses Per Quarter Note), soit 24 messages d'horloge temps réel par seconde avec un tempo de 60 BPM ou encore 48 messages d'horloge temps réel par seconde avec un tempo de 120 BPM. Le changement de la valeur du Tempo s'effectue par incrément de 30 (30 BPM à 480 BPM), en cliquant sur le libélé "xxx BPM".

La stabilité du MIDI Clock délivré par le logiciel MidiTest, vérifiée avec mon indicateur de tempo MIDI 004, a été rendue possible grâce à l'utilisation d'un timer de haute résolution, le timer de base de Windows ayant une résolution insuffisante pour ce type d'application.


indicateur_tempo_004_proto_001b 


Emission de données en continu

Cette fonction a été spécialement étudiée pour transmettre un flux soutenu de couples NoteOn / NoteOff, avec ou sans délai entre chaque, d'une part pour tester la robustesse d'une liaison MIDI et des logiciels qui traitent ses données, d'autre part pour mieux voir les données MIDI en sortie d'optocoupleurs de différents types sur un écran d'oscilloscope analogique (pour voir ceux qui se comportaient bien avec les données MIDI, en fonction de la valeur des résistances de charge et des résistances pour la polarisation interne quand l'opto-coupleur la met à disposition).


miditest_optos_graphe_000 miditest_optos_graphe_001 interface_midi_019d_graphe_001a 

Vu la durée réelle d'un message de type MIDI NoteOn, son observation sur un écran d'oscilloscope analogique n'est en effet guère pratique (à cette époque je n'avais pas encore mes oscilloscopes numériques). Un flux soutenu simplifie grandement la tâche, aucune synchronisation n'est requise pour vérifier l'amplitude du signal.

Petite parenthèse : pour les récepteurs MIDI, j'aime bien les optocoupleurs PC900, 6N137 et CNY17-2.


Emission de données par paquet

Depuis la version V2.5.0.0, il est possible d'envoyer des paquets de données "bornées" (dans une plage précise de valeurs). 


miditest_sendbulk_001

Cette fonction a été à l'origine développée pour faciliter la recherche des événements MIDI à envoyer pour l'automation d'une console de mixage D&R Cinemix, mais elle peut servir à d'autres choses. On peut par exemple envoyer un paquet de notes sur un seul canal MIDI :

Canal MIDI 1 - Notes 20 à 80 - Vélocité 40 à 60

ou encore transmettre à la que-leu-leu une série de Program Change ou Control Change sur plusieurs canaux MIDI :

Canal MIDI 2 à 4 - Program Change 12 à 45 - Valeur 0 à 127

Bien pratique pour trouver un événement MIDI qui fait "réagir" un appareil aux caractéristiques inconnues !


Comptage d'évènements

Comme durant certains essais on n'a pas forcement la tête rivée à l'écran du PC, j'ai ajouté deux compteurs indépendants : un pour les messages MIDI reçus et l'autre pour les messages MIDI envoyés. Le comptage est très utile en mode d'envoi de données en continu avec réception d'un "écho", et que le nombre des données reçues doit être le même que celui des données envoyées.


Choix des sections à afficher

Depuis la version V2.4.x.x, il est possible de limiter l'affichage à la seule section Emission de données MIDI ou Réception de données MIDI, afin d'optimiser la place occupée par le logiciel à l'écran.


Téléchargement

Voir Avertissements donnés à la page Freewares.

A_Lire.txt - Historique de vie du logiciel
MIDI Test - V3.1.0.1 - Executable - (09/05/2024)

Installation du logiciel

Aucun logiciel d'installation n'est fourni avec cette distribution. Il vous suffit d'extraire les fichiers de l'archive zip à l'aide d'un logiciel supportant le format Zip (WinZip ou WinRar par exemple), et de les mettre dans un répertoire de votre choix. Vous êtes ainsi assuré qu'aucun fichier ne va s'installer ailleurs que là où vous le souhaitez (répertoires Windows ou Windows System), simplifiant ainsi le procéssus de désinstallation éventuel, puisqu'il vous suffit de supprimer purement et simplement le répertoire en question.


Historique

12/05/2024 - V3.1.0.1
- Ajout filtrage possible sur messages MIDI reçus de type PC (Program Change) et CC (Control Change).

06/03/2022 - V3.1.0.0
- Publication version 64 bits du logiciel.
- Ajout bouton Pause dans zone de transport.

09/05/2021 - V3.0.0.0
- Ajout possibilité envoi Sysex (trames de petite ou grande longueur) autrement que dans l'écran de monitoring (champs réservé).
- Correction bug Affichage tronqué des messages Sysex dans l'écran de monitoring, pour les messages de taille supérieure à 250 octets (la longueur du message Sysex reçu qui était affichée était correcte, mais seuls les 250 premiers octets étaient montrés).
- Limite affichage (détail des octets reçus) repoussée à 1040 octets par message MIDI. On peut aller plus loin, mais pour l'instant, je n'en vois pas l'intérêt.

14/02/2020 - V2.9.2.0
- Désormais, le compteur des événements envoyés est également incrémenté lors d'évènements envoyés par le mode Echo.

02/02/2020 - V2.9.1.0
- Ajout possibilité de filtrer les messages Active Sensing.

19/01/2020
- Ajout possibilité d'envoyer une horloge MIDI Clock sur la sortie MIDI OUT.

22/09/2019
- Ajout possibilité d'envoyer les données reçues sur MIDI IN vers MIDI OUT (mode écho).
- Désormais, un événement NoteOn ($9x) avec vélocité de 0 est inscrit dans le log comme un événement NoteOff (et non plus NoteOn).

30/04/2017
- Ajout possibilité de lier les valeurs Statut et Hauteur note (pitch) des évènements NoteOn et NoteOff.

Historique complet dans le fichier A_Lire.txt.