Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Logiciel MIDI <--> RS232

  • 40 réponses
  • 4 participants
  • 4 303 vues
  • 2 followers
1 Logiciel MIDI <--> RS232
Bonjour à tous,

Je voudrais savoir s'il existe un logiciel sur PC qui fait les choses suivantes :
- Récupère les infos provenant de l'interface RS-232 pour les transmettre vers une interface MIDI (USB par exemple branchée sur ce même PC)
- Récupère les infos provenant de l'interface MIDI USB pour les envoyer vers l'interface RS-232.

En fait, un logiciel qui fait simplement le lien "MIDI <--> RS-232"

C'est dans le cadre d'un développement FPGA et sur ma carte je n'ai qu'une interface RS-232, alors s'il pouvait y avoir un logiciel gratuit sur PC ca éviterai de faire du hardware supplémentaire pour ma carte.

D'avance MERCI.

"On parle d'écriture inclusive alors que les femmes n'arrêtent pas de dire qu'elles s'en "battent les couilles""

2
Ce que tu souhaites n'est ni plus ni moins qu'un convertisseur de format "électrique", avec préservation totale du format des données. Pas d'interprétation logicielle, juste un "détecteur" de changement d'état Haut/Bas qui analyse en continu les entrées MIDI et RS232, et qui retransmet tout-de-go les changements d'états respectifs sur les sorties RS232 et MIDI. C'est ça ?

Je ne sais pas si ça existe déjà, mais c'est très certainement réalisable.

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

3
Bonjour Chimimic,

En fait j'ai vu qu'il existait deja, des convertisseurs de signaux (tension bipolaire RS-232 vers MIDI, pas de probleme, c'est du matériel).

Moi en fait j'ai une interface MIDI USB que je peux brancher sur mon ordi. Et donc par exemple quand un clavier MIDI envoi des "octets" à l'interface, j'aimerais qu'un logiciel puisse prendre ces octets et les mettre dans le registre d'émision RS-232, faire une passerelle (c'est peut être plus le terme exact) et faire de même quand l'interface RS232 recoit un octet, l'application prend cette octet et la transmet à l'interface MIDI qui l'envoie vers la sortie MIDI.

Ca m'éviterait d'acheter un convertisseur de signaux, mais peut être que cela n'existe pas et que c'est facilement programmable (en VB6 par exemple), je n'ai pas essayé.

"On parle d'écriture inclusive alors que les femmes n'arrêtent pas de dire qu'elles s'en "battent les couilles""

4
Donc dans ce cas il y a bien "traitement" des données, puisque les trames MIDI et trames RS232 ne sont pas constituées de la même façon. Pour ce qui est du RS232, il est déjà nécessaire de déterminer si les données se résumeront à du texte ou à du binaire (caractères imprimables seulement ou tout octet compris entre $00 et $FF). Pour le MIDI, il faut déterminer si les données à traiter et à envoyer se limitent aux infos standards de type Note ON ou Note OFF, ou s'il faut passer par des messages SysEx (System Exclusive).

Si ton "cahier des charges" est clairement défini, je ne pense pas que celà soit très compliqué à faire. Donnes-nous quelques exemples de données que tu souhaiterais voir "transcrites".

Par exemple (c'est bidon, juste pour l'idée)
- "Donnée MIDI Note ON C3 - Velocité 74" --> "Donnée RS232 $60$32"
- "Donnée RS232 $60$A3" --> "Donnée MIDI Note OFF C3 - Velocité 12"

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

5
En fait chimimic, il y a même pas de traitement de données :
Par exemple un message de note ON qui est constitué de 3 octets serait envoyé tel quel (1er octet contenant le n°canal MIDI + message note ON ou Off, 2eme octet n° note, 3eme octet : vélocité).

Sachant que l'interface midi fonctionne a 31250 bauds, l'interface RS232 pourrait être configuré à un débit 38400 bauds (si le débit 31250 n'est pas faisable).

J'avais vu les plans d'un convertisseur RS-232 - MIDI matériel, il y avait simplement un MAX232 (pour transformer les signaux en TTL) et une petite circuiterie avec optocouleur pour la réception MIDI, rien de méchant.

Et d'après ce schéma, il n'y a donc même pas besoin d'inverser l'ordre des bits, c'est à dire que les interfaces MIDI et RS232 envoient la donnée série en commençant par le bit de poids faible.

L'interafce RS232 serait configurée de la manière suivante :
Bit de start
8 bit de données sans parité
1 bit de stop
Rate : 38400

Donc au niveau de données par exemple si l'interface MIDI transmet un octet F0h (début de sysex si je me trompe pas ou F7h, bref un octet quelconque, il faudrait simplement prendre cet octet, et l'envoyé par RS232, et à la limite, même si l'octet était inversé (au niveau poids fort/poids faible ou même au niveau de l'état, c'est à dire complémenté), il me serait facile, dans le FPGA de la mettre dans le bon ordre et dans le bon état).
Donc dans ce cas ce serait des données binaires. Une simple passerelle.

Bien sur, si l'interface RS232 est à 38400 bauds, dans le sens RS-232 vers MIDI, il faudra bien attendre que le buffer émission MIDI soit vide avant émission d'un nouvel octet. Mais ça au niveau du FPGA qui émet je pourrai mettre des temporisations entre chaque octet envoyé, c'est pas le problème.

Ca m'a pas l'air courant ce genre d'utilitaire mais comme bcp de kit de développement ont une interface série et pas MIDI, ce type de passerelle peut être utile dans un souci de vérifier la réponse à des messages MIDI via une RS-232.

Mais éventuellement je me pencherais sur un développement VB, que je mettrai à contribution car cela peut aider peut être des gens.

"On parle d'écriture inclusive alors que les femmes n'arrêtent pas de dire qu'elles s'en "battent les couilles""

6
Excuse-moi si je ne comprend pas bien, mais le montage hard (MAX232 et opto) ne te convient donc pas ? Si non, un développement logiciel me semble effectivement simple pour ce genre d'opération, et ne devrait vraiment pas poser de difficulté majeure.

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

7
Pour le montage hard ca irait, mais je cherche la solution de "faciliter", je sais c pas bien mais on ne sait jamais ;)

De plus pour le montage hard, j'ai autant simplement me faire une plaquette avec un optocoupleur une prise MIDI quelques résistances un condo et relié l'émission/ et la réception directement sur mon kit de développement.

D'ailleurs c'est la solution que je vais faire, car par visual biasic, ca ne m'a pas l'air si trivial.

"On parle d'écriture inclusive alors que les femmes n'arrêtent pas de dire qu'elles s'en "battent les couilles""

8
Je maitrise un peu le RS232, mais pas le MIDI (j'ai ce qu'il faut au niveau programmation, mais n'ai jamais cherché à faire grand chose avec).

J'essayerai dimanche, lundi ou mardi, de faire un petit bout de soft pour voir, comme ça.
:clin:

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

9
Je te remercie Chimimic, mais te casse pas la tête pour moi non plus ;)

"On parle d'écriture inclusive alors que les femmes n'arrêtent pas de dire qu'elles s'en "battent les couilles""

10
Bof, tu sais, je passe max 1 heure dessus. Si je vois qu'on peut faire ça facilement, je continue, sinon je laisse.

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