I’ve published a few years ago an emulation of the SD1 pedal, but haven’t touched analog modeling since. There are lots of different methods to model a circuit, and they all have different advantages and drawbacks. So I’ve decided to start from scratch again, using two different diode clippers, from the continuous equations to different numerical solutions in a series of blog posts here.
Last year, my colleagues and I presented a paper on giga model simulations in an SPE conference: Giga-Model Simulations In A Commercial Simulator – Challenges & Solutions. During this talk, we talked about the complexity of I/O for such simulations. We had ordered data as input that we needed to split in chunks to send them on the relevant MPI ranks, and then the same process was required for writing the results, gathering the chunks and then writing them down to the disk.
The central point is that some clusters have parallel file systems, and these works well when you try to access big blobs of aligned data. In fact, as they are the bottleneck of the whole system, you need to limit the number of accesses to what you actually require. For instance in HDF5, you can specify the alignment of datasets, so you can say that all HDF5 datasets will be aligned on the filesystem specifications (so for instance 1MB if your Lustre/GPFS has a chunk size of 1MB) and read or write chunks that are multiple of these values.
A few days ago, I’ve released my first VST plugin. Now it is time to analyze how it works.
Continue reading QtVST: how QtSimpleOverdrive is implemented
A few months ago, I’ve posted a note on an overdrive. The main issue of this kind of non-linear filter is aliasing, a process that adds digital acoustic content. The best way to solve the issue is to oversample the input before processing the signal.
There are some effects that are simpler than other. Digital ones are generally easier than analog ones, and purely digital filter are also easier than digitally-transformed analog ones. Linear filters such as passband, cutband, … are easy to digitally design, chorus can be achieved through some spectral computations, delay and reverbation are computationnally expensive but easy to code.
It said that analog devices have a unique sound that digital devices cannot achieve. In fact, much is due to the simplications that occur when digitizing an analog device. One of the most blatant examples is the overdrive, which I took from Simulanalog.
Continue reading Electronic: Simulation of a simple overdrive