As I was writing this, I realized that there maybe too many lines of code in this post, but then I remembered the Linus Torvalds quote: “Talk is cheap. Show me the code.”, so this one’s for the code loving inquisitive coders out there.
If you don’t like the code, just look at the diagrams and listen to the samples I guess… Or think of this as documentation in prose or something…
If you’ve found yourself here without context, it’s a part of a series on making synthesizers, the first part deals with oscillators, this post uses components described in…
This is a post about getting multiple models to run on the GPU at the same time. This is a post about the torch.multiprocessing
module and PyTorch.
This could be useful in the case of having to serve the model as an API where multiple instances of the same model can be running inference on a single GPU in a concurrent manner. Alternatively one could also use Torchserve.
This post is divided into 4 sections:
This is the finalé.
This is where we’ll finally take the components from the previous two posts on Oscillators and Modulators, and combine them with some additional stuff to make a playable synthesizer.
Note
Two years ago when I was a wee young lad with coding chops kinda restricted to loops and conditionals, I wanted to make a synth, because synths are awesome. But I couldn’t. 😐
Recently, when I was freestyling on Jupyter, as one does given a dearth of friends, and an affinity for code, I realised synths aren’t that difficult to code out, they are just generators of periodic sequences of numbers that are fed really quickly into a speaker.
So I gave it a shot, and I was right. …
Infrequently writes about things.