Laurent de Soras
Welcome, this ugly thing is my homepage.
To browse, click on the tabs located on the top.
News
Headphone amplifier
Some years ago (2018 I think ?) I build 4 headphone amplifiers for our studio. Musicians used them for monitoring when recording their instruments but they were monophonic because of the limited auxiliary outputs on the mixing console. Anyway people like them because they were able to deliver much more power than usual headphone amplifiers while keeping a clean sound, exempt of noticeable distortion.
Recently I had an order from a sound engineer for building a stereo version of these amplifiers. I thought this might interest the audio DIY community so I took the opportunity to release the schematics and building instructions.
Bazoche, a guitar effect platform
Bazoche is a generic digital guitar pedal based on the Electrosmith Daisy Seed as digital processor hosting any kind of effect code. Once the device is built, you can design you own effect (C++ programming) and load it on the pedal. The pedal has 3 potentiometers and an optional switch, as well as an additional potentiometer, for example in the form of an expression pedal. The footswitch can do soft or true bypass.
I included the code for an effect I wrote recently, combining a long delay and a crazy self-oscillating distortion which can be controlled with an external expression pedal.
Comparison of matched EQ filter designs
In this report, I compared several existing digital filter design methods using transposition from analogue prototypes. The goal is to match the magnitude response curve of the continuous-time filter as close as possible. This is a difficult because of the frequency warping occuring on the upper range of the spectrum, naturally compressing the filter response against the Nyquist frequency.
Faveworm
I’m releasing another plug-in for Vapoursynth and Avisynth+. Faveworm is an audio waveform renderer with an analogue oscillocope flavour.
As usual, the archive contains the binary files for Windows, documentation and source code. The Git repository can be accessed from this GitLab page.
Refresh
I gave a haircut to this website. I got rid of most HTML bad practices from the 90’s (tables everywhere for layout) and replaced the Verdana font with a bigger and more elegant Proza. There is still work to do but the site is already easier to update and to maintain.
When designing this site, I tried to follow some guidelines I find important:
- Lightweight: pages should be quick to load even on a slow connection, not downloading megabytes of scripting, frameworks or assets.
- Compatibility: I try to use only widespread features, supported by almost all browsers out there (HTML5 and CSS3, no JavaScript). In the last resort, the site should remain completely usable even without any CSS information.
- Accessibility: the internal structure of each page should reflect its semantics, which is important for screen readers for example. However I’m not totally sure I’m doing things correctly here, feedback welcome!
- Maintenance: adding a page or modifying information should be trivial. I use a standard text editor to write the HTML code.
Update: the site now displays correctly on mobile phones (it is “responsive”) and supports a dark color scheme.
HIIR 1.50
I updated the HIIR library to v1.50. The main addition is the 64-bit floating point NEON implementation for AArch64.
Domain change
This website was down for a week, most likely because of a technical failure at the hosting service level (free.fr). However there is no simple way to contact the technical support when you are not a paying customer. I run this website for more than 25 years (started on Mygale.org) and this is the prefect opportunity to switch to another host, making more sense from a political point of view.
So the new address is a bit simpler, this is now https://ldesoras.fr. Please update your bookmarks !
The new hosting service is Ouvaton. And we now have TLS (the https thing), although it doesn’t bring much for a website made only of static pages without sensible data, but some web browsers are reluctant to use the old http mode.
The downside : I’ll have to check all the external pages referencing the old address to update it, or contact the admins to make them change it.
Audio input and output modules
I’m releasing today several building blocks for interfacing an audio processing board with the outside world, via audio connectors. This is a collection of small modular boards for buffering audio inputs and driving output lines, with several types of connectors (XLR, jack). I had these files for a long time on my computer but there was a bit of work needed to clean them up for a public release, so obviously I procrastinated a few years before giving them an appropriate treatment…
Underpass EP + Pédale Vite updates
My band Sound of the Void just released a new 6-track EP, called Underpass. Make sure to check it out ! As usual, all the music is free (as in “free beer” and “free speech”).
Pédale Vite had also benefited from significant updates recently, it now runs a Raspberry Pi 5 and the rotary encoders have been replaced by endless potentiometers, for smoother action. Upgrading to Pi 5 was a lot of work (hardware is completely different), increasing the major version number to v3, but because the physical appearance hasn’t changed, I still mention it as a v2 on this website.
Picogen
I built a signal generator called Picogen around a Raspberry RP2040 microcontroller used as a DAC. Full schematics and code included.
Electro-Smith Daisy Seed
I added a new section in the source code page with tools for the Daisy Seed, an embedded platform for audio processing.
Flight case
Pas beaucoup de nouveautés dernièrement ! Je viens de concevoir et de fabriquer un flight case pour Pédale Vite. Pendant ce temps je m’éternise sur une modification du logiciel interne qui me pemettra de placer facilement des simulateurs d’ampli en sortie sans interférer avec les programmes d’effets. À suivre…
C++ file templates
I ported my file template generator for C++ source to a VSIX extension for VS2019, written in C#. It was previously a set of Visual Basic macros but worked only with VS2005
ChickenDream
ChickenDream is a new plug-in for Vapoursynth and Avisynth+. It emulates film grain using a realistic model, described in this Computer Graphics Forum paper and this Image Processing On Line paper. It gives stunning results, especially with coarse grain, where usual grain generation algorithms fail hard. However the results have to be balanced with the highly CPU-intensive processing.
I also updated fmtconv, now using Vapoursynth API v4.
Cass&Tord
Another music project : Cass&Tord. We recorded an EP earlier in January in Trash Palace Studio, it is now available on the band website.
Updates for fmtconv
Graoumf Tracker 2 r26
Another Graoumf Tracker 2 update, this time with a surprise contribution from long-time user David L. So now there are at least two GT users across the world for this 25+ years-old piece of software.
Also fmtconv has been updated to r23.
Graoumf Tracker 2 r25
Quick update for the very dusty Graoumf Tracker 2. JBHak/dDash asked me a functionnality to load dozens of samples in a single click.
More updates
There is a new release of the HIIR library again (v1.32). I also released updated versions of the Dither (v1.28.0) filters set for AviSynth as well as the MVTools (v2.6.1.0) and AVSTP (v1.04).
HIIR library updated to v1.31
The HIIR library now includes a function to desgin a half-band filter with a requirement on the group delay. This is useful to get integer group delay values (in samples) that can be easily compensated when mixing processed and unprocessed signals.
Nouvel article : Introduction aux filtres numériques à topologie préservée
J’ai pondu un petit article sur la conception de filtres numériques modélisés à partir de circuits analogiques. Le sujet est évidemment très vaste et l’article en égratigne à peine la surface. Toutefois il devrait donner suffisamment d’outils, de méthodes et de pistes pour commencer à coder des filtres réalistes. Je voulais surtout présenter des méthodes alternatives à la BLT classique, tout en rendant compréhensible un sujet sur lequel il existe peu de ressources simples destinées aux novices, allant droit au but. C’est une sorte de marche intermédiaire entre le sol de ce bas monde et les annexes techniques très formalisées des simulateurs de circuits comme Spice ou Qucs.
HIIR library updated to v1.30
For this Friday the 13rd, the HIIR library got a major update. It now supports double (64-bit float) operations. There are SSE2 and AVX implementations, thanks to Dario Mambro. I took the opportunity to add AVX-512 support, as well as missing parallel N-channel implementations for the Hilbert phaser. I improved a few things with the SSE and NEON single-channel resamplers, too. I checked compatibility and performances with the most recent compilers on Intel and ARM platforms.