Entries Tagged 'Audio' ↓

liquidsfz 0.1.0

Years ago, I’ve implemented SF2 (“SoundFont”) support for Beast. This was fairly easy. FluidSynth provides everything to play back SF2 files in an easy to use library, which is available under LGPL2.1+. Since integrating FluidSynth is really easy, many other projects like LMMS, Ardour, MusE, MuseScore, QSynth,… support SF2 via FluidSynth.

For SFZ, I didn’t find anything that would be as easy to use as FluidSynth. Some projects ship their own implementation (MuseScore has Zerberus, Carla has its own version of SFZero). Both are effectively GPL licensed. Neither SFZ code would be easily integrated into Beast. Zerberus depends on the Qt toolkit. SFZero originally used JUCE and now uses a stripped down version of JUCE called water, which is Carla only (and should not be used in other projects).

LinuxSampler is also GPL with one additional restriction that disallows usage in proprietary context without permission. I am not a lawyer but I think this is no longer GPL, meaning that you cannot combine this code with other GPL software. A small list of reasons why Carla no longer uses LinuxSampler can be found here: https://kx.studio/News/?action=view&url=carla-20-rc1-is-here

In any case for Beast we want to keep our core libraries LGPL, which none of the projects I mentioned can do. So liquidsfz is my attempt to provide an easy-to-integrate SFZ player, which can be used in Beast and other projects. So I am releasing  the very first version “0.1.0” today: https://github.com/swesterfeld/liquidsfz#releases

This first release should be usable, there are only the most important SFZ opcodes covered.

SpectMorph 0.5.0 released

A new version of SpectMorph, my audio morphing software, is now available on www.spectmorph.org. SpectMorph is a VST/LV2/JACK synthesis engine which is based on the idea of analyzing audio samples and combining them using morphing.

SpectMorph could always create sounds by morphing between the musical instruments bundled with SpectMorph. With this release, a new graphical instrument editor was added, which allows loading custom samples. So SpectMorph users can now create user defined instruments and morph between them.

Here is a screencast which demonstrates how to do it.

Besides this big change, the releases contains a few smaller improvements. A detailed list of changes is available here.

Finally, here is some new music made with SpectMorph:

SpectMorph 0.4.1 released

A new version of SpectMorph, my audio morphing software, is now available on www.spectmorph.org. Besides Linux and Windows, it now also runs on  macOS (>= 10.9).

In order to simplify the installation under Linux, the required instrument data for SpectMorph no longer needs to be downloaded seperately. Instead, the source tarball and Ubuntu packages include the instrument data (the other platforms already do this by default, too).

We added recordings of Claudia – a female opera singer – as new instrument (“Claudia Ah”, “Claudia Oh”, “Claudia Ih”). A few improvements to the instrument building tools were made along the way. To get good results from Claudia’s recordings, we had to add an algorithm that systematically reduces vibrato automatically.

As always, a few minor problems were fixed, for instance the VST plugin automation now works properly with Cubase. A detailed list of changes is available here.

The video for my presentation at Linux Audio Conf 2018 about how SpectMorph implements morphing is now available.

Finally, a new piece of music created by Sven and me with SpectMorph has been completed: Clicking.

Beast 0.12 Release

Beast 0.12 is available from the Beast Homepage. Beast is an Free and Open Source Linux DAW for composing music with the integrated modular synthesis environment. A detailed list of changes is available in the Release Notes.

From the announce mail on the BEAST List:

This release removes the Rapicorn dependency as well as the runtime dependency on CPython. To achieve that, a number of utilities from Rapicorn has to be integrated, which has made the code base a fair bit larger:

651 files changed, 75581 insertions(+), 44596 deletions(-)

Most notably, this is the first release that installs the new ebeast UI. Tracks, piano rolls and dB meters are already displayed, but not much beyond that as it’s still in pre-alpha stage. However it’s a good showcase for our future UI direction, you can start it and take a quick look with:

$prefix/beast-0-12/bin/ebeast

SpectMorph 0.4.0 released

A new version of SpectMorph, my audio morphing software is now available on www.spectmorph.org.

One main feature is that besides providing VST, LV2, JACK and BEAST support on Linux, this version is the first version that also provides a VST plugin for (64-bit) Windows.

To make the VST plugin portable to Windows, the plugin UI now uses the pugl library (with GL + Cairo) instead of Qt5. This should also allow supporting macOS in the future.

Since the whole plugin UI was reimplemented, a new design is used, and many small improvements were made; the UI is also ready for high(er) DPI displays, everything can be scaled using a global zoom factor. Below is a screenshot of the new UI:

Other changes are:

  • A new non-linear mapping from midi velocities to volumes was implemented
  • New instrument: French Horn
  • Improved tools for building custom instruments
  • LPC/LSF support removed

gst123-0.3.5 and playback rate adjustment

A new version of gst123, my command line media player – based on gstreamer – is available at http://space.twc.de/~stefan/gst123.php

Thanks to David Fries, this version supports playing media faster or slower compared to the original speed,  using { [ ] } as keyboard commands. This works, however, it also changes the pitch. So for instance speech sounds unnatural if the playback rate is changed.

I’ve played around with the youtube speed setting a bit, and they preserve pitch while changing playback speed, providing acceptable audio quality. There are open source solutions for doing this properly, we could get comparable results if we used librubberband (GPL) to correct the pitch in the pipeline after the actual decoding. However, there is no librubberband gstreamer plugin as far as I know.

Also there is playitslowly does the job with existing gstreamer plugins, but I think the sound quality is not as good as what librubberband would do.

I think ideally, playback pitch correction should not be done in gst123 itself (as other players may want to use the feature). So if anybody feels like working on this, I think it would be a nice project to hack on. Feel free to propose patches to gst123 for pitch correct playback rate adjustments, I would be happy to integrate it, but maybe it should just go into the playbin (maybe optional, as in 1. set playback rate, 2. enable pitch correction), so the code could live in gstreamer.

SpectMorph 0.3.4 released

A new version of SpectMorph, my audio morphing software is now available on www.spectmorph.org.

The biggest addition is an ADSR-Envelope which is optional, but when enabled allows overriding the natural instruments attack and volume envelope (full list of changes).

I also created a screencast of SpectMorph which gives a quick overview of the possibilities.

27.06.2016 beast-0.11.0 released

Beast is a music composition and modular synthesis application. beast-0.11.0 is now available at beast.testbit.eu. Support for Soundfont (.sf2) files has been added. On multicore CPUs, Beast now uses all cores for synthesis, which improves performance. Debian packages also have been added, so installation should be very easy on Debian-like systems. And as always, lots of other improvements and bug fixes went into Beast.

Update: I made a screencast of Beast which shows the basics.

20.06.2017 spectmorph-0.3.3 released

A new version of SpectMorph, my audio morphing software is now available on www.spectmorph.org. The main improvement is that SpectMorph supports now portamento and vibrato. For VST hosts with MPE (Bitwig), the pitch of each note can be controlled by the sequencer. So sliding from a C major chord to a D minor chord is possible. There is also a new portamento/mono mode, which should work with any host.

24.04.2017 spectmorph-0.3.2 and www.spectmorph.org updates

Finally after taking the time to integrate improvements, spectmorph-0.3.2 was released. The main feature is certainly the new unison effect. By adding up multiple detuned copies of the same sound, it produces the illusion of multiple instruments playing the same notes. Of course this is just a cheap approximation of what it would sound like if you really recorded multiple real instruments playing the same notes, but it at least makes the sound “seem” more fat than without the effect.

At the same time, the website was redesigned and improved. Besides the new look and feel, there is now also a piece of music called “Morphing Motion” which was made with the newest version of the SpectMorph VST plugin.

Visit www.spectmorph.org to get the new version or listen to the audio demos.