DivideConcept.net

le blog de divide.

FluidLite, un synthétiseur logiciel SoundFont open source

Pour mon prochain logiciel j’avais besoin d’un synthé software qui soit capable de reproduire un nombre assez large d’instruments de manière réaliste, tout en restant le plus léger et portable possible (je vise Windows, Mac, Android et iOS entre autres).

Roland Synth

Mon choix s’est porté sur le format SoundFont, qui permet de stocker un très grande nombre d’échantillons d’instruments en un seul fichier avec leurs principales caractéristiques dynamiques. Le logiciel open source Polyphone permet de créer, gérer et convertir très facilement ces collections. On trouve par ailleurs de nombreuses banques de qualité contenant tous les instruments General MIDI gratuitement au format SoundFont, par exemple FluidR3 et Arachno.

Coté programmation, au niveau des librairies il en existe très peu capables de gérer ce format, la plus connue et la seule fiable étant FluidSynth. Mais telle quelle, c’est un peu un bordel à compiler, surtout si on gère plusieurs OS/plateformes/hardware, certaines dépendances de cette librairie n’existant tout simplement pas sur certaines plateformes.

J’en ai donc fait une version ultra-allégée, qui n’a plus aucune dépendance (juste les librairies C standards), capable de gérer le nouveau format SF3 (une version compressée en Ogg Vorbis du format SF2, donc possibilité de réduire par 10 la taille des banques) et qui ne force plus la batterie sur le canal 10 (restriction à la con du format MIDI).

Bien sur, elle ne gère plus les sorties sons, ni la lecture de fichiers MIDI, mais l’essentiel est là : on lui donne une banque SoundFont (fichier format SF2 ou SF3), on précise quel instrument on veux sur tel canal, on envois les événements de notes et d’effets et on récupère des buffers audio bruts au fur et à mesure.

A vous d’utiliser votre framework/moteur préféré pour faire la sortie audio en lui passant ces buffers, et si vous avez besoin de lire des fichiers MIDI je vous recommande l’excellente librairie Midifile.

La librairie FluidLite est dispo ici: https://github.com/divideconcept/FluidLite

5 commentaires pour “FluidLite, un synthétiseur logiciel SoundFont open source”

  1. faelnor dit :

    Très très cool, et je pourrais bien en avoir besoin. Merci !
    Je ferai un retour si je peux :)

  2. khelben dit :

    Pas mal, merci pour le share ! Etant donné que pas mal d’instrus au format soundfont sont d’assez basse qualité, ça mériterait bien la possibilité de convoluer par des impulses. J’en ai une tonne si tu veux.
    C’est quoi ton prochain logiciel sinon ?

  3. divide dit :

    Merci, c’est cool de voir que ça peut servir à d’autres !

    khelben: “ça mériterait bien la possibilité de convoluer par des impulses” Je dois avouer que je n’ai pas trop compris ta phrase :D Tu parles d’effets là non ? Tu pourrais préciser un peu ?

    Mon prochain soft sera une sorte de home-studio simplifié qui retranscrira directement les notes chantés et beat-boxés en pistes d’instruments et de batterie.

  4. khelben dit :

    L’article audiofanzine sur la convolution dans l’audio : http://fr.audiofanzine.com/plugin-reverb/editorial/dossiers/viva-la-convolution.html (super intéressant et excessivement rapide à coder sauf par skaven <3 ).

    Super sympas ton idée, si jamais tu as des trucs à test/amélioré ca fait 10 ans que je fais du sound design, je serais ravie de t’aider ;)

  5. divide dit :

    Ah oui, tu parlais bien d’effets, j’avais un doute par rapport au début de la phrase sur la qualité des instruments.
    Quoi qu’il en soit les effets genre reverb sont prévus au programme !

    Avec plaisir pour le feedback, en temps voulu :)

Laisser un commentaire

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

Vous pouvez, entre autres, utiliser les tags XHTML suivant :
<a href="" title="">...</a>,<b>...</b>,<blockquote cite="">...</blockquote>,<code>...</code>,<i>...</i>