This entry is part of 7 in the series Analog modelling

In almost all analog modeling algorithms, we solve a (non-)linear system they require at some point to solve Ax=y, with given A and y. Depending on the size of the matrix and its characteristics, computing an inverse can be costly and may incur numerical problems. Let’s tackle cost in this discussion.

Read More

I create a model of the Boss SD1 and the Ibanez TS9 some time ago. Now it’s time to get on modelling another pedal, the famous Boss MT2 Metal Zone.

There are many pages online that also analyse this pedal, but I’d like to start from the schema, split in independent pieces and analyze them with my Modelling  Lite tool. The end result will probably end up as a new plugin, but this is currently outside the scope of this new subserie.

Read More

This question started for me when I had to handled files that could be either compressed or uncompressed and I needed to do so transparently.

If you look online, there may be only one answer to that, and it is on StackOverflow when I answered it. Here is some more context to what the answer does and what’s the problem with Boost::Iostreams.

Read More

ATK is updated to 3.1.0 with heavy code refactoring. Old C++ standards are now dropped and it requires now a full C++17 compliant compiler.

The main difference for filter support is that explicit SIMD filters using libsimdpp have been dropped while tr2::simd becomes standard and supported by gcc, clang and Visual Studio.

Read More

Today, I’m presenting at the ADC my work on analog modelling for the past year.

I will make a more detailed post later this year, but I’d like to put some teasers here. SPICE net lists are an efficient way of representing electronics circuits and there are several very good free and paying simulators. Unfortunately, they are not easy to integrate in a VST plugin.

Audio ToolKit now has a sister project around this topic. The lite version is also licensed under the BSD and can generate a dynamic filter of a net list. The full project is now also capable of generating static filter, with a source file (and compiling it in memory) that can be manually tuned.

Future work on this project will include different solvers for the static filter, as well as a tuner that will be able to drop entries in the Jacobian (full entries or component contributions for a given pin) in the Newton Raphson solver.

Buy Me a Coffee!

Other Amount:
Your Email Address:

ATK is updated to 3.0.0 with a major ABI break and code quality improvement (see here). Bugs in different areas were fixed.

Development for additional modules was also simplified (the modelling lite is such a project based on Audio Toolkit).

Read More

This entry is part 1 of 5 in the series Travelling in LLVM land

I have tried to find the proper receipts to compile on the fly C++ code with clang and LLVM. It’s actually not that easy to achieve if you are not targeting LLVM Intermediate Representation, and unfortunately, the code here, working for LLVM 7, may not work for LLVM 8. Or 6.

Read More