Page 1 of 1

real-time harmonization of your voice in supercollider

Posted: Sun Dec 29, 2013 1:14 pm
by shimpe
Here's something I've had too much fun with the past 2 days.

The idea is this: you sing (or whistle, play, ...) monophonic notes into a microphone, and the computer
in (nearly) real-time adds pitch-shifted versions of your singing as to create a polyphonic choir piece. Each note
can be harmonized differently based on what you define in the UI. The harmonization can be adapted in the UI on the fly.

For a better explanation, a sound sample and the full code, head over to ... voice.html

This works with the current version 3.6.6 of supercollider

Have fun, feel free to fork and improve, but beware... highly addictive!

Re: real-time harmonization of your voice in supercollider

Posted: Mon Dec 30, 2013 8:05 pm
by ssj71
Looks like fun! If you want to up the anti, Harmon International did a demo when I was in school and showed us a tool they had that did this, but it would automatically voice harmonies according to the chords you play on a second audio input! I haven't dug into supercollider enough to try such a thing, but it would be even more addicting if it did that (for me at least). Its definitely not a task for the faint of CPU though. Not sure how plausible it is for RT without some specialized DSP hardware.

Re: real-time harmonization of your voice in supercollider

Posted: Tue Dec 31, 2013 9:53 am
by shimpe
Hi Spencer, good to see you.

If we'd replace the secondary audio source with a MIDI instrument (e.g. keyboard) it should be quite similar to what is available now already - barring some
implementation details I'll have to think about. Sounds like a nice feature to try and implement in the new year (happy new year btw!).

If the secondary audio source is really an audio source, then it might still be doable if the source was monophonic (since that has a well-defined pitch that can be extracted with today's supercollider functionality). It may be interesting to just try it out with polyphonic, multitimbral stuff as well (after all the pitch extraction will always find something, even if it's not what we'd hope for) - perhaps another experiment for the new year :). I'll have to fake my secondary audio input with files though, since my equipment is rather... ahm... basic ;)

In the mean time, here's a longer piece made with HEAD revision in the github repository:

Re: real-time harmonization of your voice in supercollider

Posted: Sat Jan 04, 2014 10:20 pm
by StudioDave
Very cool ! I'll be testing this one, thanks for the SC code. :)