Leandro Facchinetti
Computational Performance of De-Cramped EQ · The Dan Worrall & Harrison Controversy
updated
• github.com/radically-straightforward/radically-straightforward
• https://davidadler.pages.dev/
———
Fotis showed Cardinal’s version Surge XT’s effects, a collection of loopable audio forms captured from analog gear, and we discussed how to compile Faust effects to JSFX, including how to install Faust on Windows Subsystem for Linux.
Leandro shared their progress on the DIY EWI project: We connected the microphone module to the power coming from the Raspberry Pi Pico and we managed to see the generated waveforms in the oscilloscope.
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
———
00:00 - Starting Soon…
07:11 - Start
13:14 - Problem read through
22:19 - Part 1
35:55 - Part 2
35:45 - Reviewing other solutions
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
———
00:00 - Starting Soon…
01:50 - Introduction
02:31 - Problem read through
14:10 - Part 1
48:15 - Part 2
02:01:29 - Review other solutions
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
———
00:00 - Starting Soon…
09:36 - Introduction
13:30 - Problem read through
23:27 - Part 1
52:21 - Part 2
01:25:11 - Reviewing other solutions
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
———
00:00 - Starting Soon…
02:14 - Introduction
08:21 - Problem read through
12:55 - Part 1 strategy discussion
23:15 - Part 1 implementation
40:33 - Part 2
01:25:53 - Reviewing other solutions
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
• github.com/leafac/advent-of-code
• join.skype.com/M8oENVnHciNI
• https://davidadler.pages.dev/
———
00:00 - Starting Soon…
01:23 - Introduction
05:53 - Warm up: 2021 Problem 1 Part 1
18:44 - Warm up: 2021 Problem 1 Part 1 Complete - Now for JSFX
27:50 - 2023 Problem 1 Part 1
49:09 - 2023 Problem 1 Part 2
01:02:09 - 2023 Problem Solution Discussion
01:13:34 - What is the difference between a Context Free Language and a Regular Language?
01:20:21 - Youtube comments
———
adventofcode.com
https://davidadler.pages.dev/
xkcd.com/356
Want to join us? Get in touch: advent-of-code@leafac.com
———
Fotis showed us the latest synth plugin by Tukan and his use of parallel effects in REAPER 7.
Bo showed us an experiment with a cascade of FIR and IIR filters, and his attempt at a truly awful sounding plugin.
Kevin talked about his wish for a “replace razor selection with the contents of the clipboard” action.
Leandro announced that he’ll be attempting the Advent of Code this year.
- stillwellaudio.com/plugins/spectro
- https://ultraschall.fm/api/
- youtube.com/@musicpainter5109/videos
———
Fotis showed us how to train a model for GuitarML.
Cwits talked about some challenges trying to display a waveform with Qt.
Leandro and our special guest David solved Project Euler problem 10 with C++.
Bo shared with us his JSFX that’s a limiter with dynamic lowpass filtering.
- youtube.com/watch?v=vwsSYpqRqyM
- youtube.com/watch?v=2vs4WKYgZUs
- http://xkcd.com/841
———
We have a special guest to kick off the new season of the live-coding sessions: Abi.
She came up with the idea for the EWI project, and in this session we experimented with different ways to debounce the buttons and tested multiple buttons and how they interact.
———
Cwits is working on a GUI with Qt for his music project that uses a small touch-sensitive screen.
Fotis showed us an old DIY analog switcher and played with scripts that create samples from synthesizers.
V talked about how to implement convolution in JSFX and AI in the context of music production.
———
Fotis showed us no-input mixing and REAPER’s Container FX that coming in REAPER 7.
Cwits showed us an application he’s developing for Android that will find good ways to pack boxes.
Bo showed us a distortion JSFX he’s developing.
Leandro reported on the current state of the EWI: it’s sending MIDI notes and it has a button, but it’s running into issues with bouncing. He also shared his AI to detect screenshots of code that has been trained with teachablemachine.withgoogle.com
———
Aline is a special guest. She’s a friend of Leandro’s from college.
Leandro introduced how to program a Raspberry Pi Pico with CircuitPython, which will be part of the EWI project pitched last meeting.
Bo showed the code for a JSFX which splits the signal between low and high frequencies and distorts the low frequencies.
Fotis is developing a user interface in HISE, and also showed a sequencer that runs in the browser and works by drawing shapes. Finally, he showed as a vocoder effect done in TurboSynth, from back in the 90s(!)
- youtube.com/watch?v=_yHJ8fEJgf0
- archive.org/details/macos9appinstaller
———
Fotis tried to get HISE’s new feature of time stretching to work, both from the GUI as well as from a script, but it didn’t work. Yet.
Cwits showed us some file editing features in his project: cutting and pasting sections of audio, reversing audio, and so forth.
Bo showed us some JSFX with a really clever idea for distortion in which the coefficient of a low-pass filter is modulated with the incoming signal.
Leandro pitched an idea of a EWI with a Raspberry Pi Pico, showed a Hammerspoon script that disables a MacBook keyboard for cleaning, and worked on Project Euler’s problem 9.
- github.com/leafac/hammerspoon
- reddit.com/r/synthrecipes/comments/k4n1jj/dx7_in_vital_sure_why_not_plus_a_crash_course_in
- youtube.com/watch?v=-1dqCVg1mVU
- github.com/bgins/coincident-spectra
- https://coincident-spectra.fission.app/
- youtube.com/watch?v=n9oOCTFhio4
- github.com/cardonabits/haxo-hw
- instructables.com/Make-a-Wind-controlled-MIDI-Instrument
———
Fotis showed some updates to HISE, wrote some JSFX for sliders, and brought The Signal State for us to play together.
Cwits is dealing with weird edge cases in MIDI files.
Leandro coded Project Euler problem 8. We learned to use vectors and that we need to be mindful of `int` overflows.
- github.com/ldrolez/free-midi-chords
- github.com/edkashinsky/reaper-reableton-scripts
- youtube.com/watch?v=_Jzz6GKdcFA
- youtube.com/watch?v=EtNRuzKKtWI
———
Cwits got all parts working and is able to record and playback audio 🙌
Leandro solved Project Euler problem 7 and showed that brute force goes a long way.
Fotis showed a sketch of the user interface for his new not-Juno synthesizer, and showed a bunch of other interesting things. His homework is to come up with sliders for a time vs musical divisions modification he wants to do to a JSFX.
Bo talked about his Revolver compressor, an RMS-based compressor with novel transfer curves. He also showed his implementation a really nerdy way of going about BPMs.
———
- youtube.com/watch?v=nUHEPmg0sPo
- keypleezer.com/sfz-to-hise-converter
- airwindows.com/airwindows-nodal-tempo-guide
- https://goyo.app/
- https://neutone.space/
- github.com/stars/fotisandstuff/lists/nap
———
Cwits received some more components but is now having problems with the power supply.
Leandro solved Project Euler problem 6 in C++ and compared it to the ChatGPT solution. We also discussed best practices around numeric types in C++.
Fotis finished simplifying sai'ke’s Filther to make it use less CPU.
———
Bo brought us an RBJ all-pass for us to implement, which is part of a widener he’s working on. He also showed us a work-in-progress of a bus summing effect based on wave-shaping and a first-order low-pass filter.
Cwits developed an user interface for a DAW running in the Ableton Push.
Leandro solver Project Euler problem 5 in C++ and compared it to the ChatGPT solution.
———
Cwits got some new components to replace those that had been burned, but something is still wrong: for the time being the output is just white noise. Unfortunately right now he doesn’t have access to the test equipment he needs: an oscilloscope and a good multimeter.
Fotis released a synth: Wild 👏 He also showed some new plugins by Tale. And then together we adapted a fancy JSFX plugin to have a lightweight user interface.
Leandro live-coded the solution to Project Euler problem 4, and we compared to the solutions given by ChatGPT.
- github.com/fotisandstuff/wild
- en.wikipedia.org/wiki/PC_speaker
- metafunction.co.uk/post/all-about-digital-oscillators-part-1-aliasing-foldover
- metafunction.co.uk/post/all-about-digital-oscillators-part-2-blits-bleps
- taletn.com/reaper/mono_synth
———
Bo is learning about C# & Python for his day job.
Cwits had an issue with burning an expensive microcontroller, but bounced back and soldered a prototype together with a power supply for the Raspberry Pi and other components, and is now figuring out some quirks with the mute pins on some ICs on the damaged Audient audio interface he’s using for parts.
Fotis live-coded in JSFX an adaptation of an Airwindows effect to use a different type of distortion.
- jthorborg.com/index.html?ipage=signalizer
- https://forum.vegalab.ru/showthread.php?t=84035
- http://weavesilk.com
- github.com/scrtwpns/mixbox
- stephaneginier.com/sculptgl
- paveldogreat.github.io/WebGL-Fluid-Simulation
———
Cwits has refactored his code so that it isn’t so deeply nested.
Fotis showed the following projects:
- https://forum.hise.audio/topic/7434/haha-the-easter-bunny-has-delivered/
- http://www.cerlsoundgroup.org/Loris
- github.com/christophhart/loris-tools
- github.com/sfzinstruments
- github.com/sdatkinson/NeuralAmpModelerPlugin
- https://www.gpu.audio/
- forums.cockos.com/showthread.php?t=278176
Bo is considering JUCE again, given that iPlug2 didn’t work for him.
Leandro wrote a brute-force solution to Project Euler problem 3.
———
Cwits got the microcontrollers he needed and refactored some of his code, but is now taking a bit of a break and considering how to get excited about the project again.
Fotis talked about Rhapsody (a sampler) and Libre Wave (a collection of virtual instruments).
- librewave.com/rhapsody
- librewave.com
- kotaku.com/the-exceptional-beauty-of-doom-3s-source-code-5975610
- youtube.com/watch?v=BHbYPbohorQ
- https://stash.reaper.fm/browse.php?q=user%3Aashcat_lt&cat=JS-Effects&v=th&o=nd&pp=24
Bo talked about an idea for an octaver that he’s developing with the help of ChatGPT. We developed a concept in JSFX together.
- kvraudio.com/product/octaver-oc-d2-by-chris-hooker
- en.wikipedia.org/wiki/Verlet_integration
Leandro solved a few Project Euler problems in C++.
- projecteuler.net
———
Leandro is thinking of doing some Project Euler exercises in C++: projecteuler.net
Bo worked on his compressor, widener, and novel equalizers.
Fotis compiled his Wild instrument, and we wrote some JSFX for slew rates together.
———
Cwits is pondering whether to do a user interface in Qt in a monolithic way, or separate the backend from the frontend.
Fotis created a synthesizer with HISE that is reminiscent of a Game Boy.
- github.com/edkashinsky/reaper-reableton-scripts/blob/master/reaper-vkbmap.txt
- keypleezer.com/sfz-to-hise-converter
Bo created a stereo widener and showed us how it works in a goniometer.
- kvraudio.com/product/true-mid-side---mid-side-channel-extractor-by-raising-jake-studios
Leandro watched some videos by The Cherno and read “YIN, a fundamental frequency estimator for speech and music”.
- thecherno.com
- http://audition.ens.fr/adc/pdf/2002_JASA_YIN.pdf
———
Fotis worked on some scripts for using ffmpeg from REAPER to manage dialog normalization in AC3 files.
Cwits is waiting for a microcontroller to manage the clock on his project (the first one burned 😬) and playing with Qt for the user interface on a display separate from the Ableton Push display.
———
We made the data bends even more wacky by mismatching things like pixel formats on the input and output.
We prepared the project for distribution by publishing it as a GitHub Release & an npm package.
———
We talked about dealing with abusive relationships.
We added support for long files in the data bender.
We implemented a REAPER video processor to do the DVD logo thingy.
———
Bo is working on his compressor, split distortion, and playing with ChatGPT.
Fotis tweaked a script to explode media streams.
Leandro setup Visual Studio Code for C++ and played around with a library to do HTTP servers in C++.
———
We extracted the code to do one data bend and then we explored different audio formats. Lots of fun!


