Sunday, February 28, 2010

OK! Whew! The proposal critique on Friday was pretty intense. Big, Huge thank yous to all of my fellow students who were supporting me on that day.

One of the things that came out of the critique was dimensionality and causality. In short, it's not enough to simply have the Decay of the instrument coupled to the input power. I need to come up with a way of connecting a larger number of expression points, or dimensions of control.

Anyway, the problem of mapping, as Joe Paradiso calls the coupling between sensor signals and synthesis needs to be resolved here. Prior to the presentation, I had culled a sketch of a simple circuit for combining the output of three generators, such as those prototypes listed in my Generators chapter. It belongs to that special family of electronic synthesis circuits which does not require a microcontroller, but the complexities of its tuning remain to be explored. Would anyone like to see some equations related to this sort of thing? They would belong to a family of non-linear summing circuits comprised of transient, audio-frequency signals of seventh or ninth order combining in three-dimensions. Expected frequency ranges would be 0-200Hz. The entire system would be reverse-transformed through the delta robot equations of motion.

But now that additional curiosity has been raised in this area, I have been considering new multi-generator configurations in which N motors are mechanically connected and attached to various points of the analog synthesis circuitry. For example, one dimension powers the oscillator, the second dimension powers the filter, and the third dimension powers the amplifier.



I have put together some generators capable of producing power from multi-dimensional gestures, including the inverted delta robot, in which linear movement is translated into a complex (yet predictable!) non-linear movement. I predict people will like that better because of a conversation I had with the band OK GO! As performers, video actors, and composers, they are familiar with digital media technology in video as well at least to some extent modern synthesizers. They requested that any one control, such as a slider or knob, NOT map to any single synthesis parameter, but to a group of them. A story accompanied this request, which was centered around the topic that two people can play the same piece of music and it could come out completely differently. They were visitors of the kind I especially relish because they are currently performing and have lots of experience.

also, wouldn't it be cool to have a "basketball generator" which is like a delta robot, but springs back?

In the meantime, the latest conversion algorithm for arbitrary audio into 1-bit continues to evolve. As my friend told me this weekend, "You've been approximating waveforms for 10 years!"

2 comments:

  1. "Would anyone like to see some equations related to this sort of thing?"

    Yes!

    "They requested that any one control, such as a slider or knob, NOT map to any single synthesis parameter, but to a group of them. A story accompanied this request, which was centered around the topic that two people can play the same piece of music and it could come out completely differently."

    Does mapping controls to multiple synthesis parameters increase the expressiveness? I'm thinking...I need some help. :)

    "In the meantime, the latest conversion algorithm for arbitrary audio into 1-bit continues to evolve."

    Are you referring to conversion methods similar to PWM and pulse-density modulation? I love the idea of pulse density modulation where the distribution is maximally even (spread out instead of bunched up like they are in PWM) of the pulses for any density. I'm not sure, but it I suspect that this generally shifts the energy of high frequency artifacts to higher frequencies than traditional PWM making it easier to build a good filter which translates into a lower noise floor in the signal's part of the spectrum. I need to learn more about how all that works out so I can stop running into it or over-designing to prevent it. I'm interested in hearing things about your D/A encoding ideas.

    Sweet entry!

    ReplyDelete
  2. I've been reading about sigma-delta modulation a little bit. I think there's a possibility of using it to enhance the resolution of a much smaller D/A. For example, to begin with an 8-Bit and increase to 10 or 12 bits, without using all too much CPU. If the technique could be extended to turning e.g. 12-bits into 16, that would be pretty sweet.

    So, the scheme in general that I'm considering for the Atmega32 is to run the PWM with a small period, e.g. 8-bits with the cpu clock as input. So, e.g. 16MHz / 256 ~=62kHz. Then, render data at e.g. 1/4 - 1/8 of that, e.g. 15KHz, 7.5kHz, then feed that stream to a 4:1 upsampling sigma-delta converter.

    So, the ISR gets called at 62kHz. At this rate, the sigma-delta conversion is performed. The synthesis value is computed every N (4-8) cycles.

    The sigma-delta conversion itself is IIRC roughly computationally equal to an integrator. It is essentially a single-pole low-filter and a quantizer. Through magic, it is able to "anticipate" the feedback to some degree because it "knows" the quantization error at the time it is quantized. Or so I gather...

    Anyway, the real benefit of the sigma-delta modulator seems to happen when a number of them are used "recursively." (Yo Dawg!) There are some formulas out there. I have a bunch of pdfs on this... I should repost them. The first benefit comes with a 1st order sigma-delta modulator. Then second and thrid stages are sweet to be sure, but the fourth order seems to be absolutely where it's at. When combined with oversampling, the delta-sigma modulator is especially useful, because, like dithering, it can shift noise out of the audible spectrum. poor mosquitos :( (luckily most of our amplifiers and speakers won't amplify the inaudible signals)

    So yeah, I think there's some possiblity for scaling this to a faster microcontroller than the Atmega32 :) The FV-1 chip does it all in hardware, with a variable sampling rate, even! I think it uses 4th or 5th order sigma delta modulator.

    When i wrote that blog, I was using sigma-delta modulation to reduce error through a 1-bit quantizer. It definitely sounds better, but I'm also trying to keep the signal efficient.

    ReplyDelete