J'ai acheté une fois un synthétiseur Yamaha PSR-550 pour mes enfants. L'outil n'était pas le premier jeune, mais utilisable. Les enfants ont montré de l'enthousiasme et se sont vite habitués au synthétiseur: ils ont compris les commandes, appris à "écrire des canettes", etc. La présence de connecteurs «MIDI IN» et «MIDI OUT» à l'arrière du synthétiseur ne m'a pas dérangé.
Énoncé du problème
Au siècle dernier, la manière la plus simple de connecter un ordinateur et un synthétiseur via MIDI était d'utiliser un
port de jeu . Pour faire correspondre les signaux des interfaces (la "boucle de courant" en MIDI et TTL sur le connecteur du port de jeu), un simple adaptateur a été réalisé, dont le circuit est donné dans
l'article MIDI Wikipedia :

Actuellement, les ports de jeu du son et des cartes mères ont disparu en tant que classe. Les pilotes de port de jeu pour les systèmes d'exploitation modernes sont introuvables.
La «physique» de l'interface était compréhensible en principe à partir d'un
article Wikipedia : les données sont échangées en utilisant le protocole start-stop à une vitesse de 31250 bps avec des transmissions de données 8 bits sans parité avec un bit stop. Le zéro logique dans les circuits de signaux correspond à un flux de courant de 5 mA, à une unité logique il n'y a pas de courant dans le circuit.
En principe, le port de jeu peut être remplacé par USB UART et y attacher l'adaptateur décrit dans l'article Wikipedia.
Le premier problème avec cette solution est de forcer le système d'exploitation à définir le port UART COM comme un port MIDI. De façon inattendue pour moi, une solution au problème a été trouvée sur les forums Arduino. Là, j'ai trouvé un lien vers un émulateur de port MIDI gratuit "au-dessus" d'un port COM virtuel. Pour connecter le port émulé avec un éditeur MIDI, le développeur a recommandé d'utiliser un cordon loopMIDI virtuel.
Le deuxième problème: faire fonctionner UART à 31 250 bps.
Toutes ces données étaient déjà suffisantes pour formuler une
proposition technique :
"Pour connecter un ordinateur avec un synthétiseur via MIDI, il est proposé d'utiliser USB UART avec un adaptateur pour faire correspondre les signaux TTL avec les signaux" boucle de courant 0 ... 5 mA ", le logiciel loopMIDI, le Hairless MIDI <-> Serial Bridge et les pilotes UART lui permettant de fonctionner sur des vitesses de 31 250 bits / s. "Matériel informatique
Le choix d'une solution matérielle a été extrêmement simple - dans les bacs de l'auteur de l'article ont été trouvés:
- USB UART basé sur CP2102;
- Optocoupleur AOT101A;
- microcircuit K1533LN2;
- une paire de connecteurs SSH-5 (autres désignations: ONC-VG-4-5 / 16-V, DIN 41524);
- plusieurs mètres de câble acoustique blindé SHGES.
En conséquence, un tel circuit adaptateur a été assemblé lors du recadrage d'une planche à pain universelle de taille 40x15:

Les performances du circuit assemblé ont été vérifiées comme suit:
- L'adaptateur était connecté aux connecteurs MIDI du synthétiseur.
- Le synthétiseur a été désactivé pour le contrôle local (MIDI Local = Off).
- Après avoir installé un cavalier entre les signaux RX et TX de l'adaptateur, le synthétiseur a commencé à répondre aux frappes.
J'espère que le fonctionnement du circuit est clair sans explication. Je note seulement que:
- les éléments de la puce K1533LN2 ont une sortie de type «collecteur ouvert» qui ne fonctionne pas sans charge externe;
- le condensateur C1 est connecté le plus près possible des bornes de puissance DD1;
- la tresse du câble allant au connecteur «MIDI IN» du synthétiseur est connectée uniquement au fil commun de l'adaptateur;
- la tresse du câble allant au connecteur MIDI OUT du synthétiseur est connectée uniquement à la borne 2 du connecteur.
Logiciels
Ensuite, le logiciel suivant a été installé sur l'ordinateur:
- Pilote VCP pour CP2102 .
- Package utilitaire pour la configuration du CP2102 .
- Émulateur de port MIDI Hairless MIDI <-> Serial Bridge par Angus Gratton.
- Boucle de corde virtuelle MIDIMIDI par Tobias Erichsen.
- Éditeur MIDI Anvil Studio.
Ensuite, deux cordons ont été créés dans loopMIDI - "Synthétiseur" et "Clavier":

Pour connecter l'éditeur MIDI à la prise synthétiseur MIDI IN, un cordon de synthétiseur a été connecté entre la sortie Anvil Studio et l'entrée de l'émulateur de port MIDI.
Pour connecter l'éditeur MIDI au connecteur de synthétiseur MIDI OUT, un câble de clavier a été connecté entre la sortie de l'émulateur de port MIDI et l'entrée Anvil Studio.


La dernière et très importante étape de la configuration du logiciel a été de définir le débit binaire du CP2102 à 31 250 bits / s au lieu de 38 400 bits / s:

Après avoir réglé la vitesse, vous devez cliquer sur le bouton «Définir la configuration». Ensuite, dans le gestionnaire de périphériques et dans le pont série <--> Hairless MIDI, dans les paramètres de la vitesse de communication du port COM UART CP2102, sélectionnez 38400.
Bref résumé
En conséquence, l'éditeur MIDI d'Anvil Studio a reçu un canal de communication avec le synthétiseur Yamaha PSR-550. Les enfants ont commencé avec enthousiasme à apprendre à travailler avec un éditeur MIDI. J'ai retrouvé la tranquillité d'esprit.
PS Comment régler la vitesse à 31 250 bps au lieu de 38 400 bps pour le PL2303 a été discuté
ici .
PPS Comment régler la vitesse à 31 250 bps au lieu de 38 400 bps pour CH341 est introuvable.