castleman.space

Thomas Castleman's website.

Harmoniser

2018-19

In late 2018, Johnny and I started working on an audio processor that would harmonize live vocals with the notes specified by a MIDI controller. I took inspiration from the harmoniser built for Jacob Collier, which was created at MIT by Ben Bloomberg.


A vocal sample visualized with a script we used to test our peak finding algorithm

Our harmoniser, the source for which can be found here, interfaces with a microphone and MIDI keyboard. It works as follows:

  1. The pitch (if any) of the input signal from the mic (the vocal track) is detected
  2. Several copies of this signal are made, one for each note coming through the MIDI keyboard
  3. These signals are each pitch-shifted (using a technique called Pitch Synchronous Overlap and Add) to the corresponding frequency of those MIDI notes
  4. All the signals are then averaged back together into one, which is played back.

The result is a really interesting layered vocal track that matches the notes held on the MIDI keyboard.

Demos

We even incorporated this harmoniser into a tune. Listen below (as of now, unnamed, featuring Matt Wyatt, David Argo, & Thomas Castleman).