Matthieu Jacquot



Ne figure ici que l'actualité en tant que développeur, chaque section ci-dessus est mise à jour individuellement.


  • 02/03/2016 : la démo expérimentale de Living Electronics est disponible! (Windows) [maj : 06/03/2016]
  • 10/01/2016 : le premier prototype de la nouvelle version de MelisMe est testé avec succès, PoC == success => il n'y a plus qu'à trouver le temps de réaliser le projet!
  • 01/10/2015 : Parution dans le magazine 36.000 communes d'un article soutenant les Guides Virgile
  • 21/09/2015 : Grand test des Guides Virgile lors des Journées du Patrimoine, aucun souci technique, on passe en mode production!

Développement généraliste

les Guides Virgile (2015)


Les Guides Virgile sont une collection d'applications mobiles (iOS & Android) permettant aux petites communes de promouvoir leur patrimoine.
Fruit d'une longue collaboration avec des Offices de Tourisme et des mairies ils ont été spécialement pensés pour les petites et moyennes structures et répondent à 5 principes.
  • être accessible financièrement à toute structure
  • être accessible techniquement à toute structure
  • faire venir des visiteurs sur place
  • respecter le travail déjà accompli
  • promouvoir l'économie locale
Tous les détails sur le site du projet :
Descriptif pour les utilisateurs :

Descriptif pour les administrateurs :

MelisMe (depuis 2014)


MelisMe est un site web international permettant de donner plus de visibilité aux artistes de part le monde en tentant de contourner grâce à un moteur de découverte les défauts inhérents aux moteurs de recherche et aux réseaux sociaux
Site entièrement gratuit, il permet aux artistes aussi bien qu'aux lieu de créer de mini sites webs géolocalisés.
Il est dès le lancement tombé dans un cercle vicieux dû à son aspect ouvert permettant de voir qu'il n'y a pour l'instant peu de monde (normal puisqu'il se lance) ce qui prévient l'inscription de nouveaux utilisateurs, malgré l'enthousiasme suscité par le projet.
J'envisage à moyen terme de passer la partie "lieux" sous forme de wiki ce qui permettrait à des enthousiastes de remplir un peu le contenu.

VST2OSC (2013) Serveur OSC (VST)


Related article : Jacquot, M. "Gestion des flux de messages entre applications grâce à un plugin de serveur OSC dans le processus compositionnel électroacoustique et mixte", in Proceedings of Journées d'Informatique Musicale (JIM 2013), Saint-Denis, 2013, pp. 39-44.

Vst2OSC is a small plugin written using Julian Storer's C++ framework Juce and Ross Bencina's OSC lib : OSCpack.

Its purpose is to enable OSC communication between apps and more specifically to be able to use OSC automation from your DAW. For example, you can control a Max or Processing patch directly from the plugin host, which can be very handy to synchronize sound and images or to integrate a Max patch in your workflow as if you were (still) able to export your Max patch to VST.

In my opinion, there are numerous reasons to prefer OSC rather than MIDI : the most important one for me is that instead of using cryptic CC numbers and try to remember what they are supposed to control, you can use a beautifully url formatted message ex : to control the Volume and FxMorph sliders of the 4th distortion module (called "Dist-2-2") of my NoiseMaker Max patch, the MIDI version would be :

  • CC 45 value ←nonsense
  • CC 79 value ←nonsense

while the OSC version would be :

  • /NoiseMaker/Dist2-2/Vol value ←cristal clear
  • /NoiseMaker/Dist2-2/FxMorph value ←cristal clear

The other utility is that the values range with MIDI is integer between 0 & 127, with OSC you can have floating point values in any range you want...


When you load the plugin in your host, it will be already setup like this :

  • Destination IP :
  • Port : 7000
  • Main Pattern : empty

and every controller is setup like this

  • End Patern : empty
  • Min : 0
  • Max : 127
  • Steps : 1


You may encounter difficulties to enter text in the fields, the reason is every DAW handles keystrokes differently, and a lot simply intercept them :
In Cockos REAPER : it should work out of the box, the single problem may be conflicts with the DAW hotkeys eg : entering a space triggers the playing of your project. To circumvent this, simply check in your FX window : FX > "Send all keyboard input to plug-in".

In Ableton LIVE : The keystrokes are intercepted by default, you have to create a file called Options.txt containing the line "_EnsureKeyMessagesForPlugins". More details here.

Download the VST
Download the Source Code
	* Copyright (C) 2013 Matthieu Jacquot
	* This program is free software; you can redistribute it and/or modify it 
	* under the terms of the GNU Library General Public License as published 
	* by the Free Software Foundation; either version 2 of the License.
	* This program is distributed in the hope that it will be useful, but WITHOUT 
	* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
	* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public 
	* License for more details.
	* You should have received a copy of the GNU Library General Public License 
	* along with this library; if not, write to the Free Software Foundation, 
	* Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

I'll update every source code file when i have time :)

Art Numérique

Living Electronics (2016) Oeuvre Numérique Interactive


Oeuvre musicale intéractive.
Le but premier était d'utiliser un moteur de jeu pour spatialiser des compositions dans un environnement virtuel. De fil en aiguille cet environnement s'est complexifié et donne lieu à quelques "puzzles" jouant sur une modification de la perception et des codes stantards du jeu vidéo.
Accédez au Mini-site dédié au projet pour télécharger la démo expérimentale de Living Electronics! (Windows)

--Manipulation-- (2013) Installation Intéractive


This work attempts to question the audience about the subject of mental manipulation, specifically as it relates to social networking. The audience starts playing with the installation only aware of the unusual way to manipulate it (with their portable devices via a distant website) but as the performance progress, it becomes more and more obvious that the real purpose of the work is far from the simple idea of physical manipulation. Actually, it explores different aspects of mental manipulation, illustrates them by different means till showing the players that while they thought they were manipulating the installation they had in fact been manipulated by it.
The installation works like most “free” online services, highlighting a free useful or entertaining service to hide its real purpose. As these services it is fully designed to manipulate the audience. With almost every artistic or technical detail made on purpose to respectively evoke or to participate to the mental manipulation process. However, this is done in a very “safe” way compared to what is encountered in every-day life since even if their personal data --they allowed access to by themselves-- is revealed, it is (of course) not sold to any third party nor stored.
A very important aspect of the work is that it has been designed to spread its message as wide as possible so the hardware requirements have been kept as limited as possible and the programs and technologies used are all open-source or free. (Javascript, PHP, Python, SuperCollider, Processing).
Furthermore, the full source code and an installation guide will be released on summer solstice 2013 so everyone can install it and run it everywhere a computer and network access are available.
You can find an in-depth description of the artistic and technical details of the work here [9pp pdf, en].
A technical diagram is also available.




Improving the X/Y Increment for the Keith McMillen Softstep under Max/MSP

Despite the KMI SoftStep great flexibility, a problem may arise soon with the X/Y increment possibilities : we're unable to setup a start value to these parameters.

So here’s a Max patch fixing that, using the “X Y position alternative” from the Keith McMillen Max devkit and also allowing you to setup the “acceleration”, the X and Y start values and the dead zone width :

Download the Source Code

Preset Files Loader

Here’s Max a tool that accomplishes the simple tasks to save, “save as” and reload preset files using umenu and pattrstorage.
Since it was a bit trickier than expected, I thought it might be useful to someone else.

You can find an example of its usage in my Noisemaker.

Download the Source Code


The Noisemaker is a distortion suite consisting in 6 distortion modules, a routing matrix and a 2-pole filter (working in standard or spectral mode) with mono source & sound processing, and stereo output. Every parameter (including the matrices) is controlable via OSC. To easily automate the patch from your DAW, have a look at the VST2OSC, I wrote it for that purpose.

Note that the patch is designed so you don't need to own Max 6 to be able to fully use it, the free Max Runtime should be enough.

Download the Source Code (Max 6)

VST State (and time) Saver

Here’s Max a tool to improve the workflow while working with VSTs in Max.
Connecting this piece of code to a vst~ object allows to :

  • load the VST from an autopopulated drop-down menu list
  • save the VST state directly within the main patch

How to use it

Because of the way Max handles saves, this can't be used as an abstraction, it must be copy/pasted in a subpatch

  • After downloading it, move the patch into the folder "clippings" which path must be something like that : /max-root-folder/patches/clippings/ it will make it quickly available via a right-click > "Paste from"
  • create a simple vst~ object
  • create a subpatch, it will open automatically
  • paste the patch content as described above
  • connect the outlet of the subpatch to the left inlet of the vst~
  • connect the inlet of the subpatch to the 4th outlet of the vst~
  • select the vst in the dropdown menu list in the subpatch
  • tweak the vst
  • save the main patch and everything will be as you left it when you reopen it
Download the Source Code (Max 6)

Send Messages from Dict

As it usually happens in music with live electronics, the list of “cues” maybe be very long and may need to be modified during the compositional process. The goal of this tool is to use a dict object to be able to edit easily a potentially very long and complex list of messages. This patch can be copy pasted as an abstraction in a bigger project of yours
To send a message you simply have to write the destination and the message value in the dict, you just have to enclose several messages in an array to send them at the same time.
Here’s how a cue list would look like (without the comments) :

						“1″ : “receiver1 11″, //first cue, sends one message
						“1a” : [ "receiver1 111", "receiver2 112", "receiver3 0" ], //cue added afterwards
						“2″ : [ "receiver1 12", "receiver2 22" ] //second cue send 2 messages

Download the patch (Max 6)







Hacks Web