This post was originally posted on the old website, February 29th 2024. Mirage v3 was the precursor to Floe.
![Mirage v3 lua](https://frozenplain-public.s3.eu-west-2.amazonaws.com/forum/mirage-v3-lua.png)
Welcome to another devlog for version 3 of Mirage, FrozenPlain's sampler plugin. The primary goal of this free update is to firmly establish Mirage's structure including CLAP and VST3 support. Progress is going well in many areas, but in this post I'm going to focus on my work on a new sample library format.
Mirage v3 will feature a new configuration format for Mirage libraries. With this new system, you can use the Lua programming language to define how audio files should be mapped into playable instruments. We shall use this method ourselves to make our own new products, but the whole system is also available to anyone who is comfortable writing code. It will be well documented, and the Lua programming language is friendly for beginners. This is a very different approach to what we were using before, where a Mirage library was a single, anonymous file in our own MDATA format, only able to be created by our internal tools. The MDATA format will still be fully supported but the new Lua-based system is the new, preferred method.
The challenge of mapping audio samples into playable instruments is one that others have worked on too. Perhaps the most similar format to this new one is SFZ. This format is not a great fit for Mirage's use-case though. SFZ combines both sample mapping (corresponding audio files to the keyboard), and sound manipulation (configuring the parameters of filters, envelopes and effects). With Mirage, we have a friendly GUI that can be used the shape the sound - we do not want this to be done in a configuration file. Additionally, SFZ does not make use of a programming language meaning it can be laborious and repetitive to use. By contrast, Lua offers real programming language features: functions, variables and loops, that you can use to configure a sample library in a maintainable way. I hope that this extra power will allow for extra experimentation.
Of course, it would be nice to have a GUI that we could use to create sample libraries, but for now it's out of the scope of this update.
Another benefit of this new format is that the audio files will be available to use without Mirage. You will be able to see the folder of samples (probably in FLAC format), and use them in your music in a raw form. Along these same lines, this new format opens the door for conversion to/from other open sample-library formats such as SFZ, decent sampler or multisample.