Category Archives: Music

Something I realized on scale temperament

When I started music almost thirty years ago, one of my music teachers told us that there was a difference between a flat and a sharp note. I didn’t really understand as on a trumpet, both would be the same! I forgot about it, until a few years ago, I was introduced ti the concept of temperament.

It started with he fact that the fifth in a scale has a mathematical relationship to the root note, and all other notes were built from there. At least for the 12 notes we have in the occidental world. Then, I read that at some point, this imperfect scale was replaced by another one, where all 12 notes were evenly split. Of course, that means that the fifth is not the fifth anymore…

Then, I watched a French video on it again, with the proper scientific explanation for different scales, and it got me thinking again. That was what my music teacher was talking about. If you build your scale with the harmonics, you end up with a difference between flats and sharps. But even more, I thought that a melody with flats was more melancholic than one with sharps. But this doesn’t make sense for an evenly tempered scale! They all feel the same way, no matter which scale you use. It’s only if you do like Bach and use an imperfect temperament that you can feel a difference.

So then a musical instrument like strings, or voices, can actually work in a pure temperament. For winds, you can work on adjusting notes on the fly, and also have kind of pure temperament. On a piano, you can’t, you need to tune it right (BTW, I still don’t know how piano tuners can tune pianos when you have to tune them “imperfectly”! Their job is just amazing), or it will feel different from with a symphonic orchestra that can use a pure temperament of any scale.

And this is something quite difficult to achieve with a digital instrument. We expect equal temperament. I wonder how Celemony handles these differences when they tune a voice track.

Anyway, maybe the pure scale is imperfect because the 13th note is not exactly the same of the original note, maybe the equal temperament makes everything similar, but they all bring something. We shouldn’t probably forget about these differences and use them in modern music as well.

Audio ToolKit: modules for the JUCE framework

As some may know, I’ve switched from wdl-ol to JUCE 5 for my free plugins. In the past, I had to modify by hand all the projects created by the Projucer. And each time JUCE is updated, I need to add these changes to the generated project.

Not anymore.

On the develop branch, and in the next minor release ATK 2.1.2, modules for the Projucer will be available. This will enable an easier integration of ATK in your project, as you will “just” need to add these modules to the Projucer (and some additional include files to make ATK compliant with JUCE hierarchy).

There are currently 11 new modules (shameless comparison, that’s far more than the new DSP module, even if there are some filters than I’m missing, but feel free to propose a pull request with new features!).

See the explanation on the release branch and let me know what you think:

Buy Me a Coffee!
Other Amount:
Your Email Address:

Announcement: Audio TK 2.1.0

ATK is updated to 2.1.0 with a major refactoring of the Python wrappers and extensive testing of them. New filters were also added to support more complex pipelines (mute/solo and circular buffers for real-time spectrum displays) and Audio ToolKit provies now a CMake configuration file for easier integration in CMake projects.
Continue reading Announcement: Audio TK 2.1.0

Announcement: ATKGuitarPreamp 1.0.0

I’m happy to announce the release of a modeling of the Vox AC30 preamplifier stage followed by a JCM800 tone stack based on the Audio Toolkit. They are available on Windows and OS X (min. 10.9) in different formats.

Continue reading Announcement: ATKGuitarPreamp 1.0.0

Announcement: ATKBassPreamp 1.0.0

I’m happy to announce the release of a modeling of the Fender Bassman preamplifier stage based on the Audio Toolkit. They are available on Windows and OS X (min. 10.9) in different formats.

Continue reading Announcement: ATKBassPreamp 1.0.0

Using Audio ToolKit with JUCE 5

As some may have seen online, ROLI released a new version of JUCE. The nice thing is that they added a new tier for people like me who don’t sell plugins but who don’t want to release their code under the GPL license for diverse reasons (for me, it was formerly incompatibility between VST3 license and the GPL).

With JUCE 5, you have support for all major APIS, from VST2 to Audio Unit v3 and also AAX or VST3. And you can develop your own plugins. The caveat with this tier is that you have a splash screen and a tracking of your users… (actually, there is a flag to remove both). the advantage is that on MacOS, there is no more SDK conflicts, and I have Audio Unit 3 support

So I’ve started playing with Projucer and built a barebone ATK plugin that doesn’t do anything. What I can say is that the worst part is handling universal binaries, support 32bits plugins, as the JUCE project builder overwrites all my changes. Even adding ATK is painful with the project manager.

So instead, I’m going the WDL-OL here, and keeping this ATKJUCE plugin as the simple plugin I’ll duplicate by changing the names and its content. I have my builders that build the plugins and creates the installers, all that while keeping the same JUCE core code (it is shared by all plugins).

The next step is trying to make sense of the API to build a nicer GUI than what I currently have (probably something flat). Indeed, the tutorials on the GUI are small and too basic, but WDL-OL was no better in that aspect, but with more examples.

Announcement: ATKStereoUniversalDelay 1.0.0

I’m happy to announce the release of a stereo delay that allows ping-pong like effects based on the Audio Toolkit. They are available on Windows and OS X (min. 10.11) in different formats.

Continue reading Announcement: ATKStereoUniversalDelay 1.0.0

Announcement: Audio TK 2.0.0

ATK is updated to 2.0.0 with a major refactoring to ensure signed/unsigned consistency, new Adaptive module and EQ design. Complex-valued filters are also now available to allow simultaneous dual channel processes and advanced filters like complex LMS filters.
Continue reading Announcement: Audio TK 2.0.0

Announcement: ATKChorus 1.1.0 and ATKUniversalVariableDelay 1.1.0

I’m happy to announce the update of the chorus and the universal variable delay based on the Audio Toolkit. They are available on Windows and OS X (min. 10.11) in different formats.

This release fixes the noises that can arise in some configuration.

Continue reading Announcement: ATKChorus 1.1.0 and ATKUniversalVariableDelay 1.1.0