Cmplx = Complex, RM = Recursive (Ring) Modulator


With complex numbers audio signals one can do strange things that cannot be done with normal real audio signals. One of these things is making a linear frequency shift (not to confuse with pitch shifting, where the spectrum is stretched or compressed). This linear frequency shift is done by complex modulation or in mathematics it is called a complex multiply.

In this prototype I created a recursive ring modulation. What does it mean? When taking a simple Twiddle1 as InputVector (= complex numbers audio signal) and also this same Twiddle1 as ModulationVector. The output consists of the original plus a frequency-shifted version of itself and again a frequency-shifted version of that one and of that one etc. etc. Since the original and the modulator frequencies are the same, a full harmonic spectrum is synthesized.


With simple twiddles as inputs the output feels predictable, though due to the recursive nature a bit organic. Combining multiple twiddles for input tend to produce FM-like signals. Your imagination is the limit.


Can you insert normal real audio signals? Yes, but scale them always down with 0.707 (or 2 sqrt) or use only the left or right channel as input. The effect will be like a normal ring modulator in feedback setup: frequencies shift up and down at the same time. Most results will sound very dirty and due to the recursion it will very fast clip internally (Attenuate the ModulationVector).


Can a real audio signal be made into a complex numbers audio signal? Yes, using a Hilbert transform.


Can a Hilbert transform be done on the Capybara? Yes with the HilbertTransform prototype Sound. Offline you could use for example Matlab. The original should be on the left channel and the Hilbert transformed version on the right channel. This is opposite for the HilbertTransform prototype, so swap L & R. Using this technique on a speech sample with this prototype will generate a strange metallic speech signal (a bit like a bad mobile phone sometimes).


-- ChristiaanGelauff - 23 Feb 2007             Back one page