Recent Posts
Taking the digression from my last two posts to the extreme and the reason for half a year of radio silence: I built a bass guitar! This post is a bit of a photo-blog of my first venture into luthiery, so you've been warned, there are many images ahead. Read more…
After yet another long period of radio silence, I'm back with an update on my digression into analog audio processing. So no programming again, sorry. But this time, we move from the theoretical realm of analog electronics to the physical implementation! Sounds interesting? Then read on! Read more…
In another digression from my running series of posts on using Rust to program the Bela, I decided to do some analog audio processing. Why analog instead of the more familiar to me digital signal processing route? There are several reasons, one even related to the aforementioned series! Read more…
Back from a winter holiday break, we return to our series on using Rust with Bela. Last time, we split out our library crate into a separate package, so we can ensure the no_std
attribute is respected. Furthermore, we began parsing MIDI events and connecting them to the virtual tone wheels. However, we did so in the simplest possible, one-to-one manner. Let's fix that. Read more…
After a brief interlude on 3D graphics in the browser, we're picking our series on using Rust with Bela back up. So far we have discussed setting up a Rust cross compilation project for Bela, the projects I plan to cover and benchmark-based feasibility checks, and the improved safe Rust API. This time, we'll actually use those APIs to begin interpreting MIDI signals making some noise! Won't quite be music yet, but we're getting there. Read more…
If you know me personally, you know that I love to rail on web technologies, especially JavaScript/ECMAScript and its long list of WTFs. So why did I recently tweet about a hybrid article/web app I wrote? Let me explain. And spoiler alert: I'm not planning to switch to web dev any time soon. Read more…
Continuing with the current series of blog posts on using Rust to develop Bela projects, we have so far talked about setting up a Rust cross compilation project for Bela and the projects I plan to cover at some point, as well as some basic feasibility checks using portable SIMD code and criterion
. This time, we'll delve into the Bela C API, the reasoning behind the safe Rust FFI API, and also finally produce some sound. Read more…
Last time I wrote about how to cross-compile code for and run it on the Bela using Rust, but there is still a lot of ground to cover. I haven't gone into any detail about what I'm even planning to do with the Bela or how to access the Bela-specific APIs. In this post, I'll go into the former, including some basic feasibility checks which will involve — you may have guessed it from the title — SIMD and sines. Read more…
So my rate of posting to this blog has dropped from once a year to… well… it's been almost four years. But I can assure you, the reports of my death have been greatly exaggerated (to quote Mark Twain). In any case, a few things have happened. Read more…
When I first started this website, I only intended to offer my VST Plugins here. However, I since added a blog, which I operated under a separate subdomain (https://wordpress.electric-snow.net) with the intent of later merging the two. But I never did. Until now. Read more…
Earlier today, I saw C++ Weekly Ep 13 Fibonacci: You're Doing It Wrong and in my opinion the suggestion made there to use Binet's formula to calculate arbitrary elements of the Fibonacci sequence is dangerous. And as somebody is wrong on the internet I decided to write this short blog post on the topic. Read more…
After commenting on Baptiste Wicht’s blog post on C++17 fold expressions (this post is an extension of my comment) and reading N4295, I was left wondering what purpose they fulfill. Read more…