joliclic blog

Aller au contenu | Aller au menu | Aller à la recherche

mardi, juillet 2 2013

Music Toys: On recommence

this post is also available in english

Bon, visiblement j'étais trop pressé de vous montrer Music Toys, les installeurs marchaient pas bien...

Voici donc une nouvelle beta (0.9beta5) qui ce coup-ci devrait marcher ;) .

Pour rappel, Music Toys est une collection de petites applis orientées musique, basée sur l'intégration de FluidSynth dans Firefox, donc d'un synthétiseur utilisant des soundfonts.
Les applis sont:

  • un clavier temps réel, utilisant la souris ou le clavier physique
  • une boite à rythme
  • un lecteur de fichier midi

Comme nouveautés depuis la première publication (que vous n'avez donc pas pu essayé), il est possible d'enregistrer ce qu'on joue avec le clavier, puis de le rejouer, ou de l'exporter en fichier Midi. C'était une demande d'un lecteur de linuxfr ;) .
Et la boite à rythme peut également exporter le morceau en cours en fichier Midi.

Je vous remet la même vidéo que dans le premier billet:

liens directs vers la vidéo :
musictoys.mp4 | musictoys.webm | musictoys.ogv

Vous pouvez télécharger l'appli sur sa page dediée (deb/rpm/tar.gz pour Linux, des installeurs pour Windows et Mac OSX (avec inclus la lib FluidSynth et une soundfont par défaut).
C'est toujours en version beta, n'hésitez pas à me signaler tout bug/avis !

Music Toys: Start again

ce billet existe aussi en français

Well, it seems I have been too impatient to show you my last experiment, Music Toys, the installers did not work... So, let's try again, here is a new beta (0.9beta5) that should work this time .)

As a reminder, Music Toys is a collection of small apps music oriented, based on the integration of FluidSynth in Firefox, a synthesizer using soundfonts.
Current apps:

  • a realtime Keyboard, with the mouse or the physical keyboard
  • a Drum Machine
  • a Midi File Player

New since the first publication, the Keyboard has a mini sequencer, you can record when you play, then read it, or export it as Midi File.. It was a request from a reader of linuxfr ;).
The Drum Machine can export patterns as Midi Files also.

Here's the same screencast as in the first post:

direct links to the video:
musictoys.mp4 | musictoys.webm | musictoys.ogv

You can download the app from his dedicated page (deb/rpm/tar.gz for Linux, installers for Windows and Mac OSX (with the FluidSynth lib embedded and a default soundfont).
It's again a beta version, don't hesitate to report me all bug/opinion !

jeudi, mai 16 2013

Music Toys: a synthesizer inside Firefox

ce billet existe aussi en français

Take Firefox, FluidSynth, js-ctypes, a sf2 soundfont, shake all of that, tadaaa... a real synthetizer, usable in real-time or as a sequencer, inside my browser :) .

FluidSynth is a cross platform C library that uses sf2 soundfonts.
At the beginning, it was an experiment, opening this lib via js-ctypes in Firefox, to play with it.

But it worked so well, so I have created 3 little apps, combined in a collection named Music Toys, which can be launched as a Firefox extension, or as a standalone XULRunner application (launchable with Firefox).
These apps are all in JavaScript, using part of the FluidSynth API through js-ctypes.


  • The first app is a Keyboard, real-time and polyphonic, with 128 available instruments. You can play with your mouse, or the physical keyboard of your computer.


  • The second app is a Drum Machine. It consists in a list of tracks, divided in bars, beats per bar, and divisions per beat, containing buttons to switch on notes (with variable velocity).
    47 different percussion instruments are available, and you can change the drumkit.
    Change the tempo, play in real time your pattern in a loop. And you can save/open your patterns in files.


  • The third app is a Midi Player. It can read standard mid files (SMF), RMI encapsulated or not, and kar files.
    You can seek in the file, pause, change the volume, modify the tonality.

A little screencast of all of that:

direct links to the video:
musictoys.mp4 | musictoys.webm | musictoys.ogv

If you want to try it, you can download it from its dedicated page: Music Toys.
There's standalone versions for Linux, Windows, and Mac OSX (with the FluidSynth lib embedded and a default soundfont), and the Firefox extension.
All the source code is MPL 2.

We can imagine more.

It is conceivable to create an extension for Firefox which expose only the FluidSynth wrapper lib, and extension authors can access it.
More, why not expose some basic objects like a Synth to web page, it should be possible (but need to be careful with security).

Secondly, perhaps it's possible to compile FluidSynth on Android, some Web research reveals that some seems able to, so an extension for Firefox Mobile may be possible.
And perhaps FluidSynth can be compiled for Firefox OS too (Fluidsynth need glib)?

But for now, let me know what you think about that, and if this beta works for you, I've tested mostly under Linux, so your feedback from various Windows, 32 or 64 bit, and Mac, will be precious ;) .