Intertnational Festival/Competition SYNC.2010 Tutorial(1)

Technology for Computer Music / Interactive Multi-Media Performance with New Interfaces

Yoichi Nagashima (SUAC/ASL)


(1) Performance, Sensor, Interaction

At first, I introduce the key concepts - "Algorithmic Composition", "Sensor", and "Interaction" briefly with Max/MSP/jitter DEMO patches.

    1. Max/MSP - Algorithmic Composition Environment with MIDI and audio

    2. Composition is "construction of interaction"

    3. jitter - Graphical Environment in Max/MSP

    4. Sensor information

(2) Why developing/using sensors in composition ?

Secondly, I will introduce the movies of my works of interactive multimedia arts using original sensors, as samples of the theme of this tutorial.

    1. CIS (Chaotic Interaction Show)

      System Blockdiagram
    2. Muromachi

      System Blockdiagram
    3. Strange Attractor

      System Blockdiagram
    4. Virtual Reduction

      System Blockdiagram
      part of the Score
    5. David

      System Blockdiagram
    6. Asian Edge

      System Blockdiagram
    7. Johnny

      System Blockdiagram
    8. Brikish Heart Rock

      System Blockdiagram
      part of the Score
    9. Atom Hard Mothers

      System Blockdiagram
      part of the Score
    10. Ten Nimo Noboru Samusa Desu

    11. Visional Legend

      System Blockdiagram
      DSP Kyma patch
      Score example
    12. Bio-Cosmic Storm

    13. Eternal Traveller

    14. Voices of Time

      System Blockdiagram
      part of the Score
    15. Piano Prayer

      part of the Score
    16. Great Acoustics

      part of the Score
    17. Beijing Power

    18. Wandering Highlander

      System Blockdiagram
    19. Windmill (Installation and Performance) produced by my students

    20. Visional Legend ver.2001

      System Blockdiagram
    21. tegoto

      part of the Score
    22. BioCosmicStorm-II

    23. Japanesque Germanium

    24. Berlin Power

    25. Quebec Power

    26. Wriggle Screamer / Wriggle Screamer II

    27. Nature System

    28. Cyber Kendang

    29. Resonated Vibrations

    30. controllable untouchableness

(3) Sensors and Microcoltrollers

    1. MIDI

    2. AKI-H8

    3. I-Cube

    4. Gainer

    5. Arduino

    6. Funnel

    7. Propeller

(4) Treating Sensor Information in Max

Here are some sample patches which treats the sensor information in composition / performance control. This technique can be used in MSP sound programming and in jitter graphic programming.

    1. Gating

      At the front-end of the MAX patch, I set gating switch for sensor information. Thus, unexpected inputs troubles will be rejected.

    2. Cutting Period

      Using sensors as trigger commander, sometimes I want to cut for a moment after an event. This simple patch realizes the Cutting Period of system senseless.

    3. Sampling

      If sensor information traffic is too heavy, this patch samples with the [sampling time] period.

    4. Averaging (Filtering)

      If sensor data moves too sensible or with higher frequency noises, this patch reducts the higher noisy movement. This is 5 stages moving avarage calculation, or Low Pass Filtering.

    5. Threshold Switch

      This patch outputs triggered bang when input level crosses over than preset threshold.

    6. Peak Switch

      This patch generate a trigger bang when input level is over the higher threshold level and under the lower threshold level within the set interval time.

    7. Level Conversion (Normalize)

      Some analog sensors output the regular range voltage of A/D input of AHI-H8 (+5V - 0V), but many analog sensors cannot output this full range. For example, one sensor output range is +1.5V - +4.0V. This patch converts these narrow input voltage to full range fo MIDI (0-127). You may set the lowest voltage to [offset down], and set the gain [100 = equal gain].

    8. Inversion (Polarity)

      This patch converts the direction of the value of sensors. I know many of you used this patch between MIDI Keyboard Note Number and GM module !

    9. Random Generator(1)

      This patch is a very simple sample of algorithmic generator of [random music]. You can control the sliders of each parameter.

    10. Random Generator(2)

      You can control the interval of each events by sensor information. This means [tempo] control in music.

    11. Random Generator(3)

      You can control the ragne of rendom genaration by sensor information. This means [note range] of the part (instrument).

    12. Random Generator(4)

      Normal [random] object outputs the [0-n] integer, so the scale is chromatic. You can set the multiplied value with this random integer, simplest [scale] is generated. For example, [* 1] means chromatic scale, [* 2] means the whole tone scale, [* 3] means the Diminish 7th scale, [* 4] means the Augmentd scale, [* 5] means the Sus4 scale. I like [* 2] character, so I use frequently in my work...

    13. Random Generator(5)

      You can control the offset of genarated note number by sensor information. This also means [note range] of the part (instrument).

    14. CHAOS Generator(1)

      This patch is the simplest demonstration of Chaos. 1-dimensional simplest chaos is calculated with the [Logistic Function]. The value (floating, not integer) [X(n)] range is 0.0 - 1.0. The chaos parameter [Myu] range is 3.0-4.0. So the calculation equation is very simple:

      X(n+1) = Myu * X(n) * { 1.0 - X(n) }

      Thus, next [X(n+1)] falls in the same range 0.0-1.0, but in the chaos zone with the parameter [Myu], the final result cannot be respected by anyone (by God!). This patch demonstrate the calculation and the behavier of the Chaos. You can [listen to] the Chaos !!

    15. CHAOS Generator(2)

      This patch controls the Chaos parameter [Myu] by sensor information. But, using this type of Chaos in music, many audience cannot feel whether [random] or [chaotic vibration]. This is deeply theme of [chaos in music], I think.

    16. Tonality Generator

      This patch is a sample of [weighten-scale] method. You can control each notes[C,C#,D,.....,Bb,B] value, and this value is the possibility of random generated scale of the note. You can easily apply the sensor information to this patch, so this is your homewark.