Présentation d'un soft de controle MIDI pour le Volca FM
- 7 réponses
- 5 participants
- 1 999 vues
- 6 followers
MacFaerley
32
Nouvel·le AFfilié·e
Membre depuis 9 ans
Sujet de la discussion Posté le 29/05/2017 à 23:01:21Présentation d'un soft de controle MIDI pour le Volca FM
Bonjour,
Voici un programme de contrôle MIDI pour le Volca FM que j'ai écris afin d'étendre un peu les fonctionnalités de ce petit synthé. Parmi les fonctionnalités les plus souhaité sur que j'ai pu lire sur le net, j'ai principalement retenue la gestion de la vélocité et la possibilité de synchroniser deux Volca FM pour étendre la polyphonie à 6 notes
Ce programme ayant été écrit en JAVA, il est compatible Windows, Mac et Linux. Il suffit que l'environnement d’exécution JAVA soit installé et à jour sur votre machine (Ce qui est normalement le cas de base sur ces environnements)
Le programme est disponible sous forme d'archive zip en téléchargement à l'adresse suivante :
volcaFmVelocityProc
Il ne nécessite pas d'installation. Il suffit simplement de décompresser l'archive là ou vous le souhaité et d’exécuter le fichier volcaFMVelocityProc.jar présent à la racine du répertoire extrait.
J'ai encore un certains nombre d'idées pour faire évoluer ce programme. Voici les évolutions prévues pour le moment. Si vous voyez d'autre choses n’hésitez pas à me le faire savoir ici. Je verrais en fonction des priorités et de mon temps libre
Fonctionnalité déjà présente :
- Gestion de la vélocité par envoie du message CC 42 à chaque note joué
- Éditeur de courbe de vélocité (avec possibilité de sauver et charger les courbes crées)
- Synchronisation de 2 volca FM pour simuler un système polyphonique 6 notes
Futures évolutions :
- Changer de nom. Après tout mon programme fait maintenant autre chose que gérer la vélocité ^^
- Ajout d'un gestionnaire de fichier Sysex simple
- Refonte de l'IHM
- Rédaction d'une documentation
- Mise en place d'un site web dédié
- Ajout d'un éditeur de fichier sysex
- Ajout d'un séquenceur simple
- Analyse du SDK Korg pour le Volca Sample afin de récupérer les patch et séquence du Volca FM via la prise sync
Ce programme est distribué gratuitement sous licence libre CeCill.
Le code source est fournis de base avec le logiciel dans le répertoire "sources"
Voici un programme de contrôle MIDI pour le Volca FM que j'ai écris afin d'étendre un peu les fonctionnalités de ce petit synthé. Parmi les fonctionnalités les plus souhaité sur que j'ai pu lire sur le net, j'ai principalement retenue la gestion de la vélocité et la possibilité de synchroniser deux Volca FM pour étendre la polyphonie à 6 notes
Ce programme ayant été écrit en JAVA, il est compatible Windows, Mac et Linux. Il suffit que l'environnement d’exécution JAVA soit installé et à jour sur votre machine (Ce qui est normalement le cas de base sur ces environnements)
Le programme est disponible sous forme d'archive zip en téléchargement à l'adresse suivante :
volcaFmVelocityProc
Il ne nécessite pas d'installation. Il suffit simplement de décompresser l'archive là ou vous le souhaité et d’exécuter le fichier volcaFMVelocityProc.jar présent à la racine du répertoire extrait.
J'ai encore un certains nombre d'idées pour faire évoluer ce programme. Voici les évolutions prévues pour le moment. Si vous voyez d'autre choses n’hésitez pas à me le faire savoir ici. Je verrais en fonction des priorités et de mon temps libre
Fonctionnalité déjà présente :
- Gestion de la vélocité par envoie du message CC 42 à chaque note joué
- Éditeur de courbe de vélocité (avec possibilité de sauver et charger les courbes crées)
- Synchronisation de 2 volca FM pour simuler un système polyphonique 6 notes
Futures évolutions :
- Changer de nom. Après tout mon programme fait maintenant autre chose que gérer la vélocité ^^
- Ajout d'un gestionnaire de fichier Sysex simple
- Refonte de l'IHM
- Rédaction d'une documentation
- Mise en place d'un site web dédié
- Ajout d'un éditeur de fichier sysex
- Ajout d'un séquenceur simple
- Analyse du SDK Korg pour le Volca Sample afin de récupérer les patch et séquence du Volca FM via la prise sync
Ce programme est distribué gratuitement sous licence libre CeCill.
Le code source est fournis de base avec le logiciel dans le répertoire "sources"
[ Dernière édition du message le 12/06/2017 à 23:42:55 ]
MacFaerley
32
Nouvel·le AFfilié·e
Membre depuis 9 ans
2 Posté le 06/06/2017 à 08:12:35
Mise à jour du logiciel :
- Ajout de la possibilité de sauvegarder / charger ses courbes de vélocité
- Ajout d'un système de journalisation pour aider au débogage
Si vus avez essayé ce programme et rencontré des bugs, n’hésitez pas à me les remonter ici
- Ajout de la possibilité de sauvegarder / charger ses courbes de vélocité
- Ajout d'un système de journalisation pour aider au débogage
Si vus avez essayé ce programme et rencontré des bugs, n’hésitez pas à me les remonter ici
[ Dernière édition du message le 12/06/2017 à 23:15:07 ]
MacFaerley
32
Nouvel·le AFfilié·e
Membre depuis 9 ans
3 Posté le 12/06/2017 à 13:38:22
Mise à jour du premier message ainsi que du logiciel (V0.3) :
- Ajout de la possibilité de synchroniser deux Volca FM pour simuler un système polyphonique 6 notes
- Distribution sous licence libre CeCill
- Mise à disposition du code source
Petite explication technique de ce que fait mon programme au niveau MIDI
Gestion de la vélocité :
De base l'implémentation MIDI du Volca FM ne prend pas en compte le paramètre vélocité dans les messages MIDI NOTE ON et NOTE OFF (Enfin pour être plus précis, si la vélocité est égale à 0, pas de son, sinon il utilise la valeur définie par le slider physique "Velocity" du Volca FM)
La valeur du slider étant contrôlable par le message CONTROL CHANGE 42 (0x29) une solution pour gérer dynamiquement la vélocité sur le Volca FM consiste à intercepter et analyser chaque message NOTE ON pour en extraire le paramètre vélocité puis à envoyer un message CONTROL CHANGE avant de retransmettre la note.
C'est ce qui est fait ici.
J'en profite par la même occasion pour calculer la vélocité à envoyer à partir de la courbe de vélocité
Synchronisation de deux Volca FM pour simuler un système polyphonique 6 notes :
Il existe plusieurs moyens de gérer la polyphonie.
Une solution basique consisterait à ne plus prendre en compte un message NOTE ON une fois atteint le nombre de note maximum joué simultanément.
Ça ne semble pas être la solution retenue pour le Volca FM. Une fois les 3 notes maximum jouées, si on en joue une nouvelle, celle ci est bien jouée par le synthé et la plus vieille note jouée est alors stoppée (c'est en tout cas mon impression, si je me trompe, n’hésitez pas à me corriger). C'est donc la solution que j'ai retenue dans le cadre de mon programme et que je vais détailler un peu si dessous :
Je commence par définir 6 "emplacements" pour mes notes. Les trois premiers correspondent au premier volca FM et les 3 derniers au second.
Quand une note est joué, je cherche le premier emplacement disponible.
Si il y en as un, je note alors la note et la date à laquelle celle ci est jouée puis j'envoie un message NOTE ON au Volca FM correspondant à l'emplacement.
Si il n'y a pas d'emplacement disponible, je cherche la plus vieille note jouée, j’envoie un message NOTE OFF pour cette note au Volca FM correspondant puis je procède comme dans le cas précédent.
Enfin, quand une note est relâché, je cherche l'emplacement correspondant, je le libère et j’envoie un message NOTE OFF pour cette note au Volca FM correspondant
Tous les messages autre que NOTE ON et NOTE OFF sont transmis au deux Volca FM simultanément.
- Ajout de la possibilité de synchroniser deux Volca FM pour simuler un système polyphonique 6 notes
- Distribution sous licence libre CeCill
- Mise à disposition du code source
Petite explication technique de ce que fait mon programme au niveau MIDI
Gestion de la vélocité :
De base l'implémentation MIDI du Volca FM ne prend pas en compte le paramètre vélocité dans les messages MIDI NOTE ON et NOTE OFF (Enfin pour être plus précis, si la vélocité est égale à 0, pas de son, sinon il utilise la valeur définie par le slider physique "Velocity" du Volca FM)
La valeur du slider étant contrôlable par le message CONTROL CHANGE 42 (0x29) une solution pour gérer dynamiquement la vélocité sur le Volca FM consiste à intercepter et analyser chaque message NOTE ON pour en extraire le paramètre vélocité puis à envoyer un message CONTROL CHANGE avant de retransmettre la note.
C'est ce qui est fait ici.
J'en profite par la même occasion pour calculer la vélocité à envoyer à partir de la courbe de vélocité
Synchronisation de deux Volca FM pour simuler un système polyphonique 6 notes :
Il existe plusieurs moyens de gérer la polyphonie.
Une solution basique consisterait à ne plus prendre en compte un message NOTE ON une fois atteint le nombre de note maximum joué simultanément.
Ça ne semble pas être la solution retenue pour le Volca FM. Une fois les 3 notes maximum jouées, si on en joue une nouvelle, celle ci est bien jouée par le synthé et la plus vieille note jouée est alors stoppée (c'est en tout cas mon impression, si je me trompe, n’hésitez pas à me corriger). C'est donc la solution que j'ai retenue dans le cadre de mon programme et que je vais détailler un peu si dessous :
Je commence par définir 6 "emplacements" pour mes notes. Les trois premiers correspondent au premier volca FM et les 3 derniers au second.
Quand une note est joué, je cherche le premier emplacement disponible.
Si il y en as un, je note alors la note et la date à laquelle celle ci est jouée puis j'envoie un message NOTE ON au Volca FM correspondant à l'emplacement.
Si il n'y a pas d'emplacement disponible, je cherche la plus vieille note jouée, j’envoie un message NOTE OFF pour cette note au Volca FM correspondant puis je procède comme dans le cas précédent.
Enfin, quand une note est relâché, je cherche l'emplacement correspondant, je le libère et j’envoie un message NOTE OFF pour cette note au Volca FM correspondant
Tous les messages autre que NOTE ON et NOTE OFF sont transmis au deux Volca FM simultanément.
[ Dernière édition du message le 12/06/2017 à 23:39:23 ]
KaOsphere
1052
AFicionado·a
Membre depuis 22 ans
4 Posté le 12/07/2017 à 22:00:52
Perso j'utilise le retrokit qui fait exactement ça ou un patch usine qui récupère la vélocité et la rebalance sur le bon cc.
Le vrai truc qui serait intéressant c'est un petit vst qui pourrait envoyer les sysex de patch émuler des pchange.
Par contre, merci de partager ton taff ! Vraiment cool !
Le vrai truc qui serait intéressant c'est un petit vst qui pourrait envoyer les sysex de patch émuler des pchange.
Par contre, merci de partager ton taff ! Vraiment cool !
https://flvctvat.bandcamp.com/
En Français, "versatil(e)" ne signifie pas "polyvalent" !
Midi processing dans Bitwig avec The grid : https://youtu.be/iZibmJVIgWI?feature=shared
davidsynthé
493
Posteur·euse AFfamé·e
Membre depuis 20 ans
5 Posté le 20/08/2017 à 23:14:10
Oui, merci beaucoup !!!
MacFaerley
32
Nouvel·le AFfilié·e
Membre depuis 9 ans
6 Posté le 28/08/2017 à 00:06:56
Merci,
Pas eu beaucoup de temps pour y travailler cet été, mais ça devrait bouger un peu en septembre.
Certains on essayé de combiner deux Volca FM ? Je serais curieux d'avoir un retour sur ce sujet. N'ayant pas moi même deux Volca FM, j'ai travaillé avec un autre expandeur. Du coup je ne serais pas contre une démo ^^
Pas eu beaucoup de temps pour y travailler cet été, mais ça devrait bouger un peu en septembre.
Certains on essayé de combiner deux Volca FM ? Je serais curieux d'avoir un retour sur ce sujet. N'ayant pas moi même deux Volca FM, j'ai travaillé avec un autre expandeur. Du coup je ne serais pas contre une démo ^^
pedroducoin
58
Posteur·euse AFfranchi·e
Membre depuis 19 ans
7 Posté le 16/11/2018 à 16:11:42
merci !!!!!!
Jyerre84
29
Nouvel·le AFfilié·e
Membre depuis 9 ans
8 Posté le 18/04/2021 à 20:54:26
Bonjour,
Je déterre ce post parce que je cherche depuis un mois sur le net sans trouver un moyen de rapatrier sur ordi les séquences PRG programmés sur Voca Drum.
Je pense que le principe serait le même sur Volca FM.
J'ai bricolé sur le Volka Drum une MIDI OUT qui me permet de retrouver sur l'ordi les 16 Kits et les 6 Parts (Drums) mais je ne parviens pas à récupérer autrement qu'en fichier audio via Synch Out (et non MIDI) avec le soft vosyr.app, les réglages entrés. Un fil sur Zikinf explique mon travail :
https://www.zikinf.com/forums/boite-rythme-volca-drum-manuel-nul-soft-genial-tuto-t5152801.html#p552779
En résumé, ma question est donc : comment récupérer (depuis le Volca modifié MIDI OUT) , sauvegarder (sur ordi) et réinjecter (sur le Volca) la programmation des 16 pas d'un programme ?
Merci.
Je déterre ce post parce que je cherche depuis un mois sur le net sans trouver un moyen de rapatrier sur ordi les séquences PRG programmés sur Voca Drum.
Je pense que le principe serait le même sur Volca FM.
J'ai bricolé sur le Volka Drum une MIDI OUT qui me permet de retrouver sur l'ordi les 16 Kits et les 6 Parts (Drums) mais je ne parviens pas à récupérer autrement qu'en fichier audio via Synch Out (et non MIDI) avec le soft vosyr.app, les réglages entrés. Un fil sur Zikinf explique mon travail :
https://www.zikinf.com/forums/boite-rythme-volca-drum-manuel-nul-soft-genial-tuto-t5152801.html#p552779
En résumé, ma question est donc : comment récupérer (depuis le Volca modifié MIDI OUT) , sauvegarder (sur ordi) et réinjecter (sur le Volca) la programmation des 16 pas d'un programme ?
Merci.
- < Liste des sujets
- Charte