Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

6 - Le MIDI

> Forums de discussion > 6 - Le MIDI > Intercepter les entrées MIDI de libfluidsynth ?
Dernier post

Intercepter les entrées MIDI de libfluidsynth ?

CanardSynth utilisateur non connecté
Salut tout le monde !

J’ai un petit projet qui me trotte en tête depuis pas mal de temps: avoir un logiciel d’« ear training » qui serait capable de sortir les exercices d’entraînement d’oreille sur un port MIDI donné, que je pourrait router sur mes synthés hardware pour m’amuser et m’entraîner à reconnaître les accords avec différents sons (plutôt que toujours le même son d’un piano classique).

J’ai récemment découvert Minuet , le projet n’a pas l’air de bouger depuis 2016 (ça commence à dater), mais ce soft semble « presque » faire ce que je cherche.

Je dis presque, car le logiciel utilise Fluidsynth comme backend pour génerer les sons.

Malheureusement, je ne trouve pas de moyen simple d’intercepter la communication entre ce logiciel et Fluidsynth.

Si je lance un Fluidsynth depuis mon terminal, puis un coup de
aconnect -l
me montre effectivement un port d’entrée apparaître, mais pas si je lance Minuet. Dommage.

De ce que je comprends en lisant le code source de Minuet (plus précisément ce fichier , Minuet ne lance pas vraiment une instance (en tant que processus) de Fluidsynth, mais va plutôt passer par l’API de fluidsynth pour créer les sons (d’où la nécessité du paquet libfluidsynth-dev sous Debian pour compiler Minuet).

Vient donc ma question: est-ce qu’il existe une option magique de Fluidsynth (quitte à la rajouter dans la source de Minuet, ce n’est qu’une ligne de code), un fichier de configuration ou quelque chose à modifier pour que l’instance lancée par le logiciel ouvre un port MIDI sur lequel on pourrait écouter ? Un peu comme un « MIDI Thru » pour Fluidsynth.


L’option numéro 2 (que je préférerais éviter), serait d’aller bricoler le fichier source mis en lien plus haut pour forcer Minuet à ouvrir un port MIDI (en important la librairie d’ALSA) et à doubler tout ce qu’il envoie à Fluidsynth sur ce port MIDI, et compiler sa version de Minuet avec cette fonctionnalité. Faisable, mais un peu embêtant (et très bricolage). L’option numéro 3 (tout aussi embêtante même si faisable, et tout autant bricolage) serait de compiler sa version de libfluidsynth avec des « fausses fonctions » qui renvoient toutes les inputs sur un port MIDI donné, plutôt que de générer du son, et compiler Minuet avec cette « fausse librairie ».

Les experts de Fluidsynth du forum connaîtraient-ils une solution qui m’éviterait cela ?

Roto utilisateur non connecté France
Salut,

Je connaissais pas Menuet, çà a l'air sympa biggrin
Tu as regardé avec l'interface Qsynth si elle peut être utile ?

CanardSynth utilisateur non connecté
J’ai effectivement regardé un peu sur l’interface Qsynth (les interfaces graphique, c’est bien de temps en temps) s’il n’y avait pas quelque chose, mais malheureusement je n’ai rien trouvé. J’ai l’impression que fluidsynth n’a vraiment pas d’option « MIDI Through » et ne peut que lire des événements MIDI, pas en émettre.

Tant pis, j’ai plus qu’à coder biggrin

CanardSynth utilisateur non connecté
Au cas où cela intéresserait quelqu’un, je mets un lien vers un pastebin contenant un patch à appliquer au code source de Minuet pour rajouter la fonctionnalité dont je parlais. C’est à appliquer avec git dans le dossier racine du code source de Minuet.

jujudusud utilisateur non connecté France
Oui, merci !
Bravo pour ça. Est ce que tu penses demander aux développeurs d'intégrer ton travail dans leur logiciel ?

CanardSynth utilisateur non connecté
J’y ai songé, mais j’ai l’impression que le projet n’est plus activement maintenu (les derniers « vrai commits » sur le GitHub semblent dater de plus d’un an), du coup je n’ose pas trop (d’autant plus que rajouter un bout de code pour avoir un truc qui marche de son côté est bien différent d’écrire un truc « propre » qui a vocation à être intégré au code principal).

J’ai aussi encore quelques idées de trucs à ajouter au logiciel, notamment un type d’exercice qui manque crucialement: celui de reconnaissance de progressions d’accords et pas juste d’accords « seuls ». Je verrai ce que j’en fais une fois que ce sera fini :-D

jphaenlin utilisateur non connecté France
"je n’ose pas trop " écrit @CanardSynth
Il faut oser. Les fois où j'ai proposé des ajouts ou correctifs sur Github, ils ont toujours été bien accueillis. En plus, tes propositions peuvent ne pas être utilisées par le dév mais par une autre personne qui va rebondir dessus et les développer. Donc autant tenter.

olinuxx utilisateur non connecté France
+1 , il faut oser et partager le code et les bonnes idées.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]


Mégaphone [Afficher / Cacher]

calixtus06, 19:15, mer. 12 Feb 2025: Bonjour et bienvenue à OLIVIER HAGE et Kirtash :-)
allany, 21:45, sam. 08 Feb 2025: Mais il est jovial, cet éditorial ! [Lien]
calixtus06, 20:39, dim. 02 Feb 2025: Bonjour et bienvenue à Lehcim :-)
calixtus06, 21:42, ven. 31 Jan 2025: Bonjour et bienvenue à HK et Goujon31 :-)
calixtus06, 13:59, sam. 25 Jan 2025: Bonjour et bienvenue à AIL, LMCAB, arieugon, pandaudio :-)
calixtus06, 11:53, sam. 18 Jan 2025: Bonjour et bienvenue à medijskestudije, xno80b0, mawoho8836@xcmexicoboscofreshfest17, totosearchsite, politicadeverdade, ErParucca :-)
calixtus06, 13:48, mar. 14 Jan 2025: Bonjour et bienvenue à ratatouilleveganfood, totosearchsitee, eatruntown, dmxofficial, tobadge, onlinecasinokr365, eatruncovid, verificationnara, dependtotosite, casinohunter24, totosid, voxtempli :-)
allany, 10:10, jeu. 09 Jan 2025: Ho Ho Ho mais c'est l'édito ! [Lien]
calixtus06, 08:20, ven. 03 Jan 2025: Bonjour et bienvenue à gndl :-)
calixtus06, 14:17, jeu. 02 Jan 2025: Bonjour et bienvenue à leek :-)
FRANCK HUMBERT, 16:23, mar. 31 Dec 2024: bon bout d'an !
olinuxx, 15:03, mar. 31 Dec 2024: Je vous souhaite une très chouette année 2025. Utile, enjouée, et pleine de réussites autant personnelles que collectives. À vous et à vos proches. Rendez-vous l'année prochaine !