Faciliter vos propres programmes en Java grâce à SkyMonome
- 5 réponses
- 3 participants
- 967 vues
- 2 followers
pjskyman
134
Posteur·euse AFfiné·e
Membre depuis 19 ans
Sujet de la discussion Posté le 09/08/2009 à 15:33:51Faciliter vos propres programmes en Java grâce à SkyMonome
Bonjour à tous,
Initialement pour mes propres besoins, j'ai développé une librairie Java qui facilite les développements d'applications musicales, graphiques (ou autres !) avec un Monome.
L'idée est simple : on manipule/contrôle les boutons et les leds grâce à des entités virtuels interactifs et évolutifs. Tout est modulaire dans l'utilisation de cette librairie. Elle s'adresse aux développeurs Java intermédiaires voire experts, mais les débutants seront tout à fait capables d'arriver à leurs fins dès qu'ils auront compris le concept d'interface en Java et certains designs patterns comme celui des listeners.
Au départ, je suis parti de la librairie JavaOSC qui permet de dialoguer facilement sur le protocole OSC, et j'ai greffé mes développements dessus, au point d'en être arrivé aujourd'hui à un ensemble d'environ 70 classes/interfaces prêtes à l'emploi.
La librairie est fourni à titre préliminaire sur un site que j'ai créé à cet effet : https://www.skymonome.org
Ceci dit, je suis encore en ce moment en train de paufiner l'ensemble et corriger les derniers bugs, s'il en reste. Dès que tout sera prêt, je posterai sur ce site un toturiel et des exemples d'utilisation. Les plus débrouillards d'entre vous peuvent déjà s'en servir à l'instinct, la Javadoc déjà fournie et visitable en ligne aide grandement la découverte de cette librairie. Le meilleur exemple concret quant à l'utilisation de cette librairie est la vidéo suivante, qui met aussi en oeuvre un synthé mythique : l'Arturia Origin : https://www.youtube.com/watch?v=3jsyrgHJH5g
Sur cette vidéo, j'ai utilisé la classe MultiSequencerGroup de la librairie, et cette classe travaille sur une séquence de notes d'une gamme pentatonique mineure. Notez également que toutes les 2 colonnes, on a une octave de différence. Les notes sont ensuite envoyées à l'Origin via le protocole Midi.
En espérant que mes travaux aident le plus grand nombre ! Visiblement, sur les forum du site officiel des Monome, cela intéresse déjà quelques utilisateurs javatistes.
Si vous avez des questions, c'est volontiers que j'y réponds !
Initialement pour mes propres besoins, j'ai développé une librairie Java qui facilite les développements d'applications musicales, graphiques (ou autres !) avec un Monome.
L'idée est simple : on manipule/contrôle les boutons et les leds grâce à des entités virtuels interactifs et évolutifs. Tout est modulaire dans l'utilisation de cette librairie. Elle s'adresse aux développeurs Java intermédiaires voire experts, mais les débutants seront tout à fait capables d'arriver à leurs fins dès qu'ils auront compris le concept d'interface en Java et certains designs patterns comme celui des listeners.
Au départ, je suis parti de la librairie JavaOSC qui permet de dialoguer facilement sur le protocole OSC, et j'ai greffé mes développements dessus, au point d'en être arrivé aujourd'hui à un ensemble d'environ 70 classes/interfaces prêtes à l'emploi.
La librairie est fourni à titre préliminaire sur un site que j'ai créé à cet effet : https://www.skymonome.org
Ceci dit, je suis encore en ce moment en train de paufiner l'ensemble et corriger les derniers bugs, s'il en reste. Dès que tout sera prêt, je posterai sur ce site un toturiel et des exemples d'utilisation. Les plus débrouillards d'entre vous peuvent déjà s'en servir à l'instinct, la Javadoc déjà fournie et visitable en ligne aide grandement la découverte de cette librairie. Le meilleur exemple concret quant à l'utilisation de cette librairie est la vidéo suivante, qui met aussi en oeuvre un synthé mythique : l'Arturia Origin : https://www.youtube.com/watch?v=3jsyrgHJH5g
Sur cette vidéo, j'ai utilisé la classe MultiSequencerGroup de la librairie, et cette classe travaille sur une séquence de notes d'une gamme pentatonique mineure. Notez également que toutes les 2 colonnes, on a une octave de différence. Les notes sont ensuite envoyées à l'Origin via le protocole Midi.
En espérant que mes travaux aident le plus grand nombre ! Visiblement, sur les forum du site officiel des Monome, cela intéresse déjà quelques utilisateurs javatistes.
Si vous avez des questions, c'est volontiers que j'y réponds !
Lvr
1459
AFicionado·a
Membre depuis 21 ans
2 Posté le 15/10/2009 à 12:35:58
Super intéressant. Je n'aime pas programmer car quand je m'y mets je n'arrive plus à m'arrêter et j'en oublie la partie créative. Tout ça pour dire que ça m'intéresse pas mal. J'étais en plus en train de me demander si je n'intégrerait pas le support OSC dans mon tool (voir ma signature).
Dans ta vidéo sur youtube, tu as procédé comment ? Un listener qui, sur base du row et col, détermine la forme de la séquence (les colonnes) et le pitch (ligne) et balance des events Midi (ShortMessage) vers une sortie connectée à ton Arturia ?
Le programme pour réaliser cela est un petit programme standalone ? Combien de lignes (mis à part les librairies) ? Je suppose qu'il ne doit pas être bien gros.
Dans ta vidéo sur youtube, tu as procédé comment ? Un listener qui, sur base du row et col, détermine la forme de la séquence (les colonnes) et le pitch (ligne) et balance des events Midi (ShortMessage) vers une sortie connectée à ton Arturia ?
Le programme pour réaliser cela est un petit programme standalone ? Combien de lignes (mis à part les librairies) ? Je suppose qu'il ne doit pas être bien gros.
J'avais perdu mes tablatures, Zploger me les a retrouvées.
pjskyman
134
Posteur·euse AFfiné·e
Membre depuis 19 ans
3 Posté le 15/10/2009 à 17:18:47
Hello !
Depuis l'écriture de mon premier message, j'ai sorti la version 1.1 de ma librairie qui inclut la gestion des gammes musicales, il reste donc uniquement la gestion du Midi qui reste à faire à la main.
En fait Lvr, tu as vu juste ! C'est bien suivant l'index des lignes et des colonnes que je calcule les notes à jouer à chaque étape de séquence, et je balance tout ça dans des objets ShortMessage. Après c'est un MidiSport USB qui permet de brancher mes instrus en Midi, donc l'Arturia Origin. Avec la version 1.1, le calcul des notes à jouer est automatique, inutile de faire des opérations fastidieuses avec les lignes et les colonnes !
Quelques jours après avoir publié cette version 1.1, j'ai également publié sur mon site un exemple nommé "Itlum" (anagramme de multi pour les curieux) qui permet de faire exactement pareil que sur ma vidéo initiale, avec en prime une interface graphique simple et synchronisée avec le Monome. Le code source de Itlum est bien sûr fourni pour mieux comprendre comment fonctionne SkyMonome en "conditions réelles". Pour finir de te répondre Lvr, Itlum est bel et bien standalone et relativement petit si on omet toute l'IHM. J'ai même séparé par paragraphes la partie IHM et la partie construction des objets de l'arbre virtuel du Monome (la partie qui utilise directement la librairie SkyMonome).
Il est prévu incessamment sous peu que je publie la version 1.2 de SkyMonome qui gère des Monomes de taille supérieure à 8x8, donc avis aux amateurs de 128, 256, 80h, 100h ;-)
Au plaisir !
Depuis l'écriture de mon premier message, j'ai sorti la version 1.1 de ma librairie qui inclut la gestion des gammes musicales, il reste donc uniquement la gestion du Midi qui reste à faire à la main.
En fait Lvr, tu as vu juste ! C'est bien suivant l'index des lignes et des colonnes que je calcule les notes à jouer à chaque étape de séquence, et je balance tout ça dans des objets ShortMessage. Après c'est un MidiSport USB qui permet de brancher mes instrus en Midi, donc l'Arturia Origin. Avec la version 1.1, le calcul des notes à jouer est automatique, inutile de faire des opérations fastidieuses avec les lignes et les colonnes !
Quelques jours après avoir publié cette version 1.1, j'ai également publié sur mon site un exemple nommé "Itlum" (anagramme de multi pour les curieux) qui permet de faire exactement pareil que sur ma vidéo initiale, avec en prime une interface graphique simple et synchronisée avec le Monome. Le code source de Itlum est bien sûr fourni pour mieux comprendre comment fonctionne SkyMonome en "conditions réelles". Pour finir de te répondre Lvr, Itlum est bel et bien standalone et relativement petit si on omet toute l'IHM. J'ai même séparé par paragraphes la partie IHM et la partie construction des objets de l'arbre virtuel du Monome (la partie qui utilise directement la librairie SkyMonome).
Il est prévu incessamment sous peu que je publie la version 1.2 de SkyMonome qui gère des Monomes de taille supérieure à 8x8, donc avis aux amateurs de 128, 256, 80h, 100h ;-)
Au plaisir !
pjskyman
134
Posteur·euse AFfiné·e
Membre depuis 19 ans
4 Posté le 15/10/2009 à 17:19:56
Lvr, je jette un oeil sur ta librairie ce soir !
remax_ren
36
Nouvel·le AFfilié·e
Membre depuis 20 ans
5 Posté le 11/12/2009 à 10:03:41
Salut,
je viens juste de tomber sur ta librairie et je constate que c'est exactement ce que je cherchais et que je ne trouvais pas il y a un an.
Je m'y mets ce soir. J'essayerai de donner quelques retours, quand je l'aurai suffisamment explorée.
Bon courage pour là suite
je viens juste de tomber sur ta librairie et je constate que c'est exactement ce que je cherchais et que je ne trouvais pas il y a un an.
Je m'y mets ce soir. J'essayerai de donner quelques retours, quand je l'aurai suffisamment explorée.
Bon courage pour là suite
pjskyman
134
Posteur·euse AFfiné·e
Membre depuis 19 ans
6 Posté le 15/01/2010 à 20:17:16
Salut,
Alors tu t'en sors ? Tu arrives à tes fins ?
PJ
Alors tu t'en sors ? Tu arrives à tes fins ?
PJ
- < Liste des sujets
- Charte