In audio programming, it is useful to know when and how much degradation you introduce in a processing chain, e.g. when applying data compression, band-limiting or reducing noise.
Audio quality predictors, a vibrant topic in research and academia, can help identify the severity of degradation during development phase. I will give a brief, beginner-friendly introduction to what audio quality predictors do and how you can leverage them in your work.
In the second part of this talk, I will give a light-weight introduction to Rust and what I have learned by porting an audio quality estimator to Rust. I will introduce some of the libraries I’ve used and give anecdotal tips on how I picked up a language while having a day job and an otherwise busy schedule.
The JUCE AudioProcessorValueTreeState has become an important part of many JUCE plugins as a way of managing a plugin's parameter state.
In this talk we'll look at some of the positives and negatives of using the AudioProcessorValueTreeState, and discuss the implementation of a system which can replace the AudioProcessorValueTreeState with an emphasis on strong parameter types, threading clarity, and making the most of modern C++ capabilities.