Sign in

The histograms that say it all.

The plot in the banner image of this post shows two histograms. These histograms show the distribution of marks (in the percentage of total) obtained by students attempting exams conducted by the Mumbai University in the years 2019 and 2020. In 2019, the exams were held offline. In 2020—the start of the COVID era—due to the pandemic, the exams were held online.

If you are thinking “How can you make such a sweeping, audacious statement?”, all I need for a rebuttal is the histogram. I know not everyone cheated in the literal sense, but if you look at the 2019…

We are all just modulated oscillations. Python Icon made by Freepik from Flaticon.

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…

Before We Start

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…

Title image, concurrent inference.


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:

  1. Context — Qualitative Evaluation of Trackers, a skippable section that provides context in the form of a use case.
  2. Two Methods for Concurrent Inference, a…

The Finalé. Icons made by Freepik, Those Icons and OmenBreeeze.

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.


  • In case you don’t have a MIDI controller such as this, then you’ll have to set up a virtual MIDI controller that will allow you to use your computer keyboard as a MIDI controller; you can use VMPK to setup the virtual controller.
  • Some samples are in stereo, so better to use earphones or headphones.
  • I am a garbage keyboardist, so please excuse my terrible…

The sine took time to make. Python Icon made by Freepik from Flaticon.

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.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store