[R] Virtual Midi Controler

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

[R] Virtual Midi Controler

#1

Message par SurPriseS »

Bonjour ici !
ça fait un bail dit donc ! :D

Bon, j'ai un ptit soucis et je cherche des info...

J'utilise un logiciel : http://www.audiomulch.com/ qui permet de faire pas mal de choses niveau audio (je l'utilise pour faire du filtrage actif).
Son gros soucis, c'est qu'il est 'chiant' à régler... MAIS, ont peut le configurer pour qu'il fonctionne avec une interface MIDI dans ce genre :
Image

Résultat, beaucoup plus simple à régler ! Problème, je peut pas utiliser du hardware, il me faut donc un équivalent en software... Audiomulch étant mal foutu, j'arrive pas à l'automatiser directement... Donc faut passer par du MIDI...

Grâce à 2 logiciels :
- http://www.granucon.com/vms.html = Clavier MIDI virtuel
- http://www.midiox.com/index.htm?http:// ... /myoke.htm = Logiciel d'interfaçage MIDI

Le deuxième permet de faire intéréagir le premier avec audiomulch... Comme ça j'arrive à automatiser... Mais c'est le bordel vu qu'il faut automatiser un logiciel pour en contrôler un autre...
(je sais pas si je suis super clair :p)

Bref, je pense qu'il est possible d'envoyer directement les commandes midi a audiomulch via auto it (midiyoke reste obligatoire mais on élimine VMS de la liste...).

j'ai trouvé des info pour faire de la musique midi via auto it, mais rien pour faire ce que je souhaite :(
Pour le reste je devrais m'en sortir sans trop de soucis, mais je coince vraiment sur la partie 'MIDI'

Merci ;)
Modifié en dernier par SurPriseS le dim. 01 mai 2011 23:56, modifié 1 fois.
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [..] Virtual Midi Controler

#2

Message par SurPriseS »

Je réup un peu, pour y noté quelques liens que j'ai trouvé et un ptit soucis avec l'udf midi...

http://www.autoitscript.com/forum/index ... =midi&st=0 < J'ai essayer de l'utiliser, quand je met l'include dans mon fichier, l'interface ne se lance plus... Du coup, j'ai pas encore testé plus loin...
Ca pourrais venir d'une incompatibilité avec ma version d'auto it ? (la dernière normalement)

http://www.autoitscript.com/forum/index ... t&p=646569

http://www.autoitscript.com/forum/index ... t&p=764823

http://www.granucon.com/vms.html#toc

Je voulais rajouté que je cherche des info dans un peu tout les langages, si je doit changer, j'essayerais ;)

Merci !
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [..] Virtual Midi Controler

#3

Message par SurPriseS »

http://www.korg.co.uk/downloads/radias/ ... ple_E1.pdf


Et un ptit up pour mon soucis d'include de l'udf midi... Je sais pas si je m'y prend mal, ou si ça marche plus avec les nouvelles versions d'auto it.
Vu que l'include est dans le dossier de mon fichier, j'ai tenté ça :

#include "Midiudf.au3"

et

#include <Midiudf.au3>

Le script ce lance, mais "bloque" sur la ligne de l'include...

Sinon, je vais tenté d'inclure les fonctions qui semble m'intéresser directement dans mon code...

:oops:
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [..] Virtual Midi Controler

#4

Message par SurPriseS »

Bijour !
Je réup un peu se sujet vu que j'ai repris le boulot dessus ( Le début : http://www.autoitscript.fr/forum/viewto ... f=3&t=7021 )

Donc j'ai trouvé plus d'info... Le soucis de l'udf, c'est que la version à jour n'étais pas encore sortie... donc marchais po... ( Dl ici : http://www.autoitscript.com/forum/index ... h_id=30984 )

J'ai trouvé aussi un projet en VB qui fait en gros se que je souhaite (j'ai joint le .rar), mais je souhaite poussé plus loin que ça mon projet au niveau des fonctions... (j'aurais pu reprendre en VB, mais je galère avec...).

Avec ce que j'ai pu essayer de comprendre dans le fichier "control.frm" en VB (on trouve ça à la fin du fichier), j'ai essayer d'annoté ce que j'ai compris :

Code : Tout sélectionner

Private Sub Command3_Click(Index As Integer)
    'Pente à 6 Db
   inde = 2
   device(curDevice + 1).Checked = False
   device(inde).Checked = True
   curDevice = inde - 1
   rc = midiOutClose(hmidi) > ferme la communication midi si jamais elle étais déjà ouverte > correspond à Func _MidiOutClose ($hmidiout)
   rc = midiOutOpen(hmidi, curDevice, 0, 0, 0) > ouvre la communication >  Func _MidiOutOpen($devid = 0, $callback = 0, $instance = 0, $flags = 0)
   If (rc <> 0) Then
      MsgBox "Couldn't open midi out, rc = " & rc
   End If
    Label1(Index).Caption = "6"
    If Index = 0 Then
        midimsg = &H95 + (280 * &H10000) + channel > Je suppose qu'ici on définit le message midi envoyer, mais je ne comprend pas comment sa fonctionne...
    ElseIf Index = 1 Then
        midimsg = &H96 + (270 * &H10000) + channel
    ElseIf Index = 2 Then
        midimsg = &H97 + (280 * &H10000) + channel
    ElseIf Index = 3 Then
        midimsg = &H98 + (270 * &H10000) + channel
    ElseIf Index = 4 Then
        midimsg = &H99 + (270 * &H10000) + channel
    End If
    midiOutShortMsg hmidi, midimsg > là on envoie le message trouvé plus haut > correspond à Func _MidiOutShortMsg($hmidiout, $msg)
End Sub
Donc la séquence ne me semble pas spécialement compliqué :

_MidiOutClose ($hmidiout) > On ferme pour être sur
_MidiOutOpen($devid = 0, $callback = 0, $instance = 0, $flags = 0) > On ouvre le port de com
_MidiOutShortMsg($hmidiout, $msg) > On envoie le message
_MidiOutClose ($hmidiout) > On ferme

Mon problème est donc que je capte rien au paramètre à envoyer... J'ai cru comprendre que le message était en hexa, c'est peut être la signification du &H dans le code en VB ?

Si quelqu'un d'assez calé pour m'aider à comprendre ;)

Merci !
Fichiers joints
Controlleur.rar
(2.4 Mio) Téléchargé 92 fois
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [..] Virtual Midi Controler

#5

Message par SurPriseS »

Bonsoir !
J'ai trouvé la solution ! :D

J'utilise pas l'udf prévu, j'arrive pas à m'en servir :oops:

http://public.sreal.com:8000/~div/midi-utilities/
sendmidi (Windows)

This command line utility sends a single specified MIDI message. It can be used for scripting, or as a poor man's knob box.

Usage: sendmidi [ --out <port> ] ( --note-off <channel> <pitch> <velocity> | --note-on <channel> <pitch> <velocity> | --key-pressure <channel> <pitch> <amount> | --control-change <channel> <number> <value> | --program-change <channel> <number> | --channel-pressure <channel> <amount> | --pitch-wheel <channel> <amount> )
Du coup j'utilise ShellExecute("sendmidi.exe","--out 2 --control-change 2 2 " & $value ,@ScriptDir,"", @SW_HIDE ), mais es-ce que ShellExecute peut envoyer beaucoup de commande à la suite ?
Exemple bidon, si je doit envoyer 1000fois à la suite ma commande, j'ai pas un risque de faire tout planter ?

Merci ;)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Virtual Midi Controler

#6

Message par jchd »

AMTHA le risque n'est pas de tout planter mais de ne pas être en synchronicité avec le temps. Tout dépend bien sûr des fonctions MIDI que tu emploies : si c'est juste du "note on, note off", ça peut encore aller, mais si tu es polyphonique avec des effets, là ça risque fort de sonner drôlement étrange à une oreille pas complètement détruite par un abus de dBa.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [..] Virtual Midi Controler

#7

Message par SurPriseS »

Enfaite, j'utilise pas le MIDI pour faire de la musique ;) mais pour effectué des réglages audio (gain, pente, fréquence de coupure,équa...) en gros c'est un DSP qui se config grâce au MIDI ;)

Mais si je veux pouvoir faire des presets, ils faut que je puissent envoyer rapidement les commande MIDI... Mais si y'a pas de risque ! c'est cool :D
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [R] Virtual Midi Controler

#8

Message par SurPriseS »

Je remonte un peu ce post là, suite à ma demande sur le forum anglais, on ma dit : "c'est possible, mais je sais pas comment"

Un anglais est venu me MP récemment pour voir si j'avais trouver une solution et quelques temps plus tard il est revenu en me disant qu'il en avais trouver une !

J'ai fait quelques essais, mais je doit me planter, et j'ai pas du tout comprendre...

Si quelqu'un parle et comprend mieux que moi l'anglais :oops:
Thanks,

I have found a solution.
On the other forum (you gave us a link): http://autoitscript.fr/forum/viewtopic.php?f=3&t=5332
There i found a link to this topic: http://www.autoitscript.com/forum/topic ... __764823#e
In that topic you can read what you need to do.

Do not forgot to read the last post, that one is important.
Copy the function you found there.

The function needs 3 things
The control change, that a number, use it at the place status
Your fader number use note.
And the value of the fader use volume.

Hope you can get it working ;)

Merki :oops:
SurPriseS
Niveau 6
Niveau 6
Messages : 293
Enregistré le : jeu. 06 sept. 2007 11:35
Localisation : Finistère sud
Status : Hors ligne

Re: [R] Virtual Midi Controler

#9

Message par SurPriseS »

Bonjour !
Je viens de me rendre compte que j'ai pas mis le bon lien...

http://www.autoitscript.com/forum/topic ... ntry764823

Ce problème m’énerve !
Répondre