Sujet Developpement logiciel TC 2 MIDI
- 23 réponses
- 5 participants
- 3 300 vues
- 5 followers
Rémy M. (chimimic)
14197
Modérateur·trice thématique
Membre depuis 22 ans
Sujet de la discussion Posté le 27/04/2007 à 19:01:51Developpement logiciel TC 2 MIDI
Bonjour à tous,
j'ai attaqué le développement d'un nouveau logiciel, appelé TC2MIDI, TC pour TeleCommande.
Présentation
Le logiciel TC2MIDI est une interface logicielle qui permet de déclancher et d'envoyer des évenements MIDI (notes ous Sysex) sur une sortie MIDI OUT, à partir de télécommandes envoyées sur un port parallèle (LPT) ou sur un port série (COM / RS232) d'un ordinateur de type PC. Et en sens inverse, de générer des commandes logiques (électriques) sur un port parallèle ou sur un port série, à partir d'évements MIDI (Notes ou Sysex) reçus sur une entrée MIDI IN. Ce système logiciel permet par exemple de jouer des notes MIDI ou de modifier la configuration d'équipements audio ou musicaux, en appuyant sur des boutons poussoirs activables à la main ou au pied. Ou encore, d'allumer des spots de couleurs différentes selon la note jouée sur un clavier MIDI. Deux applications entre plein d'autres...
Les ports parallèles et les ports série possèdent tous deux des lignes d'entrée et de sortie. Selon le sens de la "conversion" désirée, TC vers MIDI ou MIDI vers TC, il est fait usage respectivement soit des lignes d'entrée, soit des lignes de sortie des ports du PC.
Réaction à des télécommandes externes
La réaction aux télécommandes externes se fait en scrutant de façon régulière et rapide, l'état des lignes d'entrée de ces ports. Quand une ligne d'entrée change d'état (passe de l'état haut à l'état bas ou l'inverse), le logiciel regarde dans une table de correspondance établie par l'utilisateur, si cette ligne est liée à un évenement MIDI. Si oui, l'évenement MIDI est construit et est transmis sur la sortie MIDI OUT. Si non, le changement d'état de cette ligne est ignoré. Il est possible de définir un évenement MIDI différent selon que le changement d'état logique est de type Haut-Bas ou de type Bas-Haut.
Réaction à des évenements MIDI
La réaction à des évenements MIDI se fait en analysant toute donnée MIDI entrante, arrivant sur un port MIDI IN. Quand une donnée MIDI arrive sur l'entrée MIDI mise sous surveillance, le logiciel regarde dans la table de correspondance établie par l'utilisateur, si cet évenement MIDI est lié à l'activation ou à la désactivation d'une ligne de sortie. Si oui, la ligne de sortie correspondant à l'évenement MIDI prend le statut logique désiré, qui peut être défini comme étant positif ou négatif.
Pourquoi ce message ?
Cette idée est née d'une demande d'assistance pour télécommande d'évenements MIDI depuis des boutons poussoir. Comme je commence tout juste la mise en pratique, je pense interressant de recueillir toute idée visant à compléter ou améliorer le système. J'imagine bien que la présence d'une interface graphique, même minimale, vous aiderait bien à donner un avis. J'en soumettrai une très bientôt, basée sur l'emploi d'une liste décrivant quoi faire avec quelles données. Mais pourquoi ne pas commencer maintenant à en imaginer deux ou trois idées, pendant que c'est tout frais ?
Merci d'avance à tous ceux qui contribueront de près ou de loin à l'élaboration de ce petit utilitaire, qui, est-il utile de le préciser, sera distribué en Freeware.
Bien cordialement à tous.
j'ai attaqué le développement d'un nouveau logiciel, appelé TC2MIDI, TC pour TeleCommande.
Présentation
Le logiciel TC2MIDI est une interface logicielle qui permet de déclancher et d'envoyer des évenements MIDI (notes ous Sysex) sur une sortie MIDI OUT, à partir de télécommandes envoyées sur un port parallèle (LPT) ou sur un port série (COM / RS232) d'un ordinateur de type PC. Et en sens inverse, de générer des commandes logiques (électriques) sur un port parallèle ou sur un port série, à partir d'évements MIDI (Notes ou Sysex) reçus sur une entrée MIDI IN. Ce système logiciel permet par exemple de jouer des notes MIDI ou de modifier la configuration d'équipements audio ou musicaux, en appuyant sur des boutons poussoirs activables à la main ou au pied. Ou encore, d'allumer des spots de couleurs différentes selon la note jouée sur un clavier MIDI. Deux applications entre plein d'autres...
Les ports parallèles et les ports série possèdent tous deux des lignes d'entrée et de sortie. Selon le sens de la "conversion" désirée, TC vers MIDI ou MIDI vers TC, il est fait usage respectivement soit des lignes d'entrée, soit des lignes de sortie des ports du PC.
Réaction à des télécommandes externes
La réaction aux télécommandes externes se fait en scrutant de façon régulière et rapide, l'état des lignes d'entrée de ces ports. Quand une ligne d'entrée change d'état (passe de l'état haut à l'état bas ou l'inverse), le logiciel regarde dans une table de correspondance établie par l'utilisateur, si cette ligne est liée à un évenement MIDI. Si oui, l'évenement MIDI est construit et est transmis sur la sortie MIDI OUT. Si non, le changement d'état de cette ligne est ignoré. Il est possible de définir un évenement MIDI différent selon que le changement d'état logique est de type Haut-Bas ou de type Bas-Haut.
Réaction à des évenements MIDI
La réaction à des évenements MIDI se fait en analysant toute donnée MIDI entrante, arrivant sur un port MIDI IN. Quand une donnée MIDI arrive sur l'entrée MIDI mise sous surveillance, le logiciel regarde dans la table de correspondance établie par l'utilisateur, si cet évenement MIDI est lié à l'activation ou à la désactivation d'une ligne de sortie. Si oui, la ligne de sortie correspondant à l'évenement MIDI prend le statut logique désiré, qui peut être défini comme étant positif ou négatif.
Pourquoi ce message ?
Cette idée est née d'une demande d'assistance pour télécommande d'évenements MIDI depuis des boutons poussoir. Comme je commence tout juste la mise en pratique, je pense interressant de recueillir toute idée visant à compléter ou améliorer le système. J'imagine bien que la présence d'une interface graphique, même minimale, vous aiderait bien à donner un avis. J'en soumettrai une très bientôt, basée sur l'emploi d'une liste décrivant quoi faire avec quelles données. Mais pourquoi ne pas commencer maintenant à en imaginer deux ou trois idées, pendant que c'est tout frais ?
Merci d'avance à tous ceux qui contribueront de près ou de loin à l'élaboration de ce petit utilitaire, qui, est-il utile de le préciser, sera distribué en Freeware.
Bien cordialement à tous.
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
Rémy M. (chimimic)
14197
Modérateur·trice thématique
Membre depuis 22 ans
2 Posté le 29/04/2007 à 23:31:07
Allez, une première ébauche de l'interface utilisateur. Juste pour donner une idée de la façon dont je vois les choses pour le moment...
https://www.sonelec-musique.com/logiciels/tc2midi/tc2midi_main_001.gif
L'interface n'est pas très intuitive pour le moment, mais je travaille dessus pour remédier à cela.
https://www.sonelec-musique.com/logiciels/tc2midi/tc2midi_main_001.gif
L'interface n'est pas très intuitive pour le moment, mais je travaille dessus pour remédier à cela.
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
Rémy M. (chimimic)
14197
Modérateur·trice thématique
Membre depuis 22 ans
3 Posté le 03/06/2007 à 14:55:23
Bonjour à tous,
Deuxième ébauche de l'interface utilisateur. Ca a bien avancé, je pense pouvoir mettre une première version à disposition dans les 15 jours.
Je n'ai pas trop insisté sur l'interface utilisateur et me suis plutôt concentré sur les fonctions "internes". Mais ça bougera surement en fonction des premiers tests grandeur nature.
Bonne journée.
Deuxième ébauche de l'interface utilisateur. Ca a bien avancé, je pense pouvoir mettre une première version à disposition dans les 15 jours.
Je n'ai pas trop insisté sur l'interface utilisateur et me suis plutôt concentré sur les fonctions "internes". Mais ça bougera surement en fonction des premiers tests grandeur nature.
Bonne journée.
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
zieQ
466
Posteur·euse AFfamé·e
Membre depuis 21 ans
4 Posté le 14/06/2007 à 08:30:09
Et ben, pas une réponse à ton sujet, à croire que ça n'intéresse personne. Moi ça m'intéresse en tout cas. Par contre, je me demande en quoi consiste le circuit d'interfaçage sur les ports série/parallèle ? Les entrées sont protégées ou on rentre direct sur le port parallèle ? Et les sorties : relais (et donc alim externe) ? En tout cas, c'est intéressant, courage chimimic !
Rémy M. (chimimic)
14197
Modérateur·trice thématique
Membre depuis 22 ans
5 Posté le 14/06/2007 à 09:01:30
Bonjour zieQ,
je ne crois pas que l'absence de réponse signifie absence d'interêt. Je suis un peu du genre à annoncer des choses à l'avance, et mets parfois un peu de temps à passer vraiment à la pratique. Il se peut donc simplement que les gens commencent à me connaitre et attendent de voir le produit fonctionnel
Interfaçage port parallèle : pour les entrées, il suffit de contacts secs (interrupteurs, contacts relais, etc) qui assurent un circuit fermé entre masse du port parallèle et entrées. Rien d'autre à ajouter, c'est vraiment pratique et sans risque. Pour les sorties, on met ce qu'on veut, du moment que ce soit compatible TTL 5V. Le plus simple : un petit relais 5V ou 12V piloté par un petit transistor. Dans cette direction (sorties), il est nécessaire de prévoir une alim externe additionnelle.
Interfaçage port série : le port série est par nature bien protégé (bien mieux que le port parallèle), mais je conseille toutefois une interface d'isolation pour prévenir tout mauvais coup.
Je publierai tout ce qu'il faut pour que la mise en oeuvre de ce petit logiciel ne pose pas trop de questions.
Et merci pour tes encouragements !
je ne crois pas que l'absence de réponse signifie absence d'interêt. Je suis un peu du genre à annoncer des choses à l'avance, et mets parfois un peu de temps à passer vraiment à la pratique. Il se peut donc simplement que les gens commencent à me connaitre et attendent de voir le produit fonctionnel
Interfaçage port parallèle : pour les entrées, il suffit de contacts secs (interrupteurs, contacts relais, etc) qui assurent un circuit fermé entre masse du port parallèle et entrées. Rien d'autre à ajouter, c'est vraiment pratique et sans risque. Pour les sorties, on met ce qu'on veut, du moment que ce soit compatible TTL 5V. Le plus simple : un petit relais 5V ou 12V piloté par un petit transistor. Dans cette direction (sorties), il est nécessaire de prévoir une alim externe additionnelle.
Interfaçage port série : le port série est par nature bien protégé (bien mieux que le port parallèle), mais je conseille toutefois une interface d'isolation pour prévenir tout mauvais coup.
Je publierai tout ce qu'il faut pour que la mise en oeuvre de ce petit logiciel ne pose pas trop de questions.
Et merci pour tes encouragements !
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
PHil Martins
2087
AFicionado·a
Membre depuis 21 ans
6 Posté le 14/06/2007 à 11:03:00
Super intéressant comme truc je trouve !
bon après faut etre bricoleur pour se faire des télécommandes ou autres
moi ce qui me titille de plus çà serait de me faire un prompteur car j'ai vraiment une mémoire de merde pour les paroles, j'utilise ableton live pour les séquences et je pourrais tout à fait utiliser le midi pour faire défiler du texte sur un écran externe, mais je vois pas encore comment
tiens je vais utiliser le moteur de recherche pour voir si qqn a déjà planché là-dessus
mais en tout cas bravo pour ce genre d'initiative c'est vraiment super !
bon après faut etre bricoleur pour se faire des télécommandes ou autres
moi ce qui me titille de plus çà serait de me faire un prompteur car j'ai vraiment une mémoire de merde pour les paroles, j'utilise ableton live pour les séquences et je pourrais tout à fait utiliser le midi pour faire défiler du texte sur un écran externe, mais je vois pas encore comment
tiens je vais utiliser le moteur de recherche pour voir si qqn a déjà planché là-dessus
mais en tout cas bravo pour ce genre d'initiative c'est vraiment super !
erika.m
2
Nouvel·le AFfilié·e
Membre depuis 15 ans
7 Posté le 01/01/2009 à 12:47:29
Bonjour
Je viens juste de découvrir cette page, mais vu son âge je me
demande si ce logiciel est toujours en développement?
Il y a plein de projects hardware (genre pic, arduino) qui ont une fonction
pareille, mais si l'ordinateur est déjà là, un logiciel qui raccorde l'entrée
midi au port parallèle semble plus facile et efficace.
En plus celui-ci marche (marcherai) dans les deux sens!
Peut-être quelques exemples, si je comprend bien
les capacités proposés dans la présentation,
pourront raviver le projet?
https://www.youtube.com/watch?v=g_hiz-Kx0kM solenoid concert
https://www.youtube.com/watch?v=KBRrM_sTaEw solenofon
http://www.thebox.myzen.co.uk/Hardware/Glockenspiel.html
https://www.youtube.com/watch?v=eoCI4Bqt7_s drummer
http://www.graffagnino.net/wwwpeart/howitworks.php
Un project similaire...
https://www.mikmo.dk/cbsequencer.html
https://www.mikmo.dk/cbmiditocb.html
En plus de moi-même, les gens de ce forum seraient bien intéressés
(en anglais)
http://electro-music.com/forum/forum-112.html DIY Hardware and Software
http://electro-music.com/forum/topic-17715.html&highlight= percussion sequencer?
http://electro-music.com/forum/topic-8800.html&highlight= BendControl sequencer
http://electro-music.com/forum/topic-11678.html&highlight= Gate from Parallel Port?
Je viens juste de découvrir cette page, mais vu son âge je me
demande si ce logiciel est toujours en développement?
Il y a plein de projects hardware (genre pic, arduino) qui ont une fonction
pareille, mais si l'ordinateur est déjà là, un logiciel qui raccorde l'entrée
midi au port parallèle semble plus facile et efficace.
En plus celui-ci marche (marcherai) dans les deux sens!
Peut-être quelques exemples, si je comprend bien
les capacités proposés dans la présentation,
pourront raviver le projet?
https://www.youtube.com/watch?v=g_hiz-Kx0kM solenoid concert
https://www.youtube.com/watch?v=KBRrM_sTaEw solenofon
http://www.thebox.myzen.co.uk/Hardware/Glockenspiel.html
https://www.youtube.com/watch?v=eoCI4Bqt7_s drummer
http://www.graffagnino.net/wwwpeart/howitworks.php
Un project similaire...
https://www.mikmo.dk/cbsequencer.html
https://www.mikmo.dk/cbmiditocb.html
En plus de moi-même, les gens de ce forum seraient bien intéressés
(en anglais)
http://electro-music.com/forum/forum-112.html DIY Hardware and Software
http://electro-music.com/forum/topic-17715.html&highlight= percussion sequencer?
http://electro-music.com/forum/topic-8800.html&highlight= BendControl sequencer
http://electro-music.com/forum/topic-11678.html&highlight= Gate from Parallel Port?
Rémy M. (chimimic)
14197
Modérateur·trice thématique
Membre depuis 22 ans
8 Posté le 01/01/2009 à 15:57:36
Bonjour erika.m, et bienvenue sur AF
Ce projet n'a guère évolué en effet, mais il n'a pas été classé dans la liste des projets poubelle.
Le fait est que je ne dispose plus de port parallèle sur mon nouveau PC de développement, et que les tests sur ce type de port m'impose d'emprunter un autre PC juste pour les tests, ce qui est assez casse-pieds. Mais il est vrai que je n'ai pas de contrainte au niveau du port série RS232 car les interfaces USB / RS232 fonctionnent bien pour ce genre d'application, et rien que pour celles-ci je pourrais faire un effort.
Merci pour tes liens, bien interressants.
Ce projet n'a guère évolué en effet, mais il n'a pas été classé dans la liste des projets poubelle.
Le fait est que je ne dispose plus de port parallèle sur mon nouveau PC de développement, et que les tests sur ce type de port m'impose d'emprunter un autre PC juste pour les tests, ce qui est assez casse-pieds. Mais il est vrai que je n'ai pas de contrainte au niveau du port série RS232 car les interfaces USB / RS232 fonctionnent bien pour ce genre d'application, et rien que pour celles-ci je pourrais faire un effort.
Merci pour tes liens, bien interressants.
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
erika.m
2
Nouvel·le AFfilié·e
Membre depuis 15 ans
9 Posté le 02/01/2009 à 12:19:18
Oui, la déplorable abolition des ports parallèles...
J'apprécie qu'il est peu attractif de poursuivre cette technologie
en disparition.
Pourtant ça reste pour des bricoleurs le plus directement abordable
des interfaces PC.
Et les vieux PC qui sont "libérés" pour exactement ce type de projects
possèdent encore le chère DB25.
Donc ce serait vraiment dommage de perdre cette fonctionalité.
Les testes nécessaires ne seraient-ils pas possible "en virtuel" avec des
outils qui affichent l'état des broches sur l'écran?
Parmon http://www.geekhideout.com/parmon.shtml
Parmon2000 http://www2.esc.auckland.ac.nz/people/staff/amas008/ParMon2000_14/index.html
Pour des applications musique j'ai peur qu'un détour via RS232/USB introduirai
trop de "latency" (Fr décalage, délai?) entre les signaux in/out.
(conversion série->parall)
Mais peut-être tout ça s'éloinge trop de votre but original de télécommandes.
J'apprécie qu'il est peu attractif de poursuivre cette technologie
en disparition.
Pourtant ça reste pour des bricoleurs le plus directement abordable
des interfaces PC.
Et les vieux PC qui sont "libérés" pour exactement ce type de projects
possèdent encore le chère DB25.
Donc ce serait vraiment dommage de perdre cette fonctionalité.
Les testes nécessaires ne seraient-ils pas possible "en virtuel" avec des
outils qui affichent l'état des broches sur l'écran?
Parmon http://www.geekhideout.com/parmon.shtml
Parmon2000 http://www2.esc.auckland.ac.nz/people/staff/amas008/ParMon2000_14/index.html
Pour des applications musique j'ai peur qu'un détour via RS232/USB introduirai
trop de "latency" (Fr décalage, délai?) entre les signaux in/out.
(conversion série->parall)
Mais peut-être tout ça s'éloinge trop de votre but original de télécommandes.
Rémy M. (chimimic)
14197
Modérateur·trice thématique
Membre depuis 22 ans
10 Posté le 02/01/2009 à 15:28:35
Monitoring port parallèle : j'ai également développé un tel outil :
https://www.sonelec-musique.com/logiciels_freewares_lptporttest.html
mais ce dernier (comme ceux dont tu as mis les liens semble-t-il), demande à ce qu'on lui fournisse l'adresse d'un port pour voir ce qu'il en est sur les diverses broches. Et la difficulté à laquelle j'ai été confronté est justement de connaitre l'adresse d'un port LPT ajouté via une interface USB / LPT, qui ne se retrouve pas dans la liste des adresses LPT traditionnelles fournie par Windows (pas de soucis avec les cartes PCI 2 ou 4 ports LPT).
Adaptateur USB / RS232 : c'est un peu moins rapide effectivement qu'avec un port natif, mais avec les interfaces que j'ai testées, c'est encore jouable. La question de la vitesse est plus critique vu que les buffers sur ce type d'interface sont de très petite taille voire inexistants. Mais pour avoir une notion de la réalité, sûr qu'il faudrait faire de nombreux tests avec plusieurs types / marques d'interfaces.
But original de mon système de télécommandes : applications musicales, le MIDI étant bien au coeur du système.
https://www.sonelec-musique.com/logiciels_freewares_lptporttest.html
mais ce dernier (comme ceux dont tu as mis les liens semble-t-il), demande à ce qu'on lui fournisse l'adresse d'un port pour voir ce qu'il en est sur les diverses broches. Et la difficulté à laquelle j'ai été confronté est justement de connaitre l'adresse d'un port LPT ajouté via une interface USB / LPT, qui ne se retrouve pas dans la liste des adresses LPT traditionnelles fournie par Windows (pas de soucis avec les cartes PCI 2 ou 4 ports LPT).
Adaptateur USB / RS232 : c'est un peu moins rapide effectivement qu'avec un port natif, mais avec les interfaces que j'ai testées, c'est encore jouable. La question de la vitesse est plus critique vu que les buffers sur ce type d'interface sont de très petite taille voire inexistants. Mais pour avoir une notion de la réalité, sûr qu'il faudrait faire de nombreux tests avec plusieurs types / marques d'interfaces.
But original de mon système de télécommandes : applications musicales, le MIDI étant bien au coeur du système.
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
- < Liste des sujets
- Charte