Last month, I presented my latest work on Audio ToolKit at ADC 2018, namely how I turned a SPICE netlist to a filter.
It is now time to present some of the results here.
Last month, I presented my latest work on Audio ToolKit at ADC 2018, namely how I turned a SPICE netlist to a filter.
It is now time to present some of the results here.
I started my Lego adult path with the Mk2 crane, and now Lego has a new crane. This one is bigger, meaner, in some aspects, but hopefully better as well. Bigger wheels, but half of them, red instead of yellow, broader, and double crane boon instead of a triple one, so a different set of compromises. How did it go?
A few weeks ago, I presented my work on automatic code generation from an electronic schema. I have many things to talk about this subject, one of them is this book.
When you start analyzing a circuit, it is important to learn how to analyze a circuit. There are lots of books on electronics, but this one targets beginners in circuit analysis.
A few weeks ago, on StackOverflow, a user asked for an accuracy measure on the embedded space for an autoencoder. This was with Keras, but I thought it would be a nice exercise for Tensorflow as well.
The idea in this case is to add a few layers to the embedded space to create a classifier and measure its accuracy while we optimize the autoencoder.
We will train the autoencoder in alternation with the classifier. When one is updated, the other will be frozen, and then we can measure classification accuracy and reconstruction loss concurrently in Tensorboard.
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.
This year, Lego published a set based on the Bugatti Chiron, one of the craziest cars, and built near my home town. It’s the second set in the Technic car collection series, and contrary to the Porsche, the color is inspired by a gorgeous real life car (I don’t think that the real Porsche exists…).
Audio ToolKit started with only C++11 a long time ago, and now with version 3.1, it’s going to be full C++17.
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).
A decade ago, the objective was to have a build farm and do continuous integration (on each commit, build the application and run unit tests). Now, the objective is continuous delivery. This means that the new build is directly put into production. All the major applications are doing this, from Chrome to Spotify. You may not get every version on your machine, but you should consider a build as something you could deploy.
The nice thing is that there are tools to ease this workflow.
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.