It's hot weather these days here at Barcelona! It is also time for releases...
A new synthesizer library has been released on July 28, 2022: Sonivox. This project is a fork of the Android Open Source Project 'platform_external_sonivox', including a CMake based build system to be used not on Android, but on any other computer Operating System. Google licensed this work originally named Sonivox EAS (Embedded Audio Synthesis) from the company Sonic Network Inc. under the terms of the Apache License 2.0.
This is a Wave Table synthesizer, not using external soundfont files but embedded samples instead. It is also a real time GM synthesizer. It consumes very little resources, so it may be indicated in projects for small embedded devices. There is neither MIDI input nor Audio output facilities included in the library. You need to provide your own input/output.
Until now, the "eassynth" Drumstick::RT backend included the sonivox library sources, compiled and statically linked. Now, the build system search for an external sonivox library like any other dependency, and dynamically links the shared library when found.
Please find here the source tarballs.
There are two other projects/prototypes that use this library in my portfolio. They embed it as a git submodule, or find it as an external dependency:
- Linux-SonivoxEAS. I've already blogged about it several years ago.
- multiplatform-sonivoxeas with Drumstick::RT MIDI input and Qt Multimedia audio output.
I prefer to have all the code in a single place, avoiding duplication. But it is not only my personal convenience, Linux users would have a single copy of the library installed in their systems, which will be easier to patch or replace by the distribution vendors when needed. Of course this would be not possible if their only choice is to install the applications as an AppImage, or a Flatpak.
The other release today July 31, 2022 is Drumstick 2.7.0
A brief summary of changes for this release:
- ticket #44: removed sonivox library sources from the source tree. The Sonivox library is an external dependency.
- ticket #43: Drumstick::RT dummy plugins now include its own configuration dialogs.
- ticket #42: Drumstick::Widgets - fixed piano designer plugin to show more properties.
- ticket #41 Drumstick::Widgets: Option to use subscript octave designation.
- Drumstick::ALSA registering SequencerEvent with qMetaType.
- Drumstick::RT FluidSynth plugin updated with changes in fluidsynth 2.2.8
- Utils: vpiano uses the subscript octave designation option.
Compilation minimum requirements for all platforms:
- C++11 compiler
- CMake 3.14
- Qt5 >= 5.9 or Qt6 >= 6.2 (with Qt6Core5Compat library dependency for Drumstick::File)
Feature dependencies (for some platforms):
- ALSA (Linux only)
- PulseAudio (Unix)
- D-Bus (Unix)
- Sonivox (Unix)
- FluidSynth (All platforms)