Automated Composition & Generative Music

Post on 15-Feb-2017

59 views 5 download

Transcript of Automated Composition & Generative Music

Automated Composition &Generative Music

紀柏豪 2015.08

• Many aspects involve converting real world data into numbers, and/or converting numbers into sound.

• 資訊轉換為數字、數字轉換為聲⾳音。

• The relationships you establish between the world/numbers/sound are a very creative area, and setting up mappings between them is an essentially musical task.

• 如何Mapping成為核⼼心課題。

Introduction

“Simple” Example

Aeolian Harp Wind Chimes

Composing with Process

There have been many examples of simple processes creating complex structures in music:

• Canon • Counterpoint• Fugue• Phasing / iterative methods (e.g. minimalists)

One fairly consistent result of many of these fixed procedures is that you get results that you could not (reasonably) have foreseen: emergent properties

• Phasing, for example can turn a simple 8 note played against the first seven notes of the melody into a 56 note set of dyads.

• The same can be seen with many simple mathematical rule sets (e.g. fractals and dynamical systems)

Emergent Properties

Conway's Game of Life example

– very simple set of rules governing the step by step process.– can be wildly different depending on the initial settings.– try at bitstorm.org/gameoflife/

RULES1.Any live cell with fewer than two live neighbours dies (under-population).

2.Any live cell with two or three live neighbours lives on to the next generation.

3.Any live cell with more than three live neighbours dies (overcrowding).

4.Any dead cell with exactly three live neighbours becomes a live cell (reproduction).

Emergent Properties

• Software can be for a very specific composition, or it can be analogous to an instrument where it can be used as a part of multiple compositions.

• 軟體⾃自⾝身即可成為曲⺫⽬目,亦可與樂器搭配控制類⽐比聲響。

• Mappings for relating action to reaction or relating generative processes to musical outcomes share very similar concerns.

• 如何對應動作與相對應的互動,與⽣生成⾳音樂的過程有著類似的思考⾯面向。

Music and Numbers

• The relationships established in software are important compositional considerations.

• The same could be said of the decisions involved in the creation of any music tool (piano, violin, organ, Ableton Live, stylophone, woodblock, etc...)

• An interesting difference with digital tools is that they are not necessarily made with the idea that they will be studied and performed in the same manner as established acoustic instruments - they are often deliberately only for one piece or project - disposable or variable.

META-CREATION

• MaxMSP - graphical programming language. Analogous to a flow chart. Well documented. Expensive!

• Pure Data - very similar to Max, only free and open source. Documentation is a little poorer, and some of the functionality is slightly different.

• Supercollider - text based programming language. Very useful for synthesis, slightly more complicated for interactive approaches.

• Other - there are many other programming environments for working with interactive and generative music: Csound (slightly older - text based), HTML5/ Web-audio (useful for web based interaction/presentation), Common Lisp Music (algorithmic music language - now also runs in real time), C++ (openframeworks), Chuck (similar to Supercollider - popular with Live Coders).

AFFORDANCES IN ELECTRONIC INSTRUMENTS

“With the aid of electronic computers the composer becomes a sort of pilot: he presses the buttons, introduces coordinates, and supervises the controls of a cosmic vessel sailing in the space of sound, across sonic constellations ... now he can explore them all ... "

Iannis Xenakis, 1963

To take a simple example: Theremin

• One-to-one mappings• What does it afford and restrict?• Why?

Affordances in Electronic Instruments

Max/MSP

• 透過圖像化編程的⽅方式,把各種聲⾳音、互動的可能性整合於個⼈人電腦中

• 由Cycling74公司開發 https://cycling74.com

• 歐洲許多⾳音樂學院指定使⽤用的教學軟體

• 本次⼯工作坊使⽤用Max/MSP去讀取Arduino輸出的電壓值,控制簡易聲⾳音合成線路中的可變數值

Useful Max Objects for generative approaches[random]

output a random number in a certain range.

[drunk]

moves randomly but sequentially up and down

[>] and [<]

'greater than' and 'less than' – can be used for conditional operations

[%] wrap a number into a certain range (as with time for example). e.g. (8 + 7) % 12 = 3

[itable]

can be used for probabilities when sent a 'bang' trigger. The height of each table value represents the probability for that index

Useful Max Objects for generative approaches

[preset]

useful way of remembering parameters and organising material in composed manner

[zl lookup]

very useful for turning a simple set of numbers (0, 1, 2, 3, 4, ...) into a musically useful set of numbers, e.g. pitch (60, 62, 64, 65, ...), rhythm (1, 0.5, 0.25, 0.25, 1...), durations, filter cutoffs, delay times, eq settings, distortion levels, feedback levels, etc…

[line]

generate ramps and line segments from one value to another within a specified amount of time which is very useful for envelop smoothing.

[select] and [route]

compare the inputs and organise numbers and messages with the order.

Sound Synthesis

• 聲⾳音合成 - ⾮非⾃自然界的聲⾳音是如何產⽣生的呢?

• 參數控制 - 如何控制、控制什麼?

• 合成器(Synthesiser)是什麼?

• 波形(Waveform)、濾波(Filter)與封包(Envelope)

• 介⾯面設計(UI design)

基礎聲⾳音合成線路⽰示意

Thank You

Contact : chipohao@gmail.com

Portfolio:http://chipohao.com