Publicité

Annonce

Réduire
Aucune annonce.

Programmation informatique application affichage pistes du Kronos sur l'écran du PC

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Programmation informatique application affichage pistes du Kronos sur l'écran du PC

    Bonjour,
    après quelques échanges sur le forum à propos de l'interfaçage logiciel entre un DAW et le Kork Kronos 2
    j'en arrive à poser la question suivante:
    Dans la mesure où un DAW ne peut pas tout faire, comment développer soit même une application informatique sur PC
    qui me permettrait d'afficher les pistes du séquenceur du Kronos sur l'écran de mon PC ?
    Soit quel langage de programmation et librairies midi associées doit on utiliser ?

  • #2
    Pour cela, il faudrait des SysEx qui permettent d'assurer les échanges nécessaires (se référer à la documentation Korg. Je t'invite à vérifier les SysEx disponibles. Cf http://www.gearzonemusic.com/Kronos/..._SysEx_2_1.zip)

    Le SysEx qui se rapproche le plus est le SMF Data Dump request: il permet de récupérer des mesures d'après le numéro de la chanson, la piste et les numéros de mesures. Je n'ai pas vu comment faire pour les pistes "actives" dans le séquenceur.

    Pour le langage, je connais C/C++ qui permettent l'accès à l'interface MIDI (tu auras besoin du fichier mmsystem.h et winnmm.lib... Je suppose qu'il sont livrés avec le compilateur de Microsoft, sinon dans le Windows SDK). Java a aussi une bibliothèque MIDI intégrée. Pour d'autres langages, il faut généralement chercher une bibliothèque externe. Mais tu peux faire des recherches Google pour savoir ce qui existe (Python MIDI programming par exemple). En C#, tu peux t'interfacer directement avec une DLL (winnmm.dll pour ce qui t'intéresse), mais je ne suis pas sûr que le SDK .Net inclue les déclarations de fonctions utiles, je n'ai jamais pratiqué. Il existe aussi des modules MIDI pour C# tout fait (MIDI.NET ou encore C# MIDI toolkit). NB: Je n'ai pratiqué qu'en Java. Il me sera plus difficile de t'aider avec d'autres langages.
    Dernière modification par floyer, 30 juillet 2016, 16h19.
    http://www.sinerj.org/~loyer/piano/

    It's never too late to learn to play the piano. (tip of the day)

    Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

    Commentaire


    • #3
      Merci pour cette réponse clef.
      Le problème c'est d'avoir du temps pour se lancer dans la programmation d'une application complète, il faut réaliser l'ihm et toutes ses fonctionnalités.
      J'essaierai de tenter ma chance avec Python puisque je sais qu'il est pas mal utilisé ne serait ce que pour voir si la librairie midi dont tu parles est suffisante !
      A suivre....

      Commentaire


      • #4
        Apparemment, en Python, il y a plusieurs bibliothèques : PortMidi, python-rtmidi, Pygame. (Liste non exhaustive) Les deux premières sont écrites en C et nécessitent un compilateur C pour les compiler. La troisième est disponible déjà compilée (avec des versions différentes selon la version du compilateur), ce sera plus pratique pour l'installer. Cependant, la fonction "read" semble avoir un format de retour inadapté pour des SysEx, je ne sais comment se comporte la bibliothèque avec un SysEx reçu. Mido est une bibliothèque de plus haut niveau et s'appuie sur l'une de ces bibliothèques.
        Dernière modification par floyer, 31 juillet 2016, 10h29.
        http://www.sinerj.org/~loyer/piano/

        It's never too late to learn to play the piano. (tip of the day)

        Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

        Commentaire


        • #5
          Hello,

          Je ne pense pas que ce que tu veux soit possible... Si l'intégration VST du Kronos ne permet pas de le faire, il n'y a pas de moyen que le Kronos communique l'état interne du séquenceur.
          En gros : si ça n'existe pas déjà, c'est que ce n'est pas prévu et donc pas possible
          Hello, World!

          Commentaire


          • #6
            Il est possible que des SysEx permettent de faire des choses que le VST Kronos ne fait pas. Mais il est vrai que le seul SysEx qui permet de remonter des mesures nécessite le numéro de la chanson. (Il n'y a rien de décrit pour dire "je veux ce qui est dans le séquenceur", mais "Current Performance Id Request " semble permettre de connaître ce qui est "actif") De plus, je ne sais pas comment il se comporte avec une chanson en cours d'édition (faut-il enregistrer la chanson pour la rendre accessible par SMF Data Dump Request?). Quoiqu'il en soit, après avoir récupéré les mesures, on n'est pas prévenu lorsqu'elles changent. Si le but est de faciliter la correction, il risque de manquer un SysEx pour renvoyer les données corrigées**. Le SysEx SMF Data Dump Request peut donc avoir une utilité, mais elle est limitée.

            ** Je n'ai pas trouvé un SysEx permettant le retour de quelques mesures, mais la doc du Kronos dit au sujet du contenu du séquenceur "send the Song tothe KRONOS via MIDI SysEx ". Un SysEx permettant le retour devrait être disponible. Un SMF Data Dump n'est sensé qu'être transmis par le Kronos. En revanche un Object Dump peut être reçu. Cependant, je lis :

            NOTE: the sys/ex dump format for this undergoing a redesign. Song event dumps are currently disabled.

            Ainsi, il faudra attendre pour renvoyer des événements d'une chanson au Kronos.
            Dernière modification par floyer, 31 juillet 2016, 16h01.
            http://www.sinerj.org/~loyer/piano/

            It's never too late to learn to play the piano. (tip of the day)

            Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

            Commentaire


            • #7
              Les Sysex connus ce jour 31-07-2016

              Bonsoir,
              il y a le Sysex [79] de la doc qui permet de faire une demande de Dump de piste du séquenceur.
              Le Sysex [7A] est transmis en retour par le Kronos avec les données demandées!
              Une manière de faire est peut être de passer par le progiciel MAX !...
              Fichiers attachés

              Commentaire


              • #8
                Effectivement, SMF Data Dump request est le petit nom de [79].

                MAX est un terme trop générique pour faire une recherche Google, même MAX Kronos ne donne rien de bon. Aurais-tu le nom de l'éditeur?
                http://www.sinerj.org/~loyer/piano/

                It's never too late to learn to play the piano. (tip of the day)

                Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

                Commentaire


                • #9
                  Max est un prodiut de cycling74.
                  Il est mis en standard avec Ableton live suite.
                  Il n'y a qu'á ....

                  Commentaire


                  • #10
                    Merci! Je viens de jeter un (peut-être trop bref) coup d'œil à la doc (https://docs.cycling74.com/max7/). Si l'envoi d'un SysEx semble trivial avec, analyser le SysEx [7A] généré suite à [79] SMF Data Dump Request risque d'être difficile. La page sur les nombres et listes (https://docs.cycling74.com/max7/tuto...basicchapter03), semble indiquer qu'il faut utiliser pack/unpack pour créer/décomposer une liste... Je n'ai pas vu immédiatement d'accès indexé (a[i])... C'est au détour d'une autre page que je tombe sur "coll" qui semble permettre un accès indexé (mais pas sûr que cela soit adéquat) et "counter" pour faire des boucles... Mais tout cela est assez déconcertant. Je n'ai pas vu de fonctions sur les manipulations de bits (utiles pour analyser un flux SMF converti en 7bits). Au cas où les choses serait trop compliquées avec la logique de Max, on peut essayer l'intégration de Javascript.
                    Dernière modification par floyer, 01 août 2016, 22h36.
                    http://www.sinerj.org/~loyer/piano/

                    It's never too late to learn to play the piano. (tip of the day)

                    Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

                    Commentaire


                    • #11
                      La logique du truc, c'est plutôt : soit on séquence avec le séquenceur interne (limité) du Kronos, soit on fait tout depuis un séquenceur externe plus puissant (DAW).

                      Commentaire


                      • #12
                        Hello,

                        en C# tu as une libairie MIDI en native pour info
                        C'est parce que la vitesse de la lumière est supérieure à celle du son que certains ont l'air brillant avant d'avoir l'air con !

                        OnTheRoadAgain!

                        Korg Oasys 76 2Go EXs1 EXs2 EXs3 STR 1 MOD 7 LAC 1 Karma Oasys Software
                        Korg Pa4X 76
                        Yamaha XF7 Anniversary Karma Motif Software
                        Soundcraft UI16
                        Bundle Bose F1

                        Commentaire


                        • #13
                          Oui, je pense qu'il vaudrait mieux se baser sur un vrai langage de programmation comme le mentionne DotNET74.

                          Max est plus un processeur de signaux qu'un langage de programmation, je pense que le "tordre" pour en faire un éditeur de synthé n'est pas une solution simple
                          Hello, World!

                          Commentaire


                          • #14
                            Envoyé par DotNET74 Voir le message
                            Hello,

                            en C# tu as une libairie MIDI en native pour info
                            Effectivement, je trouve ici - https://msdn.microsoft.com/fr-fr/lib...idiinport.aspx - la documentation de la classe MidiInPort utilisable avec les différents langages .Net. Par contre, la page donne l'impression qu'une version 10 de Windows est requise (Device family Universal, introduced version 10.0.10240.0)... D'ailleurs, la bibliothèque ne semble utilisable qu'avec une application "Universal Windows". Avec une application "console" (plus simple à développer pour débuter -- "Console.WriteLine("Hello, world!"); suffit pour avoir quelque chose), Windows.Devices.MIDI n'est pas reconnu. Y aurait-il autre chose proposé par Microsoft ? Je n'ai pas trouvé.

                            En recherchant comment utiliser MIDI avec .Net, on trouve plutôt des réponses s'appuyant sur d'autres bibliothèques tierces (MIDI.NET ou encore C# MIDI toolkit par exemple), et ces dernières utilisent directement la DLL concernée (avec une déclaration de chaque fonction utilisée). On peut aussi déclarer soit même les fonctions et les utiliser. (Avec la balise [DllImport("winmm.dll")] pour indiquer où se trouve les fonctions déclarées), mais il faut se taper la déclaration des fonctions.
                            http://www.sinerj.org/~loyer/piano/

                            It's never too late to learn to play the piano. (tip of the day)

                            Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

                            Commentaire


                            • #15
                              Alors,

                              si u as pour but de développer une application digne de ce nom (Ne serait-ceque pour toi) je ne pense pas que le mode console soit utile mais plutôt uneperte de temps.


                              Et oui, lalibrairie MIDI de Microsoft n’est utilisable que sous Windows 10 en modeUniversal Application.

                              Après c’estvraiment pas compliqué ce type de développement …

                              C'est parce que la vitesse de la lumière est supérieure à celle du son que certains ont l'air brillant avant d'avoir l'air con !

                              OnTheRoadAgain!

                              Korg Oasys 76 2Go EXs1 EXs2 EXs3 STR 1 MOD 7 LAC 1 Karma Oasys Software
                              Korg Pa4X 76
                              Yamaha XF7 Anniversary Karma Motif Software
                              Soundcraft UI16
                              Bundle Bose F1

                              Commentaire

                              Chargement...
                              X