Welcome to another devlog for Floe. It's been a while! But these should be more regular now.
My name is Sam, I'm a developer, sound designer and creator of FrozenPlain. In this post I'm going to talk a bit about developments to Floe, our upcoming open-source sample library engine.
In all my last devlogs I talked about Mirage V3. The project has evolved and is now known as Floe. Read Floe's announcement post here. Floe is currently in pre-alpha, it's available in some formats but not yet stable enough to really try. Release is planned in quarter 1 of 2025 - probably March.
Floe's website
Floe has its own website, and it's already live! It's a work-in-progress, but there's lots of content already there for those interested in the project.
Floe has a separate website to FrozenPlain because Floe is a sister project: open-source, free and available to any developer, not just FrozenPlain.
Floe's website is always in-sync with Floe's code. Every time we make changes to Floe, our cloud infrastructure updates the website. The result is something incredibly easy to update and automatically include up-to-date information - download links, version numbers.
Hot reloading
Floe makes developing sample libraries fast and effective. Recording high quality samples is only half of the story, developers need to effectively configure the samples into playable virtual instruments.
Floe's new sample library format (mentioned in previous devlogs) is built with developer ergonomics in mind. Developers just need to write a simple Lua script (a well-known programming language) using Floe's interface.
There's no graphical interface for creating libraries at the moment. But if the development environment is well thought-out, developers can be faster manipulating code rather than using GUIs.
Floe hot-reloads its sample libraries. That means that whenever you edit any sample library the changes are applied instantly. This enables an rapid workflow for developing libraries: leave Floe open in one window and your code editor/audio editor in another window, then, with your MIDI controller you can continuously play as you make changes to the sample library's configuration or audio. You will be able to fine-tune things to create sample libraries that are dynamic, playable and expressive.
This hot-reload feature was coded mostly from scratch using the low-level APIs available on Windows, macOS and Linux. It's fast and robust - necessary when we need to keep track of 1000s of sample library files. Additionally, we have a system that handles background loading and switching of all these libraries as they change.
Installing libraries
Floe greatly improves how sample libraries are installed. Since November, Mirage uses a manual installation method. You must manually extract and copy files to the plugin's folders. Floe makes this simpler and more effective.
In Floe's setting's panel there is an 'Install package' button. Just click it and direct it to the location of your downloaded Floe package ZIP file. It will do everything automatically if it can. If not, it will pop up and ask for your preferences.
This new system does a few important things:
- Checks all known locations for existing installations of the libraries/presets
- Updates existing installations if appropriate
- Detects if an existing installation has been manually edited (in which case overwriting is not appropriate)
- Extracts the ZIP to the correct places in a safe way
- Libraries/presets are available instantly when installation is completed
Libraries and presets will be distributed in the Floe package format. They're ZIP files that contain files and folder in a particular arrangement. Floe understands how to install them, but they can also be manually extracted and installed.
Changed effects
Floe now makes use of some effects from Vital, a powerful wavetable synth which has open-source GPL licensed releases. Floe uses a new reverb, delay and phaser. This change was brought about mostly due to licensing reasons, but it's not bad news. The new effects sound incredible, and we now have the option to add more from Vital's suite.
Wrapping up
As before, there's been lots more work on Floe's infrastructure. While not glamorous, it's nevertheless important work. A tool like an audio plugin should be robust, crash-free, ergonomic, portable, fast and precise. If a tool falls short of that it can be an obstacle towards what matters - making meaningful music.
Beyond version 1 we'll be able to add new ambitious audio manipulation features.
Thank you for reading. See you in the next one.