SySex MIDI et Manufacturer ID

Bonjour,

Je suis en train d'améliorer mon firmware de footcontroller MIDI. Pour cela, j'ai besoin d'utiliser les messages SySex.

Cependant, pour utiliser les SySex, il faut à priori disposer d'un « Manufacturer ID » qui est envoyé dans le header. Le problème est que ce Manufacturer ID est proposé par la MMA pour $200/an ... Or, ce firmware est plutôt destiné à être proposé gratuitement, sous licence GPL.

J'ai remarqué qu'il y avait des « Universal Non-Real Time SySex » où le mot du header correspondant au « Manufacturer ID » vaut 0x7E. Quelqu'un saurait si je peux utiliser ces SySex comme je le veux, sans m'acquitter de quoi que ce soit ?

Merci

Reply to
=?ISO-8859-1?Q?GRENON_Lo=EFc?=
Loading thread data ...

Le 30/08/2010 13:29, GRENON Loïc a écrit :

Je viens de voir en jetant un oeil à

formatting link
(ligne 156) qu'il y aurait un octet 0x7D qui corresponderait à une utilisation non-commerciale. Ça me parait plus approprié mais je ne sais pas si je peux m'en servir ...

Reply to
=?ISO-8859-1?Q?GRENON_Lo=EFc?=

GRENON Loïc a tapoté du bout de ses petites papattes :

Pour quoi faire ? Ya jamais eu besoin des Sysex pour un contrôleur Midi.

Pas toutes.

Ton synthé n'a pas d'ID constructeur ? C'est pas le contrôleur qui doit en avoir un, mais le synthé.

Ta question est incompréhensible. Tu peux élaborer ?

--
LeLapin
Reply to
LeLapin

Le 30/08/2010 18:16, LeLapin a écrit :

Pour paramétrer le footcontroller depuis un ordinateur (associer un controller number à un bouton de CC, etc ...)

Nan mais celles qui m'intéressent, les « Non-Real Time SySex », oui

Le contrôleur doit bien répondre pour un ID constructeur donné, non ? Mais de toute manière (j'avoue que c'était pas précisé mais je ne pensais pas que c'était utile ...), c'est pour « dialoguer » avec un PC donc je dois faire les deux.

C'est peut-être plus clair dans mon 2e post : En lieu et place du « manufacturer ID », 3 autres valeurs sont prévues par la norme MIDI :

7D: non-commercial use (e.g. schools, research, etc.) 7E: Non-Real Time Universal System Exclusive ID 7F: Real Time Universal System Exclusive ID (all call device ID)

Ma question initiale posait sur la valeur 7E car je n'avais pas encore pris connaissance de la valeur 7D.

La question est donc : puis-je utiliser, dans mon programme, la valeur «

7D » pour le « manufacturer ID » de mes SySex ? Et si oui : y'a-t-il une autre syntaxe que je dois respecter ?

Merci

Reply to
=?ISO-8859-15?Q?GRENON_Lo=EFc?

GRENON Loïc a tapoté du bout de ses petites papattes :

Ok, je comprends mieux. L'idée est intéressante.

Habituellement non. En tous cas certainement pas en émission, évidemment.

Pourquoi ne pas utiliser l'entrée série différemment de la sortie, avec une liaison directe depuis le PC, du coup tu fais ton propre protocole sans t'encombrer ?

--
LeLapin
Reply to
LeLapin

On Aug 31, 12:05 am, GRENON Lo=EFc

C'est une bonne assurance :-)

Oui, puisque c'est fait pour.

A priori non, mais v=E9rifie dans les sp=E9cifications MIDI.

Reply to
Jean-Christophe

Le 31/08/2010 11:10, Jean-Christophe a écrit :

:))

Ok, merci ;)

Reply to
=?ISO-8859-1?Q?GRENON_Lo=EFc?=

Le 31/08/2010 09:22, LeLapin a écrit :

Je comprend pas très bien là, alors. Chaque constructeur a son propre standard, non ?

Admettons que deux constructeurs différents utilisent une même valeur pour une fonction totalement différente : le contrôleur risque de faire n'importe quoi.

Non ?

Certes, c'est une solution de repli mais puisque j'utilise les fiches MIDI, il me parait plus judicieux d'utiliser le protocole MIDI.

Reply to
=?ISO-8859-15?Q?GRENON_Lo=EFc?

Je partage le point de vue de Lo=EFc, =E9tant donn=E9 le contexte. Surtout car le protocole MIDI est fait exactement pour cela, est diffus=E9 depuis 25 ans sur beaucoup d'instruments =E9lectroniques de musique (et pas forcement que des synth=E9tiseurs), est fait pour =E9viter des probl=E8mes avec les boucle de masse et est support=E9 par la totalit=E9 de= s s=E9quenceurs professionnels. Je vois deux possibilit=E9s :

- Soit utiliser les SysEx pour sauvegarder ou restaurer une configuration de l'instrument. C'est fait aussi pour cela. Dans ce cas, personnellement j'utiliserais l'ID 7D.

- Soit voir si la configuration de l'instrument peut =EAtre contr=F4l=E9e avec les autres messages pr=E9vus par le standard. Il y en a un bon nombre, li=E9s =E0 l'expression et =E0 la gestion de plusieurs param=E8tres li=E9s au son.

Par contre, si le logiciel doit =EAtre publi=E9, je trouve que c'est important de soigner la documentation pour que la signification des SysEx soit document=E9e, surtout si l'on choisit la premi=E8re possibilit= =E9.

Reply to
Darwin

GRENON Loïc a tapoté du bout de ses petites papattes :

Non, la quasi-totalité des contrôleurs (footswitches, pédales de modulation, program-up/down) sont soit de simple switches soit des potentiomètres branchés directement sur l'appareil. Les fonctions Midi qui font l'équivalent ne sont pas des Sysex. La seule chose à envoyer est le numéro de canal, le type de contrôle et sa valeur.

Et qu'est-ce que tu auras besoin d'envoyer à ton contrôleur, à part son paramétrage par le PC ?

Autre pb. Avec un contrôleur sous Midi, comment tu fais pour que le synthé puisse recevoir à la fois ce qui lui est classiquement envoyé (séquences, etc) et les messages du contrôleur ? Il te faut un Merge quelque part ! A moins que ton synthé ait plusieurs entrées Midi (rarissime) et fasse le Merge en interne.

--
LeLapin
Reply to
LeLapin

Et pourtant si : si ton controleur est programmable.

C'est l'OP le constructeur du truc MIDI. Il lui faut donc un id sysex qui ne recouvre pas un matériel existant.

xpost+fu2

--
Et pendant ce temps-là, dans le septembre éternel...
Reply to
Tonton Th

Le 31/08/2010 14:53, LeLapin a écrit :

Oui, en fonctionnement normal mais pas en mode « programmation ». Par exemple, la doc du Skrydstrup SC1 :

formatting link

Page 27 :

DUMP Enables you to dump data stored in the SC-1 as sysEx data, to i.e. your computer.

LOAD Enables you to load any sysEx data previously dumped.

Rien d'autre. Il n'y a que des messages de type Control Change qui sont envoyés par le multi effet à chaque changement de « preset » qui sont décodés pour allumer ou éteindre les LEDs correspondantes aux effets actifs, ou non. Mais ça, c'est déjà implémenté et ça fonctionne très bien.

J'ai pas trop compris mais il n'est pas question de synthé ici, juste de multi-effet. Le footcontroller n'envoie que des message de type :

- Control Change : pour activer ou désactiver un effet donné

- Program Change : pour charger un « preset », c'est à dire un groupe d'effets.

Reply to
=?ISO-8859-15?Q?GRENON_Lo=EFc?

Je confirme. J'ai un Alesis MicroVerb 4 qui fonctionne exactement sur le m=EAme principe et ne produit aucune note de son initiative. Les SysEx sont normalement utilis=E9s pour sauvegarder la configuration de l'appareil, ainsi que pour acc=E9der =E0 des param=E8tres que pour une raison ou pour une autre ne peuvent ou ne doivent pas =EAtre modifi=E9s par des messages. J'ai un vieux synth=E9tiseur (E-mu Proteus 2) qui s'en sert entre autre pour la configuration du tableau de correspondance entre les instruments MIDI (gamme 0-127) et ceux fournis par l'instrument (0-191). Dans une cha=EEne, pas de probl=E8mes de canal; il suffit juste que chaque instrument ne r=E9ponde qu'au message SysEx qui contiennent son ID. LeLapin, le MIDI c'est bien plus que juste les notes... :-)

Pour revenir =E0 la question du d=E9but, si utiliser l'ID 7D risque de poser des probl=E8mes potentiels lors de la pr=E9sence de plusieurs syst=E8mes "maison" dans une m=EAme cha=EEne, pourquoi ne pas donner la possibilit=E9 =E0 l'utilisateur de le configurer d'une fa=E7on ou d'une autre ?

Reply to
Darwin

GRENON Loïc a tapoté du bout de ses petites papattes :

QUe je sache, Program change et Control change ne sont pas des Sysex. Le numéro de canal suffit, non ?

--
LeLapin
Reply to
LeLapin

Darwin a tapoté du bout de ses petites papattes :

Tssss, j'ai fait une des premières interfaces Midi pour Apple ][ à la sortie du DX-7 (1983) et tout un jeu de softs. Alors ça va, je connais un peu quand même ;)

--
LeLapin
Reply to
LeLapin

Le 01/09/2010 11:22, LeLapin a écrit :

J'ai jamais dit ça.

Dans le cas des Program Change et Control Change, oui. Et ça fonctionne également très bien.

M'enfin, vous ne semblez pas comprendre ce que je veux faire. Vous avez surement une autre idée de comment s'y prendre; donc je vous pose la question : Comment feriez-vous pour changer le controller number associé à un bouton de Control Change, sur le footcontroller ?

Vous n'utiliserez pas les SySex, dans ce cas là ?!

Reply to
=?ISO-8859-15?Q?GRENON_Lo=EFc?

Le 31/08/2010 09:22, LeLapin a écrit :

Tiens, autre question :

Dans ce cas, comment l'appareil fait la différence entre un SySex dont l'ID constructeur est codé sur 1 octet (0x41, par exemple, pour « Roland Corporation) et un autre SySex dont l'ID constructeur est codé sur 3 octets (0x00 0x20 0x4A, par exemple, pour Skrydstrup R&D) ?

Reply to
=?ISO-8859-15?Q?GRENON_Lo=EFc?

On Sep 1, 12:52=A0pm, GRENON Lo=EFc

and

Peut-etre parce-qu'un code =E0 3 octets commence par un z=E9ro, ce qui indique justement qu'il s'agit d'un code =E0 3 octets ?

Reply to
Jean-Christophe

GRENON Loïc a tapoté du bout de ses petites papattes :

Sur un live ou sur une séquence ?

--
LeLapin
Reply to
LeLapin

oland

Ah ben ouais, =E7a =E0 l'air de coller. Merci

Reply to
difool

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.