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:
This entry is part 3 of 3 in the series Lego

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…).

Read More

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.

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

This entry is part 1 of 2 in the series Deep adventures

A few year ago, Packt Publishing contacted to be a technical reviewer for the first edition of Building Machine Learning Systems with Python, and I was impressed by the writing of Luis Pedro Coelho and Willi Richert. For the second edition, I was again a technical reviewer.

Writing is not easy, especially when it’s not your mother tongue, and scientific books are plagued with books that are not that great, with low technical content or bad English (that can be said for novels as well, the worst I ever read probably being the Hunger games series…). Even if I don’t like the books, I know that the authors did their best, having written in the past a book that I can say was not very great in terms of flow. Writing a book always deserves the deepest respect.

Read More

This entry is part 2 of 6 in the series Analog modelling

After my previous post on SPICE modelling in Python, I need to use a good support example to go up to on the fly compilation in C++. This schema will also require some changes to support more than simple nodal analysis, so this now becomes Modified Nodal Analysis with state equations.

Read More

Address Sanitizer: alternative to valgrind

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4.50 out of 5)
Loading...
This entry is part 2 of 5 in the series Travelling in LLVM land

Recently, at work, I encountered a strange bug with GCC 7.2 and clang 6 (I didn’t test it with Visual Studio 2017 for different reasons). The bug was not visible on “old” compilers like gcc 4, Visual Studio 2013 or even Intel Compiler 2017. In debug mode, everything was fine, but in release mode, the application crashed. But not always at the same location.

Read More

This entry is part 1 of 6 in the series Analog modelling

A few month ago, mystran published on KVR a small SPICE simulator for real-time processing. I liked the idea, the drawback being that the code is generic and not tailored like a static version of the optimizer. So I wondered if it was doable. But for this, I have to start from the basics and build from there. So let’s go.

Read More