Wavetable Synthesis is a method for synthesizing audio by interpolating between different pre-sampled waveforms stored in a table. It's a very neat way to generate sounds that change over time, allowing the different waveforms to morph into each other slowly in order to create rich and complicated textures.
I've been experimenting with synthesizing audio in the web browser via my web-based DSP project, and figured that wavetable synthesis would be a cool addition to the platform. It seemed like a simple enough thing to implement from scratch and an awesome opportunity to put Rust and WebAssembly to work in a useful way! As it turns out, it's both a really well-fitting usecase for Rust/Wasm and terrific context for a tour of the broader WebAudio landscape.
In this post, we'll throw something random into, well, a math-oven and viola, music! We'll just skip the crash. In other words, we're going to teach our computers to "sing" using idiomatic Rust, backed by a little light physics and music theory.
Shortwave is an internet radio player that lets you search for stations, listen to them and record songs automatically.
In my spare time I’m an emergency services volunteer, and one of the tasks our unit has is to run the radio network and keep track of what’s happening. This can be a pretty stressful job, especially when there’s lots of radio traffic, and it’s not unusual to miss words or entire transmissions.
To help with a personal project that could make the job easier I’d like to implement a basic component of audio processing, the Noise Gate.
View all tags