k y m a • t w e a k y — the kyma collective || view the current website || February 2015 Archive

/ WebHome / Microsounds / Share.McClainMicrosoundsDiscussion


Share Section



All Sections


Login / Register 
Change password
Forgot password?

Symbolic Sound

Kyma Forum
Eighth Nerve

TWiki Links

TWiki Formatting FAQ
What is TWiki?
%SESSION_ENDIF% twiki.org

David McClain's Microsounds

Please note that you should add spaces to the file name so that it ends up named: User Microsound Classes.asy

Is there a .KYM file that includes exclusively and all David's basic sound so I can customize the Prototype window?

-- KarlMousseau - 09 Jan 2004

David could you describe what is in your microsounds file?

-- KurtHebel - 11 Oct 2003

Probably the most useful element in the collection is the multistage IIR Filter, called DirectIIR, that permits up to 8 sections of coefficients. Each section implements a 2nd order filter section described by 5 coefficients b0,b1,b2,a1,a2 from the 2nd order transfer function:

H(z) = (b0 + b1/z + b2/z^2)/(1 - a1/z - a2/z^2)

In use these coefficients must be scaled by dividing them by 2. This permits one to implement filter sections with coefficients as large as 2 in absolute value.

By itself this may not seem very useful to most people unless they understand DSP filtering. But there are quite a number of DSP prototypes that I have provided elsewhere that calls upon this DirectIIR microsound class. These include the 2-pole parametric EQ and shelving filters, among others.

The microsound class ALog2 implements a scaled exponential 2^(32*x) for input x, where x generally comes from some manipulation of a scaled logarithmic value as implemented by the other microsound class called Log2Norm = Log2(x)/32. These may be useful for conversion of linear signals into decibal representation in a signal flow network. The microsound DBConvert performs a quadrature conversion to scaled decibel values:

output = Log2(left^2 + right^2)/64 = input dB/192.7

Class HWRect performs halfwave rectification by limiting the output to positive values or zero from the input.

Class PLimit and MLimit are hard numeric limiters. PLimit prevents the input from rising above some upper limit, and MLimit prevents the input from falling below some lower limit.

Class LRMax computes the instantaneous maximum value of the left and right inputs, while LRAbsMax computs the instantaneous maximum value of the absolute values of the left and right inputs.

There are a number of other microsound code snippets in this file that are of lesser value to most people. Some are legacy experiments, such as the CanonBiquadIIR biquadratic filter implementations that Kurt convinced me were unnecessary for the Motorola DSP's. FBDirectIIR is simply the class DirectIIR with its output fed back by some amount to the input -- implementing a feedback within the microsound. (I do not find this terribly useful... it was just an experiment). Microsound Crescendo is a nearly useless experiment left over from the early days of my Crescendo hearing correction work. This is NOT the Crescendo algorithm as claimed in the notes...

-- DavidMcClain - 16 Nov 2003

[why do all the question marks appear in my proper names? (this one is for real!)]

it is one of the features of the wiki language. any word or compound word with two upper cases it in become hyperlinks or WikiWords. you can click on the question mark to create discussions of that topic. for example, DirectIIR? could link to a discussion of said topic or defination. there is more info in the GoodStyle section.

thanks again David for your contributions. I have learned much over the years reading your insights into DSP.

-- BenPhenix - 17 Nov 2003

You can turn this feature off in two ways:

  1. Place <nop> immediately before the word you do not want the link on.

  1. Place a <noautolink> / </noautolink> pair around the text you do not want kyma•tweaky to make automatic links.

I modified your text using the second method to get rid of the automatic links.

-- KurtHebel - 17 Nov 2003

© 2003-2014 by the contributing authors. / You are TWikiGuest