You are on page 1of 328

,

& ,

&

&

ISBN: 978-960-603-408-4

Copyright , 2015

Creative Commons -
- 3.0.
https://creativecommons.org/licenses/by-nc-nd/3.0/gr/



9, 15780
www.kallipos.gr

. . ,
, ,
.

Andr Breton, .

..

: , J_dith, 2015.

iv

1 . .
1. .
1.1. . ,
.
1.1.1. .
1.1.2. .
1.1.3. .
1.2. . MUSIC
.
1.2.1. .
1.2.2. ;
1.2.3. .
1.2.4. Assembly ( ).
1.2.5. .
1.2.6. .
1.2.7. .

2 .
2.1. .
2.1.1. .
2.1.2. .
2.2. .
2.2.1. Fourier.
2.2.2. .
2.2.3. .
2.2.4. FFT-IFFT.
2.3. .
2.3.1. .
2.3.2. .
2.3.2.1. (Alias Frequencies).
2.3.2.2. Nyquist. (Aliasing). (Foldover).
2.3.3. PCM .
2.3.4. (Dynamic Range).
2.3.5. : .
2.4. .
2.4.1. .
2.4.2. : dB SPL. (Loudness).
2.4.3. .

v
3 .
3.1. .
3.1.1. .
3.1.2. .
3.1.3. .
3.1.4. .
3.1.5. .
3.1.6. .
3.2.
.
3.2.1. .
3.2.2. .
3.2.3. - -.
3.3. .
3.3.1. (Oscilloscope).
3.3.2. (Spectrum Analyzer).
3.3.3. . (Spectrogram). 

4 .
4.1. .
4.2. , : , .
4.2.1. (Additive Synthesis).
4.2.1.1. . .
4.2.1.2. .
4.2.2. (Subtractive Synthesis).
4.2.2.1. .
4.2.2.2. .
4.2.2.3. .
4.2.2.4. . .
4.2.2.5. / .
4.2.2.6. / .
4.2.2.7. : FOF Synthesis, Resonators.
4.3. , - : (AM), Ring Modulation,
(FM).
4.3.1. (Amplitude Modulation).
4.3.2. (Ring Modulation).
4.3.3. (Frequency Modulation).
4.4. , : , .
4.4.1. (Wavetable Synthesis).
4.4.2. (Delay Lines).
4.4.2.1. : FIR .
4.4.2.2. (Circular Buffer).
4.4.2.3. (Comb Filter).
4.4.2.4. (Delay).
4.4.2.5. .
4.4.2.6. (Allpass Filters).
4.5. , - : (Granular Synthesis).
4.5.1. .

vi
4.5.2. : (Sonic Grains).
4.5.3. .
4.5.4. .

5
.
5.1. .
5.2. .
5.2.1. (Frequency Response Curve).
5.2.2. (Dynamic Microphones).
5.2.3. (Condenser Microphones).
5.2.4. .
5.2.4.1. .
5.2.5. .
5.3. .
5.4. (DAW-Digital Audio Workstation).
5.4.1. Tracks.
5.4.2. Audio Track DAW.
5.4.3. .
5.4.4. (Buffer Size).
5.4.5. (Audio File Formats).
5.5. (Editing).
5.5.1. (Trim) (Non Destructive Editing).
5.6. .
5.6.1. ADSR. , .
5.6.2. (Crossfade).
5.7. .
5.7.1. (Digital Signal Processing-DSP).
5.7.2. (Dynamics Processing).
5.7.2.1. (Compressor).
5.7.2.2. (Noise Gate).
5.7.2.3. (Limiter).
5.7.2.4. - (Multiband Compressors-Limiters).
5.7.2.5. (Expander).
5.7.2.6. De-esser.
5.7.2.7. .
5.7.3. (Delays).
5.7.3.1. (Reverb).
5.7.3.2. (Convolution Reverb).
5.7.3.3. (Plate Reverb).
5.7.3.4. (Spring Reverb).
5.7.3.5. Presets.

6 MIDI Open Sound


Control (OSC).
6.1. T Musical Instrument Digital Interface (MIDI).

vii
6.1.1. ;
6.1.2. .
6.1.3. (Parallel-Serial Transmition).
6.1.3.1. .
6.1.3.2. .
6.1.4. MIDI;
6.1.5. MIDI : In-Out-Thru.
6.1.5.1. MIDI Out.
6.1.5.2. MIDI In.
6.1.5.3. MIDI Thru.
6.1.6. MIDI.
6.1.7. (Continuous Controllers).
6.1.8. Bits Bytes.
6.1.9. Status Bytes Data Bytes.
6.1.10. MIDI (MIDI Channels).
6.1.11. .
6.1.12. MIDI .
6.1.12.1. Channel Voice Messages.
6.1.12.1.1. Note On.
6.1.12.1.2. Note Off.
6.1.12.1.3. Polyphonic Key Pressure (Aftertouch).
6.1.12.1.4. Control Change.
6.1.12.1.5. Program Program Change.
6.1.12.1.6. Channel Pressure (Aftertouch).
6.1.12.1.7. Pitch Bend.
6.1.12.2. Channel Mode Messages.
6.1.12.2.1. All Sound Off (cc# 120).
6.1.12.2.2. Reset All Controllers (cc# 121).
6.1.12.2.3. Local Control (cc# 122).
6.1.12.2.4. All Notes Off (cc# 123).
6.1.12.2.5. Omni Off (cc# 124).
6.1.12.2.6. Omni On (cc# 125).
6.1.12.2.7. Mono On (cc# 126).
6.1.12.2.8. Poly On (cc# 127).
6.1.12.3. System Messages.
6.1.12.4. System Real Time Messages.
6.1.12.5. System Common Messages.
6.1.12.6. System Exclusive Messages (SysEx).
6.1.13. General MIDI (GM).
6.1.14. .
6.1.15. MIDI (Quantization).
6.1.16. Sequencers.
6.1.16.1. Step Sequencing.
6.2. Open Sound Control.
6.2.1 Client-Server.
6.2.2. OSC.
6.2.3. OSC (OSC Message).
6.2.3.1. OSC -OSC Address Pattern.
6.2.3.2. -OSC Type Tag String.
6.2.4. OSC (OSC Bundle).

viii
6.2.5. OSC .
6.2.6. OSC : SuperCollider.
6.2.6.1 SC: Client-Server.
6.2.6.2. SC Client.
6.2.6.3. SC Server.

7 .
7.1. .
7.2. .
7.3. On-Off .
7.4. .
7.5. DIY.
7.6. (Gestural Controllers).
7.6.1. .
7.7. (Tangible User Interface-TUI).
7.8. (Pitch Tracking).
7.9. (Amplitude Following,
Amplitude Thresholding).
7.10. . .
7.11. -.
7.12. .
7.13. .

8 .
8.1. : .
8.2. : .
8.3. - Musical Set Theory.
8.3.1. (Pitch Class Set Theory): .
8.3.2. .
8.3.3. - (Normal - Prime Form).
8.3.4. : (Complementation) -
(Combinatoriality).
8.3.5. (Duration Series) - (Time Point Sets).
8.3.6. .
8.4. .
8.4.1. .
8.4.2. .
8.5. (Punctualism).
8.5.1. .
8.5.2. Olivier Messiaen: (Quatre tudes de Rythme), 1949-50.
8.6. (Integral/Total Serialism).
8.6.1. .
8.6.2. Pierre Boulez: Le Marteau Sans Matre (1953-54, 1957).
8.6.3. Karlheinz Stockhausen: (Klavierstcke).
8.6.3.1. Group Composition: .
8.6.3.2. Variable Form: .

ix
8.7. : (Stochastic Music).
8.7.1. (Aleatorism).
8.7.1.1. .
8.7.1.2. .
8.7.1.3. .
8.7.2. .
8.8. .

9 .
9.1. .
9.2. .
9.3. .
9.4. .
9.4.1. 1. : .
9.4.2. 2. Tribal Cities.
9.4.2.1. .
9.4.2.2. .
9.4.2.3. .

10 Codetta. .
10.1.
. .
10.1.1. .
10.1.2. .

. .

x
-

ADC Analog to Digital Converter


ADSR Attack-Decay-Sustain-Release
AM Amplitude Modulation
ar audio rate
AU Audio Units (Apple)
CDP Composers Desktop Project
CLM Common Lisp Music
DAC Digital to Analog Converter
DAW Digital Audio Workstation
dB Decibel
DSP Digital Signal Processing
ER Early Reflections
FFT Fast Fourier Transform
FM Frequency Modulation
FPS Frames Per Second
GM General MIDI
GUI Graphical User Interface
HCI Human Computer Interaction
IFFT Inverse Fast Fourier Transform
IRCAM Institut de Recherche et Coordination Acoustique Musique
ITD Interaural Time Difference
kr control rate
LFO Low Frequency Oscillator
LSB Least Significant Byte
MIDI Musical Instrument Digital Interface
MSB Most Significant Byte
MTC MIDI Time Code
OSC Open Sound Control
PSGS Pitch-Synchronous Granular Synthesis
RT Reverb Time
RTAS Real Time Audio Suite (Avid Technology)
SC SuperCollider
SGS, QSGS Synchronous and Quasi-Synchronous Granular Synthesis
SMPTE Society of Motion Picture and Television Engineers
STFT Short-Time Fourier Transform
TUI Tangible User Interface
UG Ugens Unit Generators
UPIC Unit Polyagogique Informatique CEMAMu
VCA Voltage Controlled Amplifier
VCF Voltage Controlled Filter
VCO Voltage Controlled Oscillator
VST Virtual Studio Technology

xi

, , :
. , ,
.
. , . ,
: , ,
, , , , ,
.
.
.
.
:
.
. / ,
, , , Sergio Luque, Peter Batchelor, Ake Parmerud, Todor Todoroff
Caroline Traube .
.
. -
. , -
, .


, 2015

xii

&
.
.
,
.
1
,
. .
, .
2
. Fourier, FFT IFFT,
. ,
,
. ,
, .
3
.

. ,
(- -). ,
.
4 , ,
( , ,
, ,
), , - ( -AM, Ring Modulation,
-FM), , ( ,
) , - ( -Granular Synthesis).
5
.

. ,
,
(, , , de-esser, delay, ).
6 Musical Instrument
Digital Interface (MIDI) Open Sound Control (OSC) OSC
SuperCollider. MIDI OSC,
.
sequencing step sequencing Max.
7
( , , -
, ).
, .
(Pitch Tracking) (Amplitude
Following, Amplitude Thresholding). ,
.
8
. , ,
, (Punctualism),
, .
.

xiii
9
- . ,
.
,

.

xiv
1
. .


.
,
.
. ,

.

1. .

. , ,
.
,
.

1.1. .
, .
1870
. ,
, ,
- , ,
. ,
,
,
Belle Epoque
(, ), .
, , .
,
.
, ,
.
. .
,
20 .
1940 1950,

, , . ,
,

, 1950

, , .

1

. , . ,
Karlheinz Stockhausen,

.
,
, ,
.
Musique Concrte ( ) Elektronische Musik (
), ,
(computer-assisted computer-aided composition)
, .

19 (Debussy, Satie ..) 20
(Messiaen, Varse ..). ,
.

.
avant-garde .

1.1.1. .

5 1948, (Radiodiffusion Francaise)


1, (Cinq tudes de Bruits) Pierre Schaeffer.
: 1. tude aux Chemins de Fer 2. tude aux Tourniquets 3. tude
Violette 4. tude Noire 5. tude Pathtique. 1914 2 Pierre
Schaeffer , ,
.

.
O Pierre Schaeffer, , , , ,
, 1942

Studio dEssai 1946 Club dEssai.
. Schaeffer
.
, ,
.
(musique concrte) Pierre Schaeffer
(
) . Schaeffer
.

.
( ) ( )
()
( ).
. Schaeffer
objet sonore ( ).
, , ,
,

2
.

. , Schaeffer
, coute rduite (
)3,
.

,
.
5 1948, Schaeffer
, ,
. ,
, ,

. Pierre Schaeffer
20 ,
.
(Trait des Objets Musicaux)4 1966,
,

.

, . ,
, ,
,
, .
Groupe de
Recherche de Musique Concrte, Pierre Schaeffer, Pierre
Henry Jacques Poullin.
Messiaen , Pierre Boulez, Karlheinz Stockhausen Jean Barraqu, Iannis Xenakis,
Edgar Varse.
,
,
Schaeffer
5,
1970 6. , ,
,
.

1.1.2. .

1948, Schaeffer,
(elektronische musik)7
(NWDR-Nord West Deutscher Rundfunk) .
Werner Meyer-Eppler,
, Robert Beyer, NWDR Herbert Eimert,
.

1952, .

3
Karlheinz Stockhausen,
Pierre Boulez, Gottfried Michael Koenig, Mauricio Kagel, Henri Pousseur Karel Goeyvaerts8.

,
Darmstadt.
Beyer, Meyer-Eppler Eimert. Darmstadt
. 1951, Meyer-
Eppler Melochord9
AEG.
,
,
. Werner Meyer-Eppler 1949 Elektronische
Klangerzeugung: Elektronische Musik und Synthetische Sprache

.

. , Meyer-Eppler
Elektronische Musik,

. Elektronische Musik
,
,
.
, ,
.
. , Musique Concrte
Elektronische Musik .
, ,
.
: 12
, , ,

.
Elektronische Musik
Musique Concrte.
. .
, Karlheinz Stockhausen Herbert Eimert,

. Eimert, ,
, . ,
.

. Stockhausen, Studie
1 Studie 2,
. Studie 2, Stockhausen
.

. ,
. Stockhausen
.

(, ),

4
. ,
,
. ,
, . Schaeffer

,
.
.
, , .

1.1.3. .

,
.
Willem de Kooning, Mark Stevens
Annalyn Swan :

,


.

10. ...

1950
,

. Stevens Swan :

1950,
.
...
11. ...


,

.
. (tape music)
, ,
. Alvin Lucier:

,
, ,
,
12. ...

5
San Francisco Tape Music Centre (SFTMC) 1961
. , Pauline Oliveiros,
Alvin Lucier, Morton Subotnick, Steve Reich Terry Riley.
,
,
.
,
, .
, Frequency Modulation John Chowning
,
, .
1950, Max Mathews
.
, ,
. 1957 MUSIC I Mathews.
, Science 1963, :


,
13. ...

, 1964, Jean-Claude Risset


Bell . Computer Study of Trumpet Tones (1965)
,
. 1985,
, Computer Music Journal:

... , ,

14. ...

1.2. . MUSIC
.
, ,
,
,
, .
Guido dArezzo (991-992),
, ,
. ,
.
,
,
. 1950.
, 19 ,
(pipe organs) (
1.1) 19
( 1.2).

6
1.1 Decap, (:
https://commons.wikimedia.org/wiki/File:Lochkarte_Tanzorgel.jpg?uselang=el).

1.2 . Strzeminski Academy of Fine Arts, Podz,


(:
https://commons.wikimedia.org/wiki/File:PunchingJacquardCardPoland.jpg#/media/File:PunchingJacquardCardPolan
d.jpg).

, ,
, .
.
. 1900
(reproducing pianos) ( 1.3).
16 (loudness) .
.
4000 ,

7
. ,
. ,
.

1.3 Welte-Mignon, 1927 (:


https://commons.wikimedia.org/wiki/File:Weltereproduktionsklavier.jpg#/media/File:Weltereproduktionsklavier.jpg).

20
. ,
. ,

.

1.2.1. .


. ,
.
, , , . ,
1843, , Augusta Ada Lovelace (1815-
1852), Charles Babbage
, 15
16.
,
,
.
- , ,
,
.
. , 192 Kilobytes 1957,
.
,
( 1.4). Ceruzzi (2006):

8

,
( , )
,
.

, , , ,
17.

1.4 ( ) FORTRAN. University of Missouri-Rolla. 1970 ( :


https://commons.wikimedia.org/wiki/File:Hollerith_card.jpg?uselang=el).

Konrad Zuse (1910-1995), ,


. ,
1938 1, . 1941,
Z3,
, 1942 4. o 1945-46,
,
4, Plankalkl (Plan Calculus).
Atanasoff-Berry (AB Computer)
( 1.5) 1942 John Vincent Atanasoff
Clifford E. Berry. .
, ABC
ENIAC, .

9
1.5 Atanasoff-Berry Computer, Durhum Center, Iowa State University, () (:
https://commons.wikimedia.org/wiki/File:Atanasoff-Berry_Computer_at_Durhum_Center.jpg?uselang=el).

( ABC)
1943 Tommy Flowers Colossus
( 1.6).

. .

1.6 Colossus (: https://commons.wikimedia.org/wiki/File:Colossus.jpg#/media/File:


Colossus.jpg).

ENIAC
(Electronic Numerical Integrator And Computer), Moore
John Mauchly J. Presper
Eckert, ( 1.7).
computer C , .
1945 , ,
, .
5000
. O ENIAC, ,

10
30 , 3 70.000 , 10.000 6.000 18.

.
, ENIAC ,
.
programming (), set up
() reset ().

1.7 ENIAC (:
https://commons.wikimedia.org/wiki/File:Eniac.jpg#/media/File:Eniac.jpg).

Mauchly Eckert
, UNIVAC (UNIVersal Automatic Computer)
1951. ,
, automatic .
, UNIVAC.
, (stored programs), (buffers),
bits .

, ,

, , .

. ,
, ,
. ,
,
440 Hz. H
.
,
.
,
. 1956, Martin Klein Douglas Bolitho

Datatron. Push

11
Button Bertha19 Jack Owens. .
.
, ,
(digital to analog convertor, DAC),

( 5.1). ,
. BBC Jonathan Fildes
20 1951.
, BBC
Ferranti Mark 1 God Save the King . ,
1955,
David Caplin Dietrich Prinz Shell .
, ,
.
21, CSIRAC22 ( 1.8),
, 1951
23.
Geoff Hill CSIRAC
. CSIRAC
, , .
Melbourne Herald, ,
15 1956:

( CSIRAC) Gaudeamus Igitur,


,
24. ...

1.8 CSIRAC (: https://commons.wikimedia.org/wiki/File:CSIRAC-Pano,-Melb.-Museum,-


12.8.2008.jpg#/media/File:CSIRAC-Pano,-Melb.-Museum,-12.8.2008.jpg).

CSIRAC
, ,
Bell .
(social
constructionism). , ,

12

,
.
1957, Max Mathews (1926-2011) ( 1.9)
,
Bell New Jersey. Mathews
. 1963 Science,
:


...,
()
25. ...

John Pierce, Mathews


. 1957
, In the Silver Scale26
Newman Gutmann.
20 , : 1956, Max Mathews John Pierce
Drew New Jersey.
Artur Schnabel.

.

1.9 Max Mathews Radio Baton (:


https://commons.wikimedia.org/wiki/File:Mathews260.jpg#/media/File:Mathews260.jpg).

Mathews (compiler)
. ,
. In the Silver Scale Bell 17
1957 .
software ().

13
,
Pitch Variations27 Newman Gutmann 1957.
Gutmann .
Max
Mathews 1957 MUSIC I .
, IBM 70428 (International Business Machines),
,
. MUSIC I Mathews
MUSIC .
MUSIC II 1958
. 1960, Mathews MUSIC III IBM 7094,
. MUSIC III
CSound:
(orchestra) (instruments) (score)
.

.
Unit Generators (UG UGens), , ,
. ,
(modular) : UGens
,
(modular synthesiser). , Unit Generators , ,
.. (patches) .
Max Mathews John Pierce
Bell Labs,
. , , Edgar Varse,
Milton Babbitt, Aaron Copland, Otto Luening Vladimir Ussachevsky. , University of
Illinois at Urbana-Champaign,
Illiac29. John Pierce, , 1961
:

,
30. ...

, University of Illinois at Urbana-Champaign


Illiac Pierce, Lejaren Hiller Leonard Isaacson.
Hiller Isaacson 1957
, Illiac Suite31 .
Isaacson Hiller, Milton Babbit Roger Sessions ,
.
. Illiac Suite
,
,

.
1962, Max Mathews Joan Miller Music IV IBM 7094.
Music IV- Princeton Jim
Randall, Hubert Howe Godfrey Winham.

14
1965, MUSIC N assembly.
,
.
(real time operation),
,
,
. ,

. , Joel
Chadabe, :


Music IV IBM 7094

(samples),
. ,
,
32. ...

, ,
. Ceruzzi (2006) :

ENIAC,
. Mauchly , ,
1948 Pratt & Whitney

17 . ,
ENIAC
!33.

1960,
.
compiler (),
, , .
, 1967, Hubert Howe Godfrey Winham Princeton
Music IV- FORTRAN (FORmula TRANslation)
Music IV-F.
Bell, Max Mathews Music V 1968,
MUSIC N .
. Vladimir Ussachevsky, F. Richard
Moore Jean-Claude Risset. Music V IBM 7094 FORTRAN,
, ,
(instruments). IBM 7094
. , IBM 1620,
, . Joel Chadabe34,
Music V ,
3.500 !.
1968 1971, Barry Vercoe Music 360
IBM 360. Music IV-F, Music 360
. Music 360, Vercoe Synthetism

15
1970. 1973, MIT, o Vercoe Music 11
PDP 11 16 bits ( 1.10), Music 360 Music IV-F.
Music 11
control rate (kr) audio rate signal (ar)
.

1.10 PDP 11 Digital Equipment Corporation (DEC). Vienna Technical


Museum (: https://commons.wikimedia.org/wiki/File:Pdp-11-40.jpg?uselang=el).

1972, C

. C PDP 11
Alles, Laurie Spiegel 1977 Improvisation on a Concerto Generator.
, 1978, o Paul Lansky
MIX Princeton. Cmix,
(cmix instruments)
C. 1990, Cmix Brad Garton
David Topper RTCmix Real Time Cmix .
1969, Jean-Claude Risset Music V
Hewlett-Packard.
, Georges Pompidou
Renzo Piano, Richard Rogers Gianfranco Franchini
Beaubourg. , ,
1977, Pierre Boulez 1970
.
IRCAM (Institut de Recherche et Coordination Acoustique Musique)

. ,
. Bell
Stanford PDP 10 PDP 11
IRCAM 1970.
.
1977, ( Iannis Xenakis ) UPIC (Unit
Polyagogique Informatique CEMAMu) Centre dEtudes de Mathmatique et Automatique Musicales
. Hewlett-
Packard. ,
, , .
.

16
CHANT, 1978 Gerald
Bennett Xavier Rodet IRCAM. CHANT
. 1979, F. Richard Moore Cmusic
Music V, University of California at San Diego. Cmusic
(score) (instruments). 1981, Rodet
FORMES,
LISP35.
1980
. , 197036
-
. ,
.
,
MIDI37 .
. , 1986 1987,
Trevor Wishart, Tom Endrich, Richard Orton, Phil Ellis, Graham Hearn, Chris Fox Andrew Bentley
Composers Desktop
Project (CDP). CDP Atari ST ( 1.11)

.

1.11 Atari ST-1040ST (:


https://commons.wikimedia.org/wiki/File:Atari_1040STf.jpg#/media/File:Atari_1040STf.jpg).

, , Bill Schottstaedt Stanford


Common Lisp Music (CLM), MUSIC N. CLM
Nyquist Roger Dannenberg,
LISP.
1980, Barry Vercoe MIT Media Lab Csound
Music 11 C. H Csound
MUSIC N. Csound
.orc .sco.
1980 (controllers)
MIDI .
, .

(offline).
, Miller S. Puckette Patcher
Mackintosh IRCAM.
. Max,
, .
Music V Max Mathews,

17
(modular) . ,
. 1996, Puckette
, (open source)
Pure Data (PD). . Pure Data
Max MIDI.
Max,
(plugin) MSP38 David Zicarelli. , Max
Max/MSP39. , Max.
Max Pure Data ,
, ,
.
patcher.
1996 James MacCartney
C++. SuperCollider
Unit Generator (UGen),
MIDI Open Sound Control (OSC). SuperCollider
OSC: server scsynth
client sclang. SuperCollider, C Lisp,
2002 live
coding.
OpenMusic LISP,
IRCAM 1998 Carlos Agon, Grard Assayag Jean Bresson.
Max Pure Data (
) OpenMusic
.
, SuperCollider,
(live coding), ChucK. ,
C, MUSIC N UGen.
2003 Ge Wang Perry R. Cook.
, Max SuperCollider, MIDI OSC,
.

. : Reaktor (
1990) Native Instruments
. AudioMulch,
. Kyma 1986 Smalltalk Carla
Scaletti ,
DSP .
1.1
1950.


1957 MUSIC I .
Gruppen
, Karlheinz Stockhausen.
.
Pithoprakta
.
O Henri Pousseur
Scambi.
Forbidden Planet

Louis Bebe Barron.

18
1958 MUSIC II 4 . Wavetable Pome lectronique
oscillator. Edgar Varse Concrete
PH
Phillips

. Luciano Berio
Thema
(Omaggio a Joyce)
Sequenza I .

Doctor Who
.
1960 MUSIC III Unit Generators. Karlheinz Stockhausen
Kontakte,
Luciano Berio Visage
. Momenti John Cage
Cartridge Music. Vladimir
Ussachevsky
Wireless Fantasy. Mathews
Numerology.
1962 Music IV- DECCA
Music IV LP Music
From Mathematics
Princeton.
MUSIC N
Bell.

Fantasia (Orlando
Gibbons), Bicycle Build for
Two Numerology (Max
Mathews), Variations in
Timbre and Attack
Stochatta (John Pierce),
Theme and Variations (S. D.
Speeth), Pitch Variations
(Newman Guttman) Noise
Study (James Tenney).
1967 Music IV-F John Chowning
FORTRAN Frequency Modulation
Synthesis (FM)
Princeton.
vibrato
MUSIC.
1968 Music V Jean-Claude Risset

FORTRAN.

MUSIC V.
Stockhausen
Stimmung. David Tudor
Rainforest I
Merce Cunningham,



1968-1971 Music 360 O Jean-Claude Risset
Computer Suite
. from Little Boy (1968)
Mutations (1969)
Charles Dodge Changes

19
(1969) Earths Magnetic
Field (1970). O John
Chowning
Sabelithe (1971).
1972 C programming
Dennis Ritchie CEMAMu .
Bell. Barry Truax
POD 4
POD 5 Institute of
Sonology .
1977 UPIC
La Lgende dEer
UPIC.


.
1978 CHANT
. Mycnes Alpha UPIC.
Groupe de Recherches
Musicales (GRM)


,
PDP 11/60.
1979 Cmusic Paul Lansky
Richard Moore Six Fantasies on a Poem by
C Thomas Campion.
International Computer
Music Association (ICMA).
.
1986 Kyma
. sampler Akai S900.
Computer and Electronic
Music Studio .
Trevor Wishart
DSP Vox 5.
.
1987 Composers Desktop Project Max Mathews
(CDP)
- Radio Baton.


Common Lisp Music.
1980 Nyquist. Csound. Max Max
. Pluton (1988-9)
Philippe Manoury
.
1996 Pure Data. SuperCollider Pure Data Donald Buchla

Lightning II.
Cecilia.
, Steinberg
Max.
SuperCollider, VST plugins.

,


,

20

.
1998 OpenMusic. AudioMulch. OpenMusic Horacio Vaggione
Reaktor Agon
.
Cort Lippe
Music for Hi Hat and
Computer.
Comon LISP.
AudioMulch
Reaktor




.
2001 Processing




.
2003 ChucK
Reactable
live coding. Pompeu Fabra
. Karlheinz
Stockhausen
Licht.
Sonic Arts Research Centre
(SARC) .
2005 Arduino. Impromptu. Arduino Princeton Laptop
OpenFrameworks Orchestra (PLOrk).
Apple

OSX10.
.
Impromptu

Scheme

live
coding.
OpenFrameworks



C++.
2008 Max 5 Max Grard Pape to
Hliophonie II, 8
video.
GUI.
2009 Max for Ableton Live. Max for Live Magnus Lindberg
AudioMulch II Graffiti
, Richard
Barret Mesopotamia 17
Max .

Ableton Live.
AudioMulch

21


.
2011 Csound for Ableton Live plugins


Ableton Live
Max ( Max
for Live)


Csound.

1.1 .

1.2.2. ;


0 1. bits ( binary digits)
(machine code) . bit
2 : 0 1. (bytes), bits,
( 1.2). ,
bit (on-1) (off-0) .

1 1 1 1 0 0

1.2 60 , MIDI ,
(0, 1).


, .
:
.
( ).
, (error).
( ) ,

.
, .

1. .
2. 90.
3. 50 .
4. 90.
5. .
6. 40 .
7. .
8. .
9. .

, .

22
if-then-else :

15.000 , 20% ,
10%.

if, then
else.

1.2.3. .

(microprocessor)
. 4 :

1. (data) .
2. .
3. .
4. .

,
(1-0, on-off). ,
( on off).
.
on off.

0 1,
.

1.2.4. Assembly ( ).

,
, , .

.
, assembly.
assembly
. ,
. :

MOV (move) = .
JMP (jump) = .

, ,
.
, assembler,
.

1.2.5. .

,
, .
() (high level programming languages)
.

23

.
: PUTS C,
.
assembly .

C, 40.
SYBEX :

C:

puts (SYBEX)

Assembly:

MOV AH, 9
MOV DX, OFFSET NAME
INT 21h
MOV AG, 4Ch
INT 21h
NAME DB SYBEX

1011010000001001101110100000000100001011
1100110100100001101101000100110011001101
01011000

puts. ,
. :

1. (compiler),
2. (interpreter)

1.2.6. .

. ,
, (hardcopies),
. (compiler)
.
1950,
. Ceruzzi (2006)
:

[]
, ,
,

,
.
(to compile)41.

24
(
(linker) .
, object .
, .
, . ,
object .
, ( 1.1).

1.1 .

1.2:

1.2
.

, :

1. ( ).
.
2. object .
3. .

: FORTRAN (
), C, C++, PASCAL COBOL.

1.2.7. .

,

( 1.3).

1.3
.

, . ,
, .
: Visual Basic, Perl, Python Ruby.
, ,

.

25
. ,
,
.

, . . . : , 2012.
Ceruzzi, P. E. . ENIAC . : ,
2006, . 43.
Neibauer, A. R. C++. : , 1995.

Appleton, J. H., C. Perera, The Development and Practice of Electronic Music. New Jersey: Prentice Hall
Inc., 1975, . 1-21, 68-137.
Bernstein, D. The San Francisco Tape Music Center. 1960s Countercultur and the Avant-Garde. Berkeley:
University of California Press, 2008.
Bijker, W. E., H. P. Thomas P. Trevor, The Social Construction of Technological Systems. Cambridge
MA: The MIT Press, 1987.
Chadabe, J. Electric Sound. New Jersey: Prentice-Hall Inc, 1997, . 1-139.
Collins, N. J. dEscrivan, The Cambridge Companion to Electronic Music. Cambridge: Cambridge
University Press, 2007, . 7-23, 55-71.
Emmerson, S. (). Music, Electronic Media and Culture. Hampshire: Ashgate, 2000, . 7-83.
Foster, H., R. Krauss, Y. A. Bois, B. H. D. Buchloh D. Joselit, Art Since 1900. Modernism,
Antimodernism, Postmodernism. : Thames & Hudson, 2005.
Lucier, A. S. Douglas, Chambers. Scores by Alvin Lucier. Middletown: Wesleyan University Press, 1980,
. 30-34.
Manning, P. Computer and Electronic Music. Oxford: Oxford University Press, 1993.
Mathews, M. The Digital Computer as a Music Instrument, Science, . 142, . 3592, 1963, .
553-557.
Menabrea, L. F. Notions sur la Machine Analytique de M. Charles Babbage, Bibliothque Universelle de
Genve, 41e, . 352-376, 1842. : Bibliotque Universelle de Genve.
Meyer-Eppler, W. Elektronische Klangerzeugung: Elektronische Musik und Synthetische Sprache. :
Ferdinand Dmmlers, 1949.
Risset, J. C. Computer Music experiments 1964 , Computer Music Journal, 9:1, . 11-18, 1985.
Cambridge MA: The MIT Press.
Risset, J. C. Computer Study of Trumpet Tones, The Journal of the Acoustical Society of America, . 38,
. 5, 1965, . 912.
Roads, C. The Computer Music Tutorial. Cambridge MA: The MIT Press, 1996, . 785-818.

26
Schaeffer, P. Trait des Objets Musicaux. : Editions du Seuil, 1966.
Schaeffer, P. A la Recherche dune Musique Concrete. : Editions du Seuil, 1952.
Stevens, M. A. Swan, De Kooning. An American Master. . : Alfred A. Knopf, 2013.

27
2
.

: ,
, ,
,
.

2.1. .

2.1.1. .

, , .
.
, x y,
y
, x .
.

2.1 .

( 2.1)
. , , t p , t
5 a 9
p ...
b
. ,
( 2.2).

28
2.2 ( )
.

,
,
.

29
2.3-2.6
.

.
(waveform).
, ,
. : (sinewave), (sawtooth),
(squarewave) (triangle) .

30
2.7 : (), (), ()
().

,
. , , ..

2.1.2. .


, , .
:

.
.

(frequency) ( )
( 2.8). :

= /

Hz.

31
2.8 .
3 Hz 14 Hz.

( 2.9). :

= 1 /

= 1 /

2.9 .

(amplitude) .
, ,
( 2.10).

32
2.10 .
= 3.


(initial phase) .
. ,
, 0. ,
,
. , 00 3600,
, 0 2 ( 2.11).

2.11 : 00 2 (), /2 900 (), 1800 (), 3/2 2700 ().

33
2.2. .

2.2.1. Fourier.

,
, Fourier.

. .
.
, , ,
. ,

(simple sinewave partial), (composite wave).
,
,
(harmonics): (x 1) (
), (x 2) ...
.
:



1 fx1 1 0
2 fx2 1/2 0
3 fx3 1/3 0
4 fx4 1/4 0
5 fx5 1/5 0
6 fx6 1/6 0
7 fx7 1/7 0

2.1 .

2.1
, .
.



1 fx1 1 0
2
3 fx3 1/3 0
4
5 fx5 1/5 0
6
7 fx7 1/7 0

2.2 .

( 2.2)
,
. .

34


1 fx1 1 0
2
3 fx3 1/9 180
4
5 fx5 1/25 0
6
7 fx7 1/49 180

2.3 .

( 2.3)

. , [4n-1] , .

.

, .

2.2.2. .

,
. ,
(sound editor).
Fourier .


.
(spectrogram).
( 2.12, 2.13).

2.12 8 .

35
2.13 8 .

, ,
( 2.1).
,
.

2.1 . (x)
, y
(: https://commons.wikimedia.org/wiki/File:Spectrogram.png_-_/media/File:Spectrogram.png).

2.2.3. .

, Fourier,
. ,
, ,
.
,
, 2.2
( 2.14).

36
2.14 (1, 3, 5 7 9 )
.


.

.

2.2.4. FFT-IFFT.

,
Fourier , ,
. .

Fourier Transform ( Fourier)
Fast Fourier Transform (FFT). ,
, IFFT
(Inverse Fast Fourier Transform) ( 2.15).

37
2.15 () () FFT.
(Inverse FFT IFFT) () ().

2.3. .

2.3.1. .

,
, .
,
.
.
(sample) ( 2.16).

38
2.16 () ().

,

( 2.16 - ), : 0 1.
1, , -
.
(sampling frequency sampling rate)
.
, ,
.

( 2.17). :

= 1/

39
2.17 .

2.3.2. .

( )
( ),
.
.

2.3.2.1. (Alias Frequencies).


.
f0 7 Hz
fs 6 Hz.
( 2.18),
.
7 Hz 1 Hz.

40
2.18 7 Hz (),
6 Hz () 7 1 Hz ().

, , .

13 Hz ( 2.19).

2.19 6 Hz () 7 Hz () 13 Hz ().

41

- 19, 25 ... Hz.

f f
0 s
:

f + ( k x f ), k .
0 s

alias frequencies ( ).
( 2.20).

2.20 7 Hz
6 Hz.

,
( 1800) ( 2.21,
2.22).

2.21 5 Hz ()
7 Hz () 6 Hz ().

42
2.22 .


,
2 Hz 6 Hz (
2.23).

2.23 2 Hz () 6 Hz (),
2 Hz ( ) -4 Hz (
), 8 Hz ( ) () ...



f f .
s 0

2.3.2.2. Nyquist. (Aliasing). (Foldover).

7 2 Hz
,
.
( 2.24):

43
2.24 (aliases)
.


f / 2. Nyquist
s
, ,
.

( 2.25).

2.25 .

,
:

f 0 + ( k x fs )

( 2.26)
.
[-, ]
[- f / 2, f / 2], :
s s

< fs / 2 , B

2.26 ( )
.

44

.
f / 2 f / 2.
s s
( 2.27).

2.27 .

>f /2
s

( 2.28), [-, ]
[-f /2, f /2] -
s s
.

45
2.28 (aliasing), > SR/2.


[-f /2, f /2],
s s
. (aliasing)
( 2.29).

2.29 (aliasing) > SR/2.

,
: |f | > | fs / 2 | ( 2.30).
(foldover).

46
2.30 .

< SR/2,

Nyquist. 20000
Hz , .
44100 Hz.
,
44100 .
:

= 1/44100 = 22,6 x 10 sec

22,6
. .

2.3.3. PCM .

, PCM
(Pulse Code Modulation). bit
.
,
bit. bit ( 2.4):

47
bit-3 bit-2 bit-1

0 0 0 0

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 4

1 0 1 5

1 1 0 6

1 1 1 7

2.4 bit.

bit 0
(000) 7 (111), .
,
( 2.31).

2.31 .

,
3-bit
. , 6, 8 9 (6, 8, 9)
, .
.
( 2.32).

48
2.32 . ( ),
, .

.
(quantization noise) ( 2.33).

2.33 .

bit . , bit
bit :

bit-4 bit-3 bit-2 bit-1

0 0 0 0 0

0 0 0 1 1

0 0 1 0 2

0 0 1 1 3

49
0 1 0 0 4

0 1 0 1 5

0 1 1 0 6

0 1 1 1 7

1 0 0 0 8

1 0 0 1 9

1 0 1 0 10

1 0 1 1 11

1 1 0 0 12

1 1 0 1 13

1 1 1 0 14

1 1 1 1 15

2.5 bit.

bit ; ,
, :
bit 0 bit 1 ( 2.5).
,
( 2.34).

2.34 bit .

bit ,
bit :

n-bit : 2n

50
bit bit width bit
depth (bit ).
PCM 16-bit. 2 byte (16 bit) .
216 65536 .
( )
, :

: 32767
: 0
: -32768

2.35 16-bit.

44100 2 byte
.

. , :

44100 x 2 byte = 88200 byte

, ,
, :

44100 x 2 byte x 2 = 176400 byte

172,2 Kbyte .
,
bit:

176400 x 16 = 2822400 bit/sec 2,69 Mbit/sec

51
2.3.4. (Dynamic Range).


bit PCM ;
, , ,
.
, .
(clipping),
. ( 2.2). .

2.2 ().

, ,
.
, .

(dynamic range DR).
,
.
. ;
4-bit.
4 bit, 16
( 2.36).

52
2.36 1
. , 2 .

,
:

15 x ( 2.36 - 1)

(> 15 x ), ( 2.36 -
2). , , Vmax :

Vmax = (N-1) x

, Vmin.
( 2.37) :
:

2.37 1 /2 . , < /2
.

53
, 1 (/2 + /2)
. , :
1001 , 0111
, 1000 .
, , , . ,
(</2), 2 ( 2.37),

.
1000, . Vmin
:

Vmin =

(DR) , :

DR = 20 log [Vmax / Vmin]

DR = 20 log [(N - 1) x / ]

DR = 20 log (N - 1)

( = 15), :

DR = 20 log 15 = 23.52 dB

=2

m: bit , :

DR = 20 log (2 - 1)

bit m,
o. , 16-bit :

DR = 20 log (2 - 1) = 20 log 65535 = 96.3 dB

2.3.5. : .

:
, ,
, ,
, .
, ,
,
, ,
.

: ,
,
.

54
2.38 . ()
(), () .

2.39 () ().

,
.
, ,
.
- ,

.

55
2.40 .
(). , .
().

2.4. .

2.4.1. .

15-20 Hz
20000 Hz. ,
. , .

.
. ,
, C3 ( ) C4 ( )
130.8 Hz, A3 ( ) A4 ( )
220 Hz, (4 5)
440 Hz ( 2.41).

2.41 .

56
,
. 2.
:

= 2 x ( 2.42)

, :

= 2k x , k .

2.42 ( ) .
, .

. ,
n
:

= 2 n/12 x

(n = 12), .

. ,
72 .
72. :

= 2 n/72 x

2.4.2. : dB SPL.
(Loudness).
:
,
, .
. ,

, . Pascal
Pa ( 2.43).

57
2.43 Pascal 100 gr (
) 1m2 1m/sec2, 1 Newton.
-
- .


3 . 20 Pa
( 0.000020 Pa 20x10-6 Pa).
.
. ,
,
, 60 Pascal,
60 Pa 60 x 10 Pa-6. ,
,
.
Pa.

.
.
,
, (reference level)
20 Pa. dB SPL (Sound Pressure Level)
decibel (dB) :

dB SPL (re: 20 Pa): 20 x log (p1 / p0)

,
p1:
p0: (20 Pa)

, , p1 20 Pa
0 dB ( p1 = p0 log 1 = 0), p1 = 60 Pa 9.5 dB.
, 1 m
5000 Pa, 168 dB.
.
dB SPL
. p2 2xp1 :

58
20 x log (p2 / p1) =
= 20 x log (2xp1 / p1) =
= 20 x (log 2) =
= 6,205

6 dB.
.
25 dB,
(2 x 2 x 2 x 2).
dB SPL
, . ,
, dB
(intensity) .
.
,
.
(loudness) phon ( 2.44).

2.44 (equal loudness curves).

.

, .
. 1000 Hz
0, 10, 20, 30 dB, ... , ,

.
. ,
, 0
70 dB 80 90 dB.
100 dB .
6000 Hz ,
1000 6000 Hz:

59
4000 Hz,
.
(equal loudness curves).

2.4.3. .
.

( ) .
;

.
:

( 2.45 - 2.46).

2.45 C5 .

2.46 C5 .

60

, .
, (amplitude envelope),
.
ASR (Attack-Sustain-Release)
( 2.47) ADSR (Attack-Decay-Sustain-Release) ( 2.48).

2.47 ASR.

2.48 ADSR.

( 2.3).
, (
) ,
. , , ,
, ( ..
), ...

61
2.3 (
Grey Moorer: Lexicon of Analyzed Tones. Part 3: The Trumpet, Computer Music Journal, Vol. 2, No. 2 (Sep.,
1978), pp. 23-31).


. , (physical
modelling)
- .

, ., . , &
. : , 2014.

Dodge, C., T. A Jerse, Computer Music: Synthesis, Composition, and Performance. New York: Schirmer,
1997.
Loy, G., Musimathics: The Mathematical Foundations of Music (Volume 1). MA, USA: MIT Press, 2011.
Lyons, R. G., Understanding Digital Signal Processing. NJ, USA: Prentice Hall, 2010.
Pohlmann, K., Principles of Digital Audio. New York: McGraw-Hill/TAB Electronics, 2010.
Rossing, T. D., F. R. Moore P. A. Wheeler, The Science of Sound. Boston: Addison-Wesley, 2001.

62
3
.


.

.
. , :
, .


2.

3.1. .
.

H // (computer music / computer assisted composition)


.
(, ,
, ..). ,

,
.
// .
,
.
.
. //
,
,
. . ,
, :
,
, .

. :
,

.

.
(
) ,
.
, .

( ),
, .
,
, .
,

63
, (),
( , -CD, ..) . ,
.

;
; , ;

3.1.1. .

-
. ,
-.
- , .
, ,
.
,
, , ,
, ..
. ,
,
. ,
, , .
: .

3.1.2. .


, ,

. Marc Aug (1999) :





,
42.

,
: ,
, ( ),
,
.
.
, (CD) ,
, .
,
.
MP3 players (
), 10%
CD,

64
- .
,
MP3 players,
, ,
43.
Marc Aug (1999)


[]
, :
, ,

44.

, :



-

. , ,
,
.
, , ,
.
, ,
,

45.


.
,
46.

,
,
,
.
( ,
, ),
.
.
:
,

65
.
,
, , . ,

.
.
,
.
,
. ,
, -

. ,
. ,

.

3.1.3. .

, 47

. 3.1
.
-48, ,
Max49. , ,

.

3.1 Patch Max 5 ( ).

66

, .
, , . ,
,
. ,
50 ,
.
,
. (fiddle~)51,
. ,
(select)
, (munger~),
(granulation) . ,
, -
.
. ,

; , (select) ;
,
-, ;
.
, . ,
, ,
. , ,
. ,
.
, ,
,
. , , ,
.
: ( ) ,
, , ,
. ,

.

( )
,
, , . ,

.
, , ,
,
, , ..
,
,
.
, ,
, .. . ,
,
, .
,

67
. ,

. ,
; ;

3.1.4. .

.
, , :
. ,
,
. ,
, ,
.
,
: ,
. 52
, , :
,
. ,
.

, .
,
. ,
: , ,
. , , :
. ,
. ,
, , .

3.1.5. .


.
,
. .
, Peter Rechenberg (1992) :







,
,

53.

68

.
,
: (
-),
( -
).
, .
.
. ,
,
.
, .
, ,
. , ,
, :
54 . ,
55 : ,
56.

, ,
,
. ,
,
( , ),
. ,
( )
, .
- -,
-. Robert Rowe
(2001) :



,
, ,
57. ...

3.1.6. .


,
.
:58

69
,
.

.
59
60.
(
) . .

. (
),
.
,
. ,
,
,
. -
:
-.
.


.
, ,
.
, .


. ,
, ( :
: ) .
,
.
, .
.
,
-61.


. , , ,
.
,
, - .
, ,


(Aug, 1999, . 35).
. ,
. H
,
. ,

70
.
.

,
, . ,
, ,
Fernand Braudel (2001), :

, ,
, ,
, ,

62.

,
. ,
, ,
. ,

. ,
, .

3.2.
.
David Cottle (2006)
: , , , , .
,
.
, 440,000
Hz 440,001 Hz ,
.
.
,

, .
.
Cottle : C C B G A B C C A G.
, ,
.
, .

. Cottle,
.
Cottle
, , , ,
,
, ,
(1) (0). ,
,
.

71
3.2.1. .

, , :

.
.
.

( 3.2).

.

3.2 Seven Spaces of Ether (. , 2013) .


.
Seven Spaces of Ether (http://www.lotis.gr/).

( 3.3).

.

3.3 .

( 3.4).
, .
, ,
40 208 (bits per minute bpm).

40 * 1/60 0.6 Hz (Grave, Largo...)


208 * 1/60 3.5 Hz (...Prestissimo)

3.4 son .

72

, clave son,
.
, ,
.
,
:

1. . -
.
(frequency), (amplitude)
. ,
.
,

( , ). ,

. ,
, ...).
, ,

. ,
(SinOsc) SuperCollider.
(, , )
.
200 Hz, 800 Hz,
1.000 Hz 100 Hz 20
. , ,
,
(Xline.kr(1000, 100, 20)).

{ SinOsc.ar(freq: 200, phase: 0, mul: 0.5) + SinOsc.ar(freq: 800, phase:0,


mul:0.5) + SinOsc.ar(XLine.kr (1000, 100, 20)) }.play;

2. . ,
( ), , (
) .
SuperCollider, (loop) MIDI
, 0.125 .
, ,
.

Pbindef(\playNotes, \dur, 0.125, \midinote, Pseq([ {[37, 42, 48, 52].choose},


{[64, 68, 78, 92].choose}, 50, 52, 41, 120, {[20, 30, 36,
42].choose}],inf)).play;

3. (building blocks).
building block
. passe-partout
,
. ,
- ,
(samples)
, -
. ,

73
.
,
1950 1960,
pop (electronica, techno, hip-hop ..).

(loops) -- (
3.5).
:
.

3.5 (samples) Logic Pro 8 (


, . ).

Konkrete Etde Karlheinz Stockhausen


,
1952. ,

.

3.2.2. .

(feature extraction)
.
,
, ..
.
,
( )

74
. , ,
.

. ,
.
- (bottom-up)
. ,
, , -
,
. -
- (top-down) ( 3.1).

3.2.3. - -.


. , ,
.

3.1 - -.

-
(groups) (clusters) .
.
.

, .
,
, , onset detection,
. (object-oriented
programming) -
(objects) .
, , , ,
- .

.
- , ,
.

75
.

. -
,
. ,
,
.
,
- - . ,
,
/ .

3.3. .
Curtis Roads (1996)
The Computer Music Tutorial63.
(spectrum) Isaac Newton 1781
,
. ,

.
. Hermann Helmholtz
On the Sensations of Tone 1863 :


() ,

64. ...


1822 Jean-Baptiste Joseph Fourier
Thorie Analytique de la Chaleur. Fourier
(440 Hz, 2 x 440 Hz, 3 x 440
Hz, 4 x 440 Hz, ... f = 440, 2 x f, 3 x f, 4 x f, ...). .
,
(static plots),
(time-varying plots). 2,
,
(, ).
,
, , . ,
Fourier
.

3.3.1. (Oscilloscope).


, ,
.
(voltage variations) .

76
3.6 (1.0 0.5),
SuperCollider.

1 { SinOsc.ar(freq:440, phase:0, mul:1.0) }.play;


2 { SinOsc.ar(freq:440, phase:0, mul:0.5) }.play;
3 { SinOsc.ar(freq:880, phase:0, mul:1.0) }.play;
4 { SinOsc.ar(freq:880, phase:0, mul:0.5) }.play;

1 2 3.6, 440 Hz 1 ms.


1.0 1 0.5 2. 3 4,
880 Hz .
1.0 0.5 .

3.6 (:
http://academo.org/demos/virtual-oscilloscope/).

3.6,
(, , ..) (time domain).

. ,
, .

3.3.2. (Spectrum Analyzer).


. .
3.7 880 Hz
(dB) .
(f = 880, 2 x f, 3 x f, 4 x f, ... ).

77
3.7 .

3.8
.
.

3.8 .

3.3.3. . (Spectrogram).


. ,
(frequency domain). 3.9 .
.
. ,
.

78
3.9 .

(
) .
(, ),
.

.
.

, . , . ,
, ., . . (). : , 2010, . 249-
271.
, . . : , 2002, . 1748.
Aug, M. . : , 1999, . 81.
Belting, H., H. Dilly, W. Kemp, W. Sauerlnder M. Warnke Martin (),
. : , 1995.
Braudel, F. . : , 2001, . 46-7.
Fleming J. H. Honour, . : , 1991.
Layton, R. . : , 2003.
Pollitt, J. J. . : . , 2006, . 186-7.

79
Rechenberg, P. . : , 1992, . 250.

Berger, K. Musica Ficta: Theories of Accidental Inflections in Vocal Polyphony from Marchetto da Padova to
Gioseffo Zarlino. Cambridge: Cambridge University Press, 1987.
Boas, F. Primitive Art. . : Dover, 1955.
Cope, D. Hidden Structure: Music Analysis Using Computers. Middleton: A-R Editions, 2008.
Cottle, D. M. Computer Music with Examples in SuperCollider 3. University of California Santa Barbara,
2006.
Fourier, J-B. J. Thorie Analytique de la Chaleur. : Chez Firmin Didot pre et fils, 1822.
Haselberger, H. Methods of Studying Ethnological Art, Current Anthropology, . 2, . 4, . 341-384,
1961. : University of Chicago Press.
Helmholtz, . On the Sensations of Tone as a Physiological Basis for the Theory of Music. . : Dover
Publications, 1954.
House H. C. Hardie. Aristotles Poetic: A Course of Eight Lectures. : Rupert Hart-Davis, 1956.
Klein, W. Vom Antiken Rokoko. : Bieber, 1921.
Mathews, M. V. The Digital Computer as a Musical Instrument, Science, . 142, . 3592, . 553-557,
1963. Washington: Science/AAAS.
Pople, A. (), Theory, Analysis and Meaning in Music. Cambridge: Cambridge University Press,
2006.
Roads, C. The Computer Music Tutorial. Cambridge MA: The MIT Press, 1996, . 1075-6.
Rowe, R. Machine Musicianship. Cambridge M: The MIT Press, 2001.
Russolo, L. LArte dei Rumori. : Edizioni Futuriste di Poesia, 1916.
Schillinger, J. The Mathematical Basis of the Arts. . : Da Capo Press, 1976.
Virilio, P. L space Critique. : Christian Bourgois, 1984.

80
4
.



( 1). o
: (Additive Synthesis), (Subtractive Synthesis),
(AM Synthesis, Ring Modulation, FM Synthesis), (Wavetable
Synthesis), (Delay Lines) (Granular Synthesis).


SuperCollider
.

4.1. .

(Sound Synthesis)
.
studio (WDR Elektronische
Musik Studios),
. Karlheinz Stockhausen
Studie I (1952) Studie II (1953)
. (Gesang der
Jnglinge 1955-56, Telemusik 1965)
.
(Additive Synthesis)
(Ring Modulation), (Amplitude
Modulation).
(Subtractive Synthesis).
, studio
Musique Concrte, Pierre Schaeffer
(Sampling Synthesis),
.
, 1958 Iannis Xenakis Concrete PH,
collage ,
(Granular Synthesis),
.
1950
: Mark II Columbia-Princeton
Electronic Music Center MUSIC-N,
Bell Labs Max Mathews. Mark II
(patching)
.

MUSIC-.
.
MUSIC-N (lookup table)
-
(, ..) (Wavetable
Synthesis). , ,
. ,

81
1960 Jean-Claude Risset
. , 1970 John Chowning
(Frequency Modulation)
,
(FM Synthesis). 1970 1980


Formant Synthesis. Charles Dodge .


.
.
:

,
.
,
.


.
.

(linear), (non-linear).

.

4.2. , : .
.


.
.

4.2.1. (Additive Synthesis).

4.2.1.1. . .

Fourier
.

.

, ( 4.1).

82
4.1 a, b c.

SuperCollider
SinOsc:

(
SynthDef("simple_additive_01", {
arg out=0, amp1, freq1, amp2, freq2, amp3, freq3, main= 0.5;
var sig1, sig2, sig3, output;

sig1 = SinOsc.ar(freq1, 0, amp1);


sig2 = SinOsc.ar(freq2, 0, amp2);
sig3 = SinOsc.ar(freq3, 0, amp3);

output = sig1+sig2+sig3;

Out.ar(out, [1,1]*output*main);
}
).send(s);
)

s.sendMsg("/s_new", "simple_additive_01", 1001, 0, 1, \amp1, 0.1, \freq1, 100,


\amp2, 0.1, \freq2, 100.8, \amp3, 0.1, \freq3, 101.6);

s.sendMsg("/n_free", 1001);

SinOsc ,
:

(
SynthDef("simple_additive_02", {
arg out=0, amp, freq, main= 0.5;
var sig;

sig = SinOsc.ar(freq, 0, amp);

Out.ar(out, [1,1]*sig*main);
}
).send(s);
)

(
s.sendMsg("/s_new", "simple_additive_02", 1001, 0, 1, \amp, 0.1, \freq, 100);

83
s.sendMsg("/s_new", "simple_additive_02", 1002, 0, 1, \amp, 0.1, \freq, 100.8);
s.sendMsg("/s_new", "simple_additive_02", 1003, 0, 1, \amp, 0.1, \freq, 101.6);
)

(
s.sendMsg("/n_free", 1001);
s.sendMsg("/n_free", 1002);
s.sendMsg("/n_free", 1003);
)

4.2.1.2. .


.
.
SC ,
Buffer. :

s.sendMsg("/b_alloc", bufnum, numFrames, numChannels);

bufnum .
numFrames frame.
numChannels .

frame . frame
:

s.sampleRate * numChannels

s.sampleRate .


free:

s.sendMsg("/b_free", bufnum);

sine1, sine2
sine3. (
),
:

s.performList(\sendMsg, \b_gen, bufnum, \sine1, flag, [amp1, amp2, amp3, ...]);


s.performList(\sendMsg, \b_gen, bufnum, \sine2, flag, [freq1, amp1, freq2, amp2,
freq3, amp3, ...]);
s.performList(\sendMsg, \b_gen, bufnum, \sine3, flag, [freq1, amp1, phase1,
freq2, amp2, phase2, freq3, amp3, phase3, ...]);

flag
1, 2, 4, :
1 [normalize]:

,

.

84
2 [asWavetable]:


,
.
4 [clearFirst]:


.
ampN
.
freqN
.
phaseN
.

Osc:

Osc.ar(bufnum, freq: 440, phase: 0, mul: 1, add: 0)

bufnum
.
freq Hz.
phase
.
mul (
).
add (dc offset).

,
:

(
s.sendMsg("/b_alloc", 13, 1024, 1);
a= [1.0, 0.8, 0.7, 0.5];
s.performList(\sendMsg, \b_gen, 13, \sine1, 7, a);
)
(
s.sendMsg("/b_alloc", 14, 1024, 1);
f= [1, 1.2, 1.3, 1.4];
a= [1.0, 0.8, 0.7, 0.5];
s.performList(\sendMsg, \b_gen, 14, \sine2, 7, [f,a].lace(8));
)
(
s.sendMsg("/b_alloc", 15, 1024, 1);
f= [1, 1.2, 1.3, 1.4];
a= [1.0, 0.8, 0.7, 0.5];
p= [0, 0.5, 0.5, 1]* 2pi;
s.performList(\sendMsg, \b_gen, 15, \sine3, 7, [f,a,p].lace(12));
)

(
SynthDef("partial_additive",{ arg bufnum, freq;
var sig;
sig = Osc.ar(bufnum, freq, 0, 0.2);
Out.ar(0, [1,1]*sig);
}

85
).send(s);
)

s.sendMsg("/s_new", "partial_additive", 1001, 0, 1, \bufnum, 13, \freq, 200);


s.sendMsg("/s_new", "partial_additive", 1002, 0, 1, \bufnum, 14, \freq, 200);
s.sendMsg("/s_new", "partial_additive", 1003, 0, 1, \bufnum, 15, \freq, 200);

(
s.sendMsg("/n_free", 1001);
s.sendMsg("/n_free", 1002);
s.sendMsg("/n_free", 1003);
s.sendMsg("/b_free", 13);
s.sendMsg("/b_free", 14);
s.sendMsg("/b_free", 15);
)

4.2.2. (Subtractive Synthesis).


,
: ,
.
,
.

4.2.2.1. .

,

, .
.
(noise),
.
:

(White Noise).
( 4.1).

86
4.1 (:
https://commons.wikimedia.org/wiki/File:White_noise_spectrum.svg).

(Pink Noise 1 / f Noise).


,
: (3
dB ) ( 4.2).

4.2 (:
https://commons.wikimedia.org/wiki/File:Pink_noise_spectrum.svg).

Brownian (Brown Noise Red Noise 1 / f 2 ).


(6
dB ): Brownian ( 4.3).

87
4.3 Brownian (:
https://commons.wikimedia.org/wiki/File:Brown_noise_spectrum.svg).

(Grey Noise).

( equal loudness curves) ( 4.4).

4.4 (:
https://commons.wikimedia.org/wiki/File:Gray_noise_spectrum.svg).

, (blue noise)
( 3 dB ),
(violet noise)
Brownian ( 6 dB ).
, ( 4.5).

88
4.5 : , ,
, , (Brownian) (: https://commons.wikimedia.org/wiki/File:The_Colors_of_Noise.png).

, .

. , ,
.

4.2.2.2. .

. SuperCollider
LFNoise0 :

LFNoise0.ar(freq: 500, mul: 1, add: 0)

freq
.
mul
.
add
(dc offset).

{ LFNoise0.ar([MouseX.kr(1,3000), MouseX.kr(1,3000)],[0.25, 0.25]) }.play;

LFNoise1 LFNoise2
, (linear interpolation) (quadratic
interpolation) . LFClipNoise -1 +1.
(white, pink, brown, gray) SuperCollider
:

WhiteNoise.ar(mul: 1, add: 0)
PinkNoise.ar(mul: 1, add: 0)
BrownNoise.ar(mul: 1, add: 0)

89
GrayNoise.ar(mul: 1, add: 0)

mul
.
add
(dc offset).

{ WhiteNoise.ar(0.25) }.play;
{ PinkNoise.ar(0.25) }.play;
{ BrownNoise.ar(0.25) }.play;
{ GrayNoise.ar(0.25) }.play;

4.2.2.3. .

(impulse) .
1/ , .
t t
, .
SC , Dust
Dust2. Dust 0 1, Dust2 -1 +1:

Dust.ar (density: 0, mul: 1, add: 0)


Dust2.ar(density: 0, mul: 1, add: 0)

density
, .
mul
.
add
(dc offset).

(
SynthDef("testing_Dust", { arg out=0, density;
var sig;
sig = Dust.ar([density, density], 0.5, 0);
Out.ar(out, [1,1]*sig);
}).send(s);
)

s.sendMsg("/s_new", "testing_Dust", 1001, 0, 1, "density", 2);


s.sendMsg("/n_set", 1001, "density", 12);
s.sendMsg("/n_set", 1001, "density", 120);
s.sendMsg("/n_set", 1001, "density", 500);
s.sendMsg("/n_set", 1001, "density", 1000);

s.sendMsg("/n_free", 1001);

4.2.2.4. . .


(low-pass filter), (high-pass filter),
(band-pass filter) (band-reject band-stop filter).

90

. (
4.2- ). 0 dB,
.

.
(cut-off frequency)
3 dB .

(roll-off) dB ,
dB . 6
dB/, 20 dB/ .
, (filter response):
, ,
. (filter order)
1 (1st order filters).

4.2 1 . ,
(.. 10 20 Hz), -6 dB,
(.. 10 100 Hz) -20 dB.
-3 dB (0 dB).

2 (2nd order) 12dB/


40 dB/ . 6 dB
( 4.3).

91
4.3 2 . , (..
10 20 Hz), -12 dB, (.. 2
20 Hz) -40 dB. -6 dB (0 dB).

.
1 +6 dB/ +20 dB/
. 3 dB 0 dB
( 4.4).

4.4 1 . , (..
0.1 0.2 Hz), 6 dB, (.. 2 20
Hz) 20 dB. -3 dB (0 dB).

, 2 +12 dB/ +40 dB/ .


6 dB (0 dB) ( 4.5).

92
4.5 2 . , (..
0.1 0.2 Hz), 12 dB, (.. 0.03
0.3 Hz) 40 dB. -6 dB (0 dB).


. 3 , , 18
dB/ 60 dB/ . (n x 6) dB / (n
x 20) dB / , n .

.
( 4.6).

4.6 .

93
.
+6 dB/ 6 dB/ (
+/20 dB ).
Q. :

Q = f / bw
c

f bw
c
.
dB (0 dB) 3 dB.
Q.
, ( 4.7).

4.7 Q.

, :
Q ( 4.8).

94
4.8 .

3 dB
.
:

3 = 20 log( x A / A)
3 = 20 log()
log() = -0.15
= 0.707

3 dB 70% .

4.2.2.5. / .

LPF (12dB/):

LPF.ar(in: 0, freq: 440, mul: 1, add: 0)

in .
freq (cutoff
frequency).
mul
.
add
(dc offset).

HPF (+12dB/):

HPF.ar(in: 0, freq: 440, mul: 1, add: 0)

in .

95
freq (cutoff
frequency).
mul
.
add
(dc offset).

, MouseX
:

{ LPF.ar(WhiteNoise.ar, MouseX.kr(1e2,2e4,1), 0.2) }.play;


{ HPF.ar(WhiteNoise.ar, MouseX.kr(1e2,2e4,1), 0.2) }.play;

4.2.2.6. / .

BPF (12dB/):

BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)

in .
freq fc .
rq 1/Q, Q = fc/(f2f1) f2, f1

,
70%
.
mul
.
add
(dc offset).

, BRF (12dB/):

BRF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)

in .
freq (cutoff
frequency).
rq 1/Q, Q = fc/(f2f1) f2, f1

,
70%
.
mul
.
add
(dc offset).

MouseX
1/Q:

{ BPF.ar(WhiteNoise.ar, MouseX.kr(1e2,2e4,1), 0.4, 0.4) }.play;


{ BRF.ar(WhiteNoise.ar, MouseX.kr(1e2,2e4,1), 0.4, 0.2) }.play;

96
4.2.2.7. : FOF Synthesis, Resonators.


.
,
,
.
FOF (Fonction d'Onde Formantique)

. .
1980 (Xavier Rodet, 1984) Formants,
.

, .
Formants .

4.9 FOF Synthesis.

SC
Klank:

Klank.ar(specificationsArrayRef, input, freqscale: 1, freqoffset: 0, decayscale:


1)

specificationsArrayRef
:
[freq1, freq2, ],


[amp1, amp2, ],

( nil
)
[ring_t1, ring_t2, ],

60
dB,
input .
freqscale
.

97
freqoffset
.
decayscale
.

{ Klank.ar(`[[800, 1071, 1353, 1723], nil, [1, 1, 1, 1]], PinkNoise.ar(0.007))


}.play;
{ Klank.ar(`[[200, 671, 1153, 1723], nil, [1, 1, 1, 1]], PinkNoise.ar([0.007,
0.007])) }.play;

(
SynthDef("help_Klank", { arg out=0, i_freq;
var klank, n, harm, amp, ring;
// harmonics
harm = \harm.ir(Array.series(4, 1, 1).postln);
// amplitudes
amp = \amp.ir(Array.fill(4, 0.05));
// ring times
ring = \ring.ir(Array.fill(4, 1));
klank = Klank.ar(`[harm, amp, ring], {ClipNoise.ar(0.003)}.dup, i_freq);
Out.ar(out, klank); }).send(s);
)

s.sendMsg("/s_new","help_Klank", 1001, 1, 1, "\i_freq", 300);


s.sendMsg("/s_new","help_Klank", 1002, 1, 1, "\i_freq", 330);
s.sendMsg("/s_new","help_Klank", 1003, 1, 1, "\i_freq", 350);

s.sendMsg("n_free", 1001);
s.sendMsg("n_free", 1002);
s.sendMsg("n_free", 1003);


,
(resonance).
(resonant filters)
.
SuperCollider Resonz, Ringz
Formlet.

Resonz.ar(in: 0, freq: 440, bwr: 1, mul: 1, add: 0)

in .
freq .
bwr 1/Q, Q = fc/(f2f1) f2, f1

,
70%
.
mul
.
add
(dc offset).

98
:

{ Resonz.ar(WhiteNoise.ar(0.5), MouseX.kr(1000,1800), 0.05) }.play


{ Resonz.ar(WhiteNoise.ar(0.5), 2000, MouseX.kr(0.001,0.01), MouseY.kr(1, 5))
}.play

Ringz Resonz Q,
60 dB. Ringz Formant
Klank. :

Ringz.ar (in: 0, freq: 440, decaytime: 1, mul: 1, add: 0)

in .
freq .
decaytime O 60 dB.
mul
.
add
(dc offset).

{ Ringz.ar(WhiteNoise.ar(0.005), 2000, 0.5) }.play

Formlet ,
,
(attack time) (decay time)
. :

Ringz(in, freq, decaytime) - Ringz(in, freq, attacktime)

Formlet.ar(in: 0, freq: 440, attacktime: 1, decaytime: 1, mul: 1, add: 0)

in .
freq .
attacktime O +60 dB.
decaytime O 60 dB.
mul
.
add
(dc offset).

{ Formlet.ar(WhiteNoise.ar(0.005), 2000, 0.5, 0.1) }.play;

4.3. , - : (AM), Ring


Modulation, (FM).


(, , ) .
(carrier),

99
(modulator). -
- .
,
(Ring Modulation) .

4.3.1. (Amplitude Modulation).

( )
( 4.10).

4.10 .

AMP
.
[AMP+a, AMP-a],
FREQm ( 4.11).

100
4.11 (i) AMP (ii),
AMP (iii).
,
[AMP-a, AMP+a]
1/FREQm (iv).

a
AMP . :

a = AMP x i

i . i = 0
AMP x i .
100%, i = 1, . i,
(index of modulation) ( 4.12).

101
4.12
AMP ( i).


AMP x i/2 (
4.13).

4.13 .

, , 1 15 Hz,
tremolo.
( 4.14):

//***tremolo effect (modulating frequencies between 1 and 15 Hz)


(
SynthDef("am-tremolo", { arg out=0, c_freq, c_amp, main=0.2;
var mod, car, index;

index = MouseY.kr(0,1); //index of modulation


mod = SinOsc.ar(MouseX.kr(1,15), 0, index*c_amp); //modulator
car = SinOsc.ar(c_freq, 0, mod + c_amp); //carrier
Out.ar(out, [1,1]*car*main);
}
).send(s);
)

102
s.sendMsg("/s_new", "am-tremolo", 1001, 0, 1, "c_freq", 100, "c_amp", 0.2);

//different carrier frequencies


s.sendMsg("/n_set", 1001, "c_freq", 200);
s.sendMsg("/n_set", 1001, "c_freq", 400);
s.sendMsg("/n_set", 1001, "c_freq", 1000);
s.sendMsg("/n_set", 1001, "c_freq", 4000);

s.sendMsg("/n_free", 1001);

4.14 100% (i = 1).


( 4.13),
, 20 Hz ,
:

//*** separating side frequencies (modulating frequencies between 20 and 1500 Hz)
(
SynthDef("am-2", { arg out=0, c_freq, c_amp, main=0.2;
var mod, car, index;

index = MouseY.kr(0,1); // index of modulation


mod = SinOsc.ar(MouseX.kr(20,1500), 0, index*c_amp); //modulator
car = SinOsc.ar(c_freq, 0, mod + c_amp); //carrier
Out.ar(out, [1,1]*car*main);
}
).send(s);
)

s.sendMsg("/s_new", "am-2", 1002, 0, 1, "c_freq", 100, "c_amp", 0.2);

//different carrier frequencies

103
s.sendMsg("/n_set", 1002, "c_freq", 200);
s.sendMsg("/n_set", 1002, "c_freq", 400);
s.sendMsg("/n_set", 1002, "c_freq", 1000);
s.sendMsg("/n_set", 1002, "c_freq", 4000);

s.sendMsg("/n_free", 1002);


(unipolar) [Roads, 1999]. (bipolar)
-1 1, 0 1 ( 4.15).

4.15 () () .



. , buffer
.., , (panning) ...
,
( 0)
, ( a) ,
.
(DC-offset) , ,
( 4.16).

104
4.16 (i) (v) ,
a (ii iii) (iv v).

SuperCollider add
. ,
SinOsc .

(
SynthDef("am-unipolar", { arg out=0, c_freq, c_amp, main=0.2;
var mod, car, index, mod_amp;
index = MouseY.kr(0,1);
mod_amp = index*c_amp;
mod = SinOsc.ar(MouseX.kr(1,15), 0, mod_amp, mod_amp); //modulator-unipolar
car = SinOsc.ar(c_freq, 0, mod/2 + c_amp); //carrier
Out.ar(out, [1,1]*car*main);
}
).send(s);
)

4.3.2. (Ring Modulation).

(Ring
Modulation), ( 4.17).

105
4.17 (Ring Modulation).

.
.
(FREQ1-FREQ2) (FREQ1+FREQ2), ( 4.18).

4.18 . fc .

SuperCollider:

(
SynthDef("rm", { arg out=0, amp1=0.5, amp2=0.5, main=0.7;
var mod1, mod2, sig;
mod1 = SinOsc.ar(MouseX.kr(3,30), 0, amp1); //source-1: sinewave
mod2 = SinOsc.ar(MouseY.kr(30,1000), 0, amp2); //source-2: sinewave
sig = mod1*mod2;
Out.ar(out, [1,1]*sig*main);
}
).send(s);
)

s.sendMsg("/s_new", "rm", 1001, 0, 1);


s.sendMsg("/n_free", 1001);

.
fc1, fc2, ... , fcn
[fcn fm, fcn + fm] ( 4.19).

106
4.19 fm
fc1, fc2, fc3, fc4, ...

,
:

(
SynthDef("rm-2", { arg out=0, freq2;
var mod1, mod2, sig;
mod1 = Pulse.ar(MouseX.kr(1,20),0.5, 0.2); //source-1: low frequency pulses
mod2 = SinOsc.ar(freq2, 0, MouseY.kr(0,1)); //source-2: sinewave
sig = mod1*mod2;
Out.ar(out, [1,1]*sig);
}
).send(s);
)
s.sendMsg("/s_new", "rm-2", 1002, 0, 1, "freq2", 140);
s.sendMsg("/n_set", 1002, "freq2", 440);
s.sendMsg("/n_set", 1002, "freq2", 4400);

s.sendMsg("/n_free", 1002);

, , .
fm1, fm2, fm3,
( 4.20).

4.20 . fm1, fm2 fm3


fc1, fc2, fc3 .. ,
[fc1-fm1, fc1-fm2, fc1-fm3], [fc1+fm1, fc1+fm2, fc1+fm3] ..

107
SuperCollider
( Impulse), ,
:

(
SynthDef("rm-3", { arg out=0, main=0.5;
var mod1, mod2, sig;
mod1 = Pulse.ar(MouseX.kr(1,20),0.5, 0.5); //source-1: low frequency pulses
mod2 = Impulse.ar(MouseY.kr(1,1000), 0, 0.5); //source-2: impulse
sig = mod1*mod2;
Out.ar(out, [1,1]*sig*main);
}
).send(s);
)

s.sendMsg("/s_new", "rm-3", 1003, 0, 1);


s.sendMsg("/n_free", 1003);

4.3.3. (Frequency Modulation).

(carrier)
(modulator).
FREQ ( 4.21).

4.21 .


[FREQ-a, FREQ+a]. (
4.22).

108
4.22 FREQ (ii)
(i). FREQ (iii)
1/FREQm (iv).


fm
, [fc + (n x fm), fc (n x fm)] n .

, 2a ( 4.23).

, (depth of modulation).
,
.

4.23 .


Hz.
i, :

109
i = a / fm

a = i x fm

i
fm, a . ,
i .

( 4.24).

4.24
.

, ,
, Bessel 1 ( 4.6).
Jn(x), n (order) .

110
4.6 Bessel 1 :
, (:
https://commons.wikimedia.org/wiki/File:Bessel_Functions_(1st_Kind,_n%3D0,1,2).svg_-
_/media/File:Bessel_Functions_(1st_Kind,_n%3D0,1,2).svg).

,
. , 1 J1(x)
, fc-fm fc+fm,
2 J2(x)
, fc-2fm fc+2fm ... J0(x)
fc.
i, x
. i x,
y .
:
, i = 5
, 1800.

. :


1 fc-fm J1(i) 1800 J1(i) fc-fm 0
2 fc-2fm J2(i) 0 J2(i) fc-2fm 0
3 fc-3fm J3(i) 1800 J3(i) fc-3fm 0
4 fc-4fm J4(i) 0 J4(i) fc-4fm 0
5 fc-5fm J5(i) 1800 J5(i) fc-5fm 0

4.1 ,
.

111
1 15 Hz
, 1 10, vibrato:

(
SynthDef("fm-vibrato", { arg out=0, c_freq, c_amp, main=0.2;
var mod, car, m_freq;
m_freq = MouseX.kr(1,15); //modulation frequency
mod = SinOsc.ar(m_freq, 0, MouseY.kr(0,10)*m_freq); //modulator
car = SinOsc.ar(c_freq+mod, 0, c_amp); //carrier
Out.ar(out, [1,1]*car*main);
}
).send(s);
)

s.sendMsg("/s_new", "fm-vibrato", 1001, 0, 1, "c_freq", 100, "c_amp", 0.2);


//different carrier frequencies
s.sendMsg("/n_set", 1001, "c_freq", 200);
s.sendMsg("/n_set", 1001, "c_freq", 400);
s.sendMsg("/n_set", 1001, "c_freq", 1000);
s.sendMsg("/n_set", 1001, "c_freq", 4000);

s.sendMsg("/n_free", 1001);
)

,
.
.

(
SynthDef("fm-2", { arg out=0, c_freq, c_amp, main=0.2;
var mod, car, m_freq;
m_freq = MouseX.kr(20,1500); //modulation frequency
mod = SinOsc.ar(m_freq, 0, MouseY.kr(0,100)*m_freq); //modulator
car = SinOsc.ar(c_freq+mod, 0, c_amp); //carrier
Out.ar(out, [1,1]*car*main);
}
).send(s);
)

s.sendMsg("/s_new", "fm-2", 1002, 0, 1, "c_freq", 100, "c_amp", 0.2);


//different carrier frequencies
s.sendMsg("/n_set", 1002, "c_freq", 200);
s.sendMsg("/n_set", 1002, "c_freq", 400);
s.sendMsg("/n_set", 1002, "c_freq", 1000);
s.sendMsg("/n_set", 1002, "c_freq", 4000);

s.sendMsg("/n_free", 1002);
)

4.4. , : ,
.

-

. : )
, ) )
. ,

112
. ,
,
.

4.4.1. (Wavetable Synthesis).



. ,
.
.
(
4.25).

4.25 .

,
, (oscillator).
.

4.26 .

113

, :
, , ( 4.27-4.29).

114
4.27-4.29 , .

SuperCollider SinOsc Saw


, Pulse
, :

SinOsc.ar(freq: 440, phase: 0, mul: 1, add: 0)


SinOsc.kr(freq: 440, phase: 0, mul: 1, add: 0)

freq Hz.
phase .
mul (
).
add (dc offset).

Saw.ar(freq: 440, mul: 1, add: 0)


Saw.kr(freq: 440, mul: 1, add: 0)

freq Hz.
mul (
).
add (dc offset).

Pulse.ar(freq: 440, width: 0.5, mul: 1, add: 0)


Pulse.kr(freq: 440, width: 0.5, mul: 1, add: 0)

freq Hz.
width 0
1.

0.5.
mul (
).
add (dc offset).

Nyquist (band-
limited). LFTri
(non band-limited).

115
,
,
(foldover).
Nyquist, (2.3.2.).

LFTri.ar(freq: 440, iphase: 0, mul: 1, add: 0)


LFTri.kr(freq: 440, iphase: 0, mul: 1, add: 0)

freq Hz.
phase
0 4.
mul (
).
add (dc offset).



.
, (fade-out),
(fade-in).
. Wavetable Crossfading (
) ( 4.30).

4.30 .

VOsc SuperCollider
:

VOsc.ar(bufpos, freq: 440, phase: 0, mul: 1, add: 0)

bufpos
.
freq Hz.

116
phase
.
mul (
).
add (dc offset).

, (10
17) , 1 64,
sine1:

(
// allocate tables 10 to 17
8.do {|i| s.sendMsg(\b_alloc, 10+i, 1024); };
)

(
// fill tables 10 to 17
8.do({|i|
var n, a;
// generate array of harmonic amplitudes
n = (i+1)**2; // num harmonics for each table: [1,4,9,16,25,36,49,64]
a = {|j| ((n-j)/n).squared }.dup(n);
// fill table
s.listSendMsg([\b_gen, 10+i, \sine1, 7] ++ a);
}
);
)

(
SynthDef("crossf_wt", { arg out=0, main=0.2;
var sig;
sig = VOsc.ar(MouseX.kr(10,17), MouseY.kr(80,2870), 0, 0.3);
Out.ar(out, [1,1]*sig*main);
}
).send(s);
)

s.sendMsg("/s_new", "crossf_wt", 1001, 0, 1);

s.sendMsg("/n_free", 1001);

(
// free buffers 10 to 17
8.do {|i| s.sendMsg(\b_free, 10+i, 1024); };
)

(MouseX)
, (MouseY)
.
(foldover).
.

4.4.2. (Delay Lines).

,

. , (Digital Delay Line - DDL)

117

.
,
( ),
( ), -
(flanging, phasing, chorus, harmonizer, pitch-shifter) (reverb).

4.4.2.1. : FIR .


(delay) ( 4.31).

4.31 . x[n]
.

y [n] = [n] x a + [n ] x b

[n],
,
b,
y [n],

D
.
D :

D = x 1/sr


, ,
, .
D a b
. D = 1/sr = 1,
, .
, ,
. ,
, .
a b 0.5,
(averaging filter). :

y [n] = [n] x 0.5 + [n 1] x 0.5

118

( 4.32),
( 4.33).

4.32 (), 0.5 (),


0.5 (), () () ().
() ( ) ( ),
.

119
4.33 : ()
, () () ( =
2 ).

,
. :

y [n] = [n] x 0.5 [n 1] x 0.5


( 4.32-4.33) (),
. ,
.
SuperCollider
Delay1 Delay2 ( = 1 D = 1/sr)
( = 2 D = 2/sr) :

Delay1.ar(in, mul: 1, add: 0)


Delay2.ar(in, mul: 1, add: 0)

in .
mul
.
add
.

120
//Low Pass Filter:
(
{
a=Saw.ar(100,0.2);
a+Delay1.ar(a)
}.play
)

//High Pass Filter:


(
{
a=Saw.ar(100,0.2);
a-Delay1.ar(a)
}.play
)

blockSize Server
1.
(k-rate variables).

(a-rate variables),
,. 64,
64 x 1/sr . ,
blockSize Server.
,
, 1/sr. :

//Get the local server's options


o = Server.local.options;
//Post blockSize value
o.blockSize.postln;
//Set it to a new value
o.blockSize = 1; // The next time it boots, this will take effect

blockSize
Server.

4.4.2.2. (Circular Buffer).

D ,
.
(buffer).
x[n] .
,
. ,
(circular buffer) ( 4.34).

121
4.34 16 .
x[n] , x[n-D],
D ( = 8 ).
,
. tap.

4.4.2.3. (Comb Filter).

D
0.1 ms 10 ms,
(comb filter).
, ( 4.35).
.

122
4.35 .

D .
:

f = 1/D x f
0 s

f , ()
s
2 f0, 3 f0, 4 f0 ...
SuperCollider CombN.
- , CombL CombC,
, , (linear cubic interpolation). :

CombN.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, decaytime: 1, mul: 1, add: 0)


CombL.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, decaytime: 1, mul: 1, add: 0)
CombC.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, decaytime: 1, mul: 1, add: 0)

in .
maxdelaytime buffer

delaytime D

decaytime
60 dB
mul
.
add
.

buffer (maxdelaytime) , 0.01.


(delaytime)
x, 0.001 0.01, (decaytime)
y, 0.05 1.

//CombN - no interpolation
(
SynthDef("simple_CombN", { arg out=0, maxdelaytime = 0.01;
var sig, source;
source = WhiteNoise.ar(0.01);

123
sig = CombN.ar(source, maxdelaytime, MouseX.kr(0.001,0.01), MouseY.kr(0.05,1));
Out.ar(out, [1,1]*sig);
}).send(s);
)

//CombL - linear interpolation


(
SynthDef("simple_CombL", { arg out=0, maxdelaytime = 0.01;
var sig, source;
source = WhiteNoise.ar(0.01);
sig = CombL.ar(source, maxdelaytime, MouseX.kr(0.001,0.01), MouseY.kr(0.05,1));
Out.ar(out, [1,1]*sig);
}).send(s);
)

//CombC - cubic interpolation


(
SynthDef("simple_CombC", { arg out=0, maxdelaytime = 0.01;
var sig, source;
source = WhiteNoise.ar(0.01);
sig = CombC.ar(source, maxdelaytime, MouseX.kr(0.001,0.01), MouseY.kr(0.05,1));
Out.ar(out, [1,1]*sig);
}).send(s);
)

s.sendMsg("/s_new", "simple_CombN", 1401, 1, 1);


s.sendMsg("/n_free", 1401);

s.sendMsg("/s_new", "simple_CombL", 1402, 1, 1);


s.sendMsg("/n_free", 1402);

s.sendMsg("/s_new", "simple_CombC", 1403, 1, 1);


s.sendMsg("/n_free", 1403);

4.4.2.4. (Delay).

D 10 ms 50 ms
,
. ,

. 50 ms

.
SuperCollider DelayN,
DelayL DelayC,
.

DelayN.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, mul: 1, add: 0)


DelayL.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, mul: 1, add: 0)
DelayC.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, mul: 1, add: 0)

in .
maxdelaytime buffer

delaytime D

mul
.

124
add
.

. SC
Buffer. read

. ,
, PlayBuf.
( maxdelaytime),
simple_Delay
( delaytime) .

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");


(
SynthDef("simple_Delay", { arg out=0, maxdelaytime = 1, delaytime;
var sig, source;
source = PlayBuf.ar(1, b, BufRateScale.kr(b));
sig = DelayN.ar(source, maxdelaytime, delaytime, 1, 0);
Out.ar(out, [source,sig]);
}).send(s);
)

//boosting soundfile image, delaytime >> 0.01 -> 0.05


s.sendMsg("/s_new", "simple_Delay", 1301, 1, 1, \delaytime, 0.01);
s.sendMsg("/n_free", 1301);
s.sendMsg("/s_new", "simple_Delay", 1301, 1, 1, \delaytime, 0.05);
s.sendMsg("/n_free", 1301);
//separating images (echo), delaytime >> 0.05 -> ...
s.sendMsg("/s_new", "simple_Delay", 1301, 1, 1, \delaytime, 0.06);
s.sendMsg("/n_free", 1301);
s.sendMsg("/s_new", "simple_Delay", 1301, 1, 1, \delaytime, 0.1);
s.sendMsg("/n_free", 1301);
s.sendMsg("/s_new", "simple_Delay", 1301, 1, 1, \delaytime, 0.5);
s.sendMsg("/n_free", 1301);
s.sendMsg("/s_new", "simple_Delay", 1301, 1, 1, \delaytime, 1);
s.sendMsg("/n_free", 1301); b.free;

, ,
(tap), .
multitap delay line,
.

4.4.2.5. .

FIR
. x[n]
y[n-D] ( 4.36). .

4.36 (IIR filter).

125
:

y[n] = [n] x a + y[n D] x b


b,
(feedback). , ,
, .
(feedback distortion).
D 10 ms,
(IIR Comb filter).
( 4.37).

4.37 (IIR Comb filter).

SC
LocalIn LocalOut. LocalOut
(audio bus) , LocalIn.
SC ( blocksize), LocalIn
LocalOut ...
,
.

( SoundIn) .
(write/read), DelayN
LocalIn,
LocalOut. .
feedback
90%,
:

//IIR Comb - delaytime < 0.01


(
SynthDef("simple_IIR_Comb", { arg out=0, maxdelaytime = 1, delaytime = 0.2,
feedback =0.8, dry=0.2;
var sig, source, in, local;
source = SoundIn.ar(0);
local = LocalIn.ar(2) + source.dup; // read previous values, add to source

126
local = DelayN.ar(local, 0.01, 0.005); // delay sound
LocalOut.ar(local * feedback); //write values
Out.ar(0, [1,1]*(local + source*dry));
}).send(s);
)

//Use headphones - turn volume down!


s.sendMsg("/s_new", "simple_IIR_Comb", 1301, 1, 1);
s.sendMsg("/n_set", 1301, \feedback, 0.9); //do not exceed 90% feedback !!
s.sendMsg("/n_set", 1301, \delaytime, 0.001);
s.sendMsg("/n_free", 1301);

0.01 ,
. , (delay). ,
, ,
( feedback),
:

//IIR delay - delaytime > 0.05


(
SynthDef("simple_IIR_delay", { arg out=0, maxdelaytime = 1, delaytime = 0.08,
feedback = 0.8, dry = 0.5;
var sig, source, in, local;
source = SoundIn.ar(0);
local = LocalIn.ar(2) + source.dup; // read feedback, add to source
local = DelayN.ar(local, maxdelaytime, delaytime); // delay sound
LocalOut.ar(local * feedback); //write values
Out.ar(0, [1,1]*(local + source*dry));
}).send(s); )

//Use headphones - turn volume down!!!


s.sendMsg("/s_new", "simple_IIR_delay", 1401, 1, 1);
s.sendMsg("/n_set", 1401, \delaytime, 0.05);
s.sendMsg("/n_set", 1401, \feedback, 0.4);
s.sendMsg("/n_set", 1401, \delaytime, 0.18);
s.sendMsg("/n_set", 1401, \feedback, 0.8);
s.sendMsg("/n_set", 1401, \feedback, 0.4);
s.sendMsg("/n_set", 1401, \delaytime, 0.25);
s.sendMsg("/n_set", 1401, \feedback, 0.8);
s.sendMsg("/n_set", 1401, \feedback, 0.4);
s.sendMsg("/n_set", 1401, \delaytime, 0.5);
s.sendMsg("/n_set", 1401, \feedback, 0.8);
s.sendMsg("/n_set", 1401, \feedback, 0.4);
s.sendMsg("/n_set", 1401, \delaytime, 0.75);
s.sendMsg("/n_set", 1401, \feedback, 0.8);
s.sendMsg("/n_set", 1401, \feedback, 0.4);
s.sendMsg("/n_set", 1401, \delaytime, 1);
s.sendMsg("/n_set", 1401, \feedback, 0.8);
s.sendMsg("/n_set", 1401, \feedback, 0.4);
s.sendMsg("/n_free", 1401);


.
feedback. (80%)
. ,
90% .

127
4.4.2.6. (Allpass Filters).

, (allpass
filter) ,
(phase response). ,
90 ,
( 4.38).

4.38
( ): 262 Hz, 524 Hz, 1048 Hz, 2096 Hz, 4192, 8384 Hz 16768 Hz.
-90 .

( 4.39):

y[n] = (-g x [n]) + [n D] + (g x y[n D])

4.39 .

128
SuperCollider AllpassN ,
- AllpassL AllpassC,
. :

AllpassN.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, decaytime: 1, mul: 1, add:


0)
AllpassL.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, decaytime: 1, mul: 1, add:
0)
AllpassC.ar(in: 0, maxdelaytime: 0.2, delaytime: 0.2, decaytime: 1, mul: 1, add:
0)

in .
maxdelaytime buffer
delaytime D

decaytime
60 dB
mul
.
add
.

//AllpassN - no interpolation
(
SynthDef("simple_AllpassN", { arg out=0, maxdelaytime = 0.01;
var sig, source;
source = WhiteNoise.ar(0.1);
sig = AllpassN.ar(source, maxdelaytime, MouseX.kr(0.0001,0.01),
MouseY.kr(0.05,0.2));
Out.ar(out, [1,1]*(sig+source));
}).send(s); )

s.sendMsg("/s_new", "simple_AllpassN", 1401, 1, 1);


s.sendMsg("/n_free", 1401);


(reverberation).
( 4.40).

4.40 .

129
SuperCollider:

//a simple reverb unit (4 parallel comb -> 2 in a row allpass)


//DO NOT increase feedback more than 0.2!!
//use headphones - be cautious!

( SynthDef("simple_reverb", { arg out=0, maxdelaycomb = 1, maxdelayallpass =


0.01, delaytime = 0.6, feedback1 =0.2, feedback2 =0.2, feedback3 =0.2, feedback4
=0.2, dry=0.2;
var source, in, local, local_add, local1, local2, local3, local4, allp1, allp2;

//source
source = SoundIn.ar(0);
//4 parallel IIR_comb delay
local = LocalIn.ar(2) + source.dup; // read feedback, add to source
local1 = DelayN.ar(local, maxdelaycomb, Rand(0.0001,delaytime)); // comb-delay-1
local2 = DelayN.ar(local, maxdelaycomb, Rand(0.0001,delaytime)); // comb_delay-2
local3 = DelayN.ar(local, maxdelaycomb, Rand(0.0001,delaytime)); // comb_delay-3
local4 = DelayN.ar(local, maxdelaycomb, Rand(0.0001,delaytime)); // comb-delay-4
LocalOut.ar((local1 * feedback1) + (local2 * feedback2) + (local3 * feedback3) +
(local4 * feedback4)); //write values
allp1 = AllpassN.ar(local, maxdelayallpass, Rand(0.0001,0.01), Rand(0.05,0.2));
allp2 = AllpassN.ar(allp1, maxdelayallpass, Rand(0.0001,0.01), Rand(0.05,0.2));
Out.ar(0, [1,1]*(allp2 + source*dry));
}).send(s);
)

s.sendMsg("/s_new", "simple_reverb", 1301, 1, 1);


s.sendMsg("/n_free", 1301);


feedback1, feedback2, feedback3 feedback4
0.8 (80%). , ,
.

4.5. , - : (Granular
Synthesis).

4.5.1. .

-
(microsounds sonic grains)
.
1/1000 (1 ms) 1/10 (100 ms).
, ,
( ), ( ) (
).
Dennis
Gabor 1940.
, Gabor
(acoustical quanta), .
Iannnis Xenakis 1950 1960


.

130
1970, 1980 1990
Curtis Roads Barry Truax
. Truax
(Real-time Granulation Truax, 1988), Roads,
, Pulsar
Synthesis (Roads, 2001).
,
(FOG: FOF granular Michael Clarke, 1993),

(PSOLA analysis Peeters and Rodet 1999, Schnell, et al. 2000),
(Grainlet Synthesis Curtis Roads,
1996).
, , ,


.

.
.

4.5.2. : (Sonic Grains).


(sonic grain).
(grain waveform),
(grain envelope), (grain frequency), (grain amplitude)
(grain duration) ( 4.41).
.
(sonic cloud).

4.41 (sonic grain) .

.
2 ms
.
(click). ,

. 5 ms 25 ms ,

131
.
: ,
, ,
,
.

. ,
.
.
Gauss ( ), Gaussian (Quasi-
Gaussian), (, ), Sinc function,
(expodec), (rexpodec) ..
. , ,
Sinc ,
, (reverse effect) ...
,
.
.
, , sinc function,
,
.
. [Roads, 1991]:
(monochrome), , (polychrome),
, (transchrome),

.

, .
, ,
( 4.42-).

glissando ( 4.42-).
(stratus clouds
) ( 4.42-).

132
4.42 : ()
, () glissando, () (stratus clouds).


,
(cumulus clouds),
( 4.43-),
( 4.43-),

( 4.43-).

133
4.43 : () ( -
cumulus clouds), () , () .

(FF fill factor)


D
d, :

FF = D x d

,

. FF < 0.5 , FF
,
- .

134
4.5.3. .


(
4.44).

4.44 :
(grain WAVE), (grain AMP), (grain ENV),
(grain FREQ), (grain DUR)
(grain POS).


, . n
d , n x d
. n
, , ,
.
. Gabor, 1940,
,
(Gabor matrices) ( 4.45).

135
4.45 Gabor (Gabor matrix)
, - .
, .
.

Xenakis (Concrete PH, 1958 )


: .

.
.
, 1959 9
Analogique A et B (screens).
( F G)
, ( 4.46).

Xenakis book. ( 4.47). /

.

4.46 Xenakis (screen).


, .
(clouds) .

136
4.47 (book).

1980 1990
Barry Truax Curtis Roads. Truax
- ( )
. :
(control functions)
(sound database) ( 4.48).

4.48 Barry Truax.


(.. Short-Time Fourier Transform, Wavelet Transform),
(.. ).
: (deterministic)
(stochastic).
,
. ,

,
. , Roads,
:
(synchronous methods),
(asynchronous methods), .
FOF synthesis ,
Xenakis (screens)
.


( 4.2).


(grain rate)
(grain duration)
(grain amplitude)

137
(grain frequency)
(grain envelope)
(grain soundfile)
(number of streams)
(grain overlap)

4.2 Truax.


. Curtis Roads
:

o - (Matrices and Screens on the Time-Frequency


Plane).
(Pitch-Synchronous Granular Synthesis, PSGS).
M- (Synchronous and Quasi-Synchronous
Granular Synthesis, SGS, QSGS).
(Asynchronous Granular Synthesis).
(Physical and Abstract Models).
(Granulation of Sampled Sound).

-
.
Fourier (Short-Time Fourier Transform STFT)
Wavelet. Fourier
.

, . ,
, -
, .
:
.

.
,
, , , Xenakis
(screens).
(Pitch-Synchronous Granular Synthesis PSGS De Poli, Piccialli,
1991) - ,
(formants).
.
- ,
Gabor.
( 4.45). ,

.
.

. -,
. (pulse train)

FIR, .
t

138
.
.
(Synchronous Granular SynthesisSGS)

(synchronous), .
, (accelerandi)
(rallentandi) . ,

. (Quasi-Synchronous Granular SynthesisQSGS)
,
.
(Asynchronous Granular Synthesis AGS)
(asynchronous),
. , ,

.
(Physical Modeling)
. ,
. ,

. ,
...
.
, ,
.
.

4.5.4. .

SuperCollider GrainBuf, GrainIn, GrainSin GrainFM


.
GrainBuf
.
Buffer.
,
.

GrainBuf.ar (numChannels: 1, trigger: 0, dur: 1, sndbuf, rate: 1, pos: 0, interp:


2, pan: 0, envbufnum: -1, maxGrains: 512, mul: 1, add: 0)

numChannels
.
pan
.
trigger
.
dur .
sndbuf (buffer)
.
buffer
.
rate

pos

139
(0: , 1:
)
interp (1:
, 2: , 4:
)
pan .
envbuf (buffer)


. -1
Hann.
maxGrains
.
mul
.
add
.

Impulse, ,
(LFNoise1 LFNoise2),
.
X left-right:

(
var winenv;
b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01-44_1.aiff");
// a custom envelope
winenv = Env([0, 1, 0], [0.5, 0.5], [8, -8]);
z = Buffer.sendCollection(s, winenv.discretize, 1);

SynthDef(\buf_grain_test, {arg gate = 1, amp = 1, sndbuf, envbuf;


var pan, env, freqdev;
// use mouse x to control panning
pan = MouseX.kr(-1, 1);
env = EnvGen.kr(Env([0, 1, 0], [1, 1], \sin, 1), gate, levelScale: amp,
doneAction: 2);
Out.ar(0, GrainBuf.ar(2, Impulse.kr(10), 0.1, sndbuf, LFNoise1.kr.range(0.5, 2),
LFNoise2.kr(0.1).range(0, 1), 2, pan, envbuf) * env)
}).send(s);
)

// use built-in Hann env


x = Synth(\buf_grain_test, [\sndbuf, b, \envbuf, -1])
// switch to the custom env
x.set(\envbuf, z)
x.set(\envbuf, -1);

x.set(\gate, 0);

GrainIn .
(Real-time Granulation):

GrainIn. ar (numChannels: 1, trigger: 0, dur: 1, in, pan: 0, envbufnum: -1,


maxGrains: 512, mul: 1, add: 0)

140
numChannels
.
pan
.
trigger
.
dur .
in .
pan .
envbuf (buffer)


. -1
Hann.
maxGrains
.
mul
.
add
.


( SoundIn) - :

(
var winenv;
// a custom envelope
winenv = Env([0, 1, 0], [0.5, 0.5], [8, -8]);
z = Buffer.sendCollection(s, winenv.discretize, 1);

SynthDef(\in_grain_test, {arg gate = 1, amp = 1, envbuf;


var pan, env, sig;
// use mouse x to control panning
pan = MouseX.kr(-1, 1);
env = EnvGen.kr(Env([0, 1, 0], [1, 1], \sin, 1), gate, levelScale: amp,
doneAction: 2);
sig = SoundIn.ar(0);
Out.ar(0, GrainIn.ar(2, Impulse.kr(12), 0.1, sig, pan, envbuf) * env)
}).send(s);
)

// use built-in env


x = Synth(\in_grain_test, [\envbuf, -1])
// switch to the custom env
x.set(\envbuf, z)
x.set(\envbuf, -1);

x.set(\gate, 0);

GrainSin :

GrainSin.ar(numChannels: 1, trigger: 0, dur: 1, freq: 440, pan: 0, envbufnum: -1,


maxGrains: 512, mul: 1, add: 0)

numChannels
.
pan

141
.
trigger
.
dur .
freq .
pan .
envbuf (buffer)


. -1
Hann.
maxGrains
.
mul
.
add
.


WhiteNoise,
Y:

(
var winenv;
// a custom envelope
winenv = Env([0, 1, 0], [0.5, 0.5], [8, -8]);
z = Buffer.sendCollection(s, winenv.discretize, 1);

SynthDef(\sin_grain_test, {arg gate = 1, amp = 1, envbuf;


var pan, env, freqdev;
// use mouse x to control panning
pan = MouseX.kr(-1, 1);
// use WhiteNoise and mouse y to control deviation from center pitch
freqdev = WhiteNoise.kr(MouseY.kr(0, 400));
env = EnvGen.kr(Env([0, 1, 0], [1, 1], \sin, 1), gate, levelScale: amp,
doneAction: 2);
Out.ar(0, GrainSin.ar(2, Impulse.kr(10), 0.1, 440 + freqdev, pan, envbuf) * env)
}).send(s);
)

// use built-in env


x = Synth(\sin_grain_test, [\envbuf, -1])
// switch to the custom env
x.set(\envbuf, z)
x.set(\envbuf, -1);

x.set(\gate, 0);

GrainFM
.

GrainFM.ar(numChannels: 1, trigger: 0, dur: 1, carfreq: 440, modfreq: 200, index:


1, pan: 0, envbufnum: -1, maxGrains: 512, mul: 1, add: 0)

numChannels
.
pan

142
.
trigger
.
dur .
carfreq .
modfreq
index
pan .
envbuf (buffer)


. -1
Hann.
maxGrains
.
mul
.
add
.

(200 Hz)
(400 Hz)
WhiteNoise,
Y. 1 10
LFNoise1:

(
var winenv;
// a custom envelope
winenv = Env([0, 1, 0], [0.5, 0.5], [8, -8]);
z = Buffer.sendCollection(s, winenv.discretize, 1);

SynthDef(\fm_grain_test, {arg gate = 1, amp = 1, envbuf;


var pan, env, freqdev; // use mouse x to control panning
pan = MouseX.kr(-1, 1);
// use WhiteNoise and mouse y to control deviation from center pitch
freqdev = WhiteNoise.kr(MouseY.kr(0, 400));
env = EnvGen.kr(Env([0, 1, 0], [1, 1], \sin, 1), gate, levelScale: amp,
doneAction: 2);
Out.ar(0, GrainFM.ar(2, Impulse.kr(10), 0.1, 440 + freqdev, 200,
LFNoise1.kr.range(1, 10),pan, envbuf) * env)
}).send(s); )

// use built-in env


x = Synth(\fm_grain_test, [\envbuf, -1])
// switch to the custom env
x.set(\envbuf, z)
x.set(\envbuf, -1);

x.set(\gate, 0);

143

. , . : , 2004.

Bencina, R. Implementing Real-Time Granular Synthesis, Audio Anecdotes III, Greenbaum & Barzel, Eds.,
Natick, MA: A.K. Peters, 2006.
Clarke, M., Composing at the Intersection of Time and Frequency, Organised Sound 1(2), Cambridge
University Press, 1996, . 107-117.
Clarke, M., X. Rodet, Real-Time FOF and FOG Synthesis in MSP and its Integration with PSOLA,
International Computer Music Conference 2003, Singapore, 2003.
Cook , P. Real Sound Synthesis for Interactive Applications. Natick, MA: A K Peters/CRC Press, 2002.
Dodge, C. T. A Jerse. Computer Music: Synthesis, Composition, and Performance. . : Schirmer,
1997.
Keller, D., Truax, . Ecologically-Based Granular Synthesis, Organised Sound 7 (1), Cambridge
University Press, April 2002, . 5-14.
Miranda, E. Computer Sound Design: Synthesis Techniques and Programming. Oxford: Focal Press, 2003.
Puckette, M. The Theory and Technique of Electronic Music. Singapore: World Scientific Publishing
Company, 2007.
Roads, C. The Computer Music Tutorial. Cambridge, MA: The MIT Press, 1996.
Roads, C. Microsound. Cambridge, MA: The MIT Press, 2004.
Roads, C., S. T. Pope, A. Piccialli G. De Poli (). Musical Signal Processing (Studies on New
Music Research). . : Routledge, 1997.

144
5

.

. ,
(home) . ,
. ,
.
(Digital Audio Workstation-DAW),
.
.
DAW. , .

5.1. .
1860
phonautograph douard Lon Scott de Martinville.
Au Clair de la Lune
. phonautograph
. to 1877
phonograph ( gramophone65) Thomas Alva Edison,

,
.
(recording
room) (control room). , (home studio),
,
. ,

( 5.1):

5.1 .

1. ,
(line level).
2. (, EQ,
.).

, .

145
3.
(Analog to Digital Converter-ADC),
. .
4. , Audio Interface.
5. Audio Interface
(Digital Audio Workstation-DAW),
.
6. , , DAW Audio
Interface.
7. , (Digital to
Analog Converter-DAC), .
3. , ,
.
8. , .

. , 1 2
Audio Interface.
A
.

5.2. .

, . ,
, . ,
, ,
.
, .
, , .
, , ,
.
(sensitivity)
dB.
.
, : (dynamic),
(condenser), (ribbon), (crystal, piezoelectric)
(carbon).
.

5.2.1. (Frequency Response Curve).

, , , 20 Hz
20.000 Hz. ,
1dB. ,

10.000 Hz, , ,
.
. ,
.
( )
, .

. ,

146
(flat response)
,
.
.

. ,
, ,
, .
,
( 100 Hz)
(pop noise, ..). (proximity
effect)
.
5.1
.

5.1 Oktava 319 Shure SM58 (:


https://commons.wikimedia.org/wiki/File:Oktava319vsshuresm58.png).

(transient
response), .
, hi-hat .
,
. , ,
.

5.2.2. (Dynamic Microphones).

( 5.2 5.3)
() .
,
. ,

147

.

5.2 (:
https://commons.wikimedia.org/wiki/File:SM57%26Beta57.JPG#/media/File:SM57%26Beta57.JPG).

5.3 (: https://commons.wikimedia.org/wiki/File:Mic-
dynamic.PNG#/media/File:Mic-dynamic.PNG).


. ,
, .

5.2.3. (Condenser Microphones).

( 5.4 5.6)
( ). ()
.
. ,

148
. ,
. .

phantom power66 ( +48 Volts).

5.4 .

, ,
.
.

.

5.2.4. .


. ,

, .

.

5.2.4.1. .


, .
.
5.5.

149
5.5 (:
https://commons.wikimedia.org/wiki/File:Polar_pattern_cardioid.png#/media/File:Polar_pattern_cardioid.png).

(Cardioid).
(uni-
directional).
. ,
, , .
, - -.
.

.
(Omni-directional).
(360). .
. ,
.
(Bi-directional Figure of 8). .

(90 270).

150
(Ultra-directional shotgun).
. .
,
,
(shotgun).
. shotgun
.

.
( 5.6).

5.6 (:
https://commons.wikimedia.org/wiki/File:AKG-C414-front.jpg).

,
.
10 dB, 20 dB .., 75 Hz, 100 Hz
.. ( 5.7). ,
pop noise, .

.

5.7 .

151
5.2.5. .



.

.
,
. , ,
,

.
:

1. .
.
. ,

. close miking
.
2. . ,
.
, ,
Doppler effect.
3. .


. ,
. , .

, .
Pendulum Music Steve Reich.
4. .
3.

.

.
,
.
.
.
:

. , ,
, ,
.

5.3. .
( 5.8)
.
(inputs) (output).

152
5.8 Focusrite 72 , 48 (:
https://commons.wikimedia.org/wiki/File:Focusrite_Console_02.jpg).

:
(channels). .

.
. (input)
(fader)
.
(inputs).
(o XLR), ( jack balanced unbalanced),
MP3 players ( RCA).
(Gain Trim).
, .
.
.
(EQ). / .
.
.
(feedback).
. ,
(Q) .
, (,
-, -, ).
Send. , bus.
Bus. bus
. 1: bus
drum set
. : drum set . DAW,
tracks bus 1 2. ,
drum set
. 2: DAW
bus (compression) (master output).

153
(auxiliary output). bus.
. pre-fader post-fader. ,
auxiliary, ,
. : 1 monitor
aux 1 2 monitor aux 2.
monitor aux 1 2
monitor .
effect.
, auxiliary bus, , send,
, return.
(Pan). .
(faders). .
(Master control). master control output
master outputs . auxiliary master auxiliaries
.

5.4. (DAW-Digital Audio Workstation).


(Digital Audio Workstation-DAW)
, .
(
) DAWs
.
5.2
DAW.

5.2 DAW DAW .

5.4.1. Tracks.

, track . track (audio MIDI


). track
DAW,
, .
,
effects. DAW
track:

Audio track. (mono), (stereo)


(surround). track

.

154
track : 4.0 (quadraphonic),
surround 5.1, 6.1, 7.1 8.0 (octaphonic).
Software instrument. MIDI . MIDI
(input) (output).
MIDI track. MIDI MIDI
, software instruments.
Auxiliary track. tracks
, effect.
Global track.
project DAW, metro, tempo, markers ..

5.4.2. Audio Track DAW.

bit depth.

.
(buffer size).
track (mono, stereo ..).
track (input) ,
.
phantom power, .
track (record enable).
track (monitoring).
,
DAW.
DAW, .
(record button).

5.4.3. .

( set rate
change sample rate ), . ,
48.000 Hz
96.000 Hz, : )
( ) ) .
48.000 Hz 24.000 Hz, )
) .

5.4.4. (Buffer Size).

buffer
(samples),
.. buffer size
(input/output data) (,
, effects ..). effect DAW,

. ,
, (Central Processing Unit-CPU),
audio driver .., .

(monitoring latency).

155
,
.

. , ,
CPU. , ,
(128).
effects,
. , ( 5.9).

5.9 (buffer size) Preferences Logic Pro X.

5.4.5. (Audio File Formats).

(bit depth)
,
.
,
. .
: ,
,
.
, ,
. codec
encoding () decoding () compression
() decompression (). H , ,
(data compression) (audio compression).
(lossy),
, (lossless). ,

.

156
.
.mp3, 10:1.
10%
. 5.1
.


.aiff ( ) Audio Interchange File Format (Apple 1989).
.wav ( ) Wave ( Windows 1991,
.aiff).
.wav (bwf) Wave (Broadcast Wave Format, 1997).
,
.

() .
.flac ( ) Free Lossless Audio Codec.
.au .snd ( ) Sun Microsystems.
.alac ( ) Apple Lossless Audio Codec (iTunes).
.caf ( ) Core Audio Format.
surround sound Apple.
.dsd ( ) Direct Stream Digital. ,
super audio CDs (SACD).
.wma ( ) Windows Media Audio. WMA lossless.
.mp3 () MPEG 1 (Motion Picture Experts Group 1).
.wma () Windows Media Audio.
.ogg .oga () Vorbis.
.
.aac () Advanced Audio Codec. Apple iTunes.

5.1 .

,
interleaved deinterleaved. interleaved
.
deinterleaved ,
.

5.5. (Editing).
DAW )
, ) , )
(fade in) (fade out) )
, , gain / normalize.

5.5.1. (Trim) (Non Destructive Editing).

, DAW :
(Audio Files) Project
, Edit Window DAW.

cut (scissors tool) trimming.
,

157
(regions). trimming,
,

. (non-destructive editing)
(destructive editing) .
fade in fade out.

5.6. .
, ,
, . ,
.
track DAW ,
(
(amplitude) 0.0-1.0). ,
0 dB
. , ,
.
0 dB, , ,
. ,
.

5.6.1. ADSR. , .

2.
DAW, . (envelope)
/ .
, ,
.
.
.
.

. ,
.
.

track . ,
(amplitude modulation)
.
ASR (Attack-Sustain-Release envelope) ADSR (Attack-Decay-Sustain-Release envelope),
( 5.3).
.

158
5.3. ADSR.

)
) (transition time).

(breakpoints) . 5.4
ADSR. .
(setdomain 1000 ms)
0.0 1.0. .
.

5.4. Max.

5.5
. 0,
1. 300 .
, 0.5 1 , 1. 2 0.
.

159
5.5 Max.

5.6 (plots)
SuperCollider. Env ,
(, arrays) .
.
(linear) (exponential). ,
.

Env.new([0, 1.0, 0.2, 0.5, 0], [1, 2, 0.5, 5],'linear').test.plot;


Env.new([0.0001, 1.0, 0.2, 0.5, 0.0001], [1, 2, 0.5, 5],'exponential').test.plot;

5.6. SuperCollider.

, ,
. ,
(granular synthesis)
fade in fade out.
DAW, (volume)
.
: )
) .
,

.
. (
),
. ,

160

.
,
. . 5.10
, ,
.
() fade in fade out.

5.10 .

(pan) :


.

.

DAW
.
(controllers),
MIDI
DAW.
write track
.
touch latch ( 5.11).
touch latch
. (overdubbing).
touch

. latch
.

161
5.11 write, touch latch DAW Logic
Pro X.


.

.
. ,

.

5.12 . .

5.6.2. (Crossfade).

fades
. DAW
. , trimming
,
.
.
(artifact). artifacts ,
glitch, fades
( ) . DAW

162
fades. 5.7 fade in.
fade out .
(gain dB)
.
fade. , fade in fade out,
.
fade in.
. ,
fade out, . S

.

5.7 fade in.

163
trimming, crossfade
, ,
. 5.13
.

5.13 crossfade ()
().

5.7. .

5.7.1. (Digital Signal Processing-DSP).


. (Digital Signal
Processing-DSP) (, ,
, , ..), ,
, . DSP

(ADC) . ,
(DAC).
(Digital Signal Processor).
DSP
(chips) .
. DSP
. DSP :

Input/output: .
Data memory:
.
Program memory:
.
Compute engine:
program memory data memory.

DSP
.
(
) .
5.8 DSP. ,
(Low Pass Filter).
,
(aliasing).

164
Nyquist ( ).
(antialiasing filter). ,
,
, DSP. ,
, DAC .
,
Nyquist (reconstruction filter).

5.8 DSP.

5.7.2. (Dynamics Processing).

(amplitude) .
(volume) DAW,
. ,
,
, .
,
,
.
. ,
.
(dynamic range),
.
. ,


. Beethoven
piano forte
.
. .

. ,
.

decibel (dB). (frequency)
(),
dB (pppp-ffff, crescento ..).
.

.
. , dB
.
( ) .
,
.

165
Leonardo da Vinci :
, ;
.
. ,
. ,
dB . ,
, dB
. , , ,

.
dB
SPL (dB Sound Pressure Level). dB SPL,
, () 0 dB SPL
194 dB SPL.
. 20 Hz
20.000 Hz ,
.
5.2 dB SPL
.

dB SPL
140
120-130
Club 100
. 60
50
30
0.5-1
( ) 0

5.2 dB SPL.

, , ,
, . , ,
.
(signal-to-noise ratio) ,
, .
:

1. ( , , ,
, ..).
:
,
.
2. ( , , ..).
(AC) (hum)
50-60 Hz.
(
).

(distortion) ,
.
.

166
, ,
pop noise popping
.
, (
bits ),
(clipping) ( 2.2). . ,

( 5.14).

5.14 clipping (: https://commons.wikimedia.org/wiki/File:Clipping.svg).

,
, .

5.7.2.1. (Compressor).

(compressor) (gain)
( 5.15).

5.15 Plug in DAW Logic Pro.

( )
, (upward compression)
(downward compression). , (x)
(y). (transfer

167
functions) 5.9. , , ,
.

5.9 .

. ,

. , ,

. (threshold),
. 5.10 ( )
DAW.

. (
).
(Threshold). .
, .
dB,
.
(Ratio (input to output)). (gain
reduction), . 5:1
5 dB ,
1 dB. 10 dB ,
2 dB. 1:1 y
x (y = x) , . 2:1 , ,
. 10:1
1/10 .
(> 10:1), (limiting). :1,
1 dB .
5.16 ,
4:1.
.
, .

168
5.16 4:1.

(Attack time). , ms,


.
( dB), ratio.
( ) .
, attack time
, .
, attack time
transients,
. , attack time
,
( De-esser). , attack time
( 100 ),
transients . attack time
.
(Release time). , ms,
.
.
, ,
pumping. ,
,
(drones), .., .
, , .
.
(look ahead).
.
.
transients ,
.
(Soft-hard knee).
( 5.10). soft knee . ,
, soft knee
. hard knee
.

169
5.10 soft knee hard knee.

-RMS (Peak sensing-RMS). Peak


. RMS (Root
Mean Square) .

(sample). RMS, Peak
(limiting), transients.
(link).
.
.
plug in, ( )
master, . ,
.
(VU meter LED meter).
dB.
(Makeup gain output level).
. ,
.
(side chaining). side chaining
, .
. , side chaining

(ducking). ,
.
,
. ,
.
, , clubs
, , . ,
,
, .
plugin ,
.
,
,

170
. ,
.
,
. ,
,
.
.

5.7.2.2. (Noise Gate).

(hiss, hum)
.
.
, ,
( 5.17).

5.17 Plugin DAW Reaper (: www.reaper.fm).


(). dB
. (on) (off)
.

. (fade out),
.
,
.
(Ratio).
. 1:1 .
(Attack time).
.

, .

171
(Hold). ms
. (fade out)
.
(Release time).
.

5.7.2.3. (Limiter).


(gain reduction) , transients
. (
ratio) . , plugin.
(ratio). 10:1 .
brick wall limiting
.
.
, ,
.
, .
.
,
( ) . ,
.

track,
. mastering.
, ,
transients.
,
.

5.7.2.4. - (Multiband Compressors-Limiters).

( )
(band pass filters).
,
, , .. ,
.
, ,
.
,
.

5.7.2.5. (Expander).

.
.
. , ,
.
(upward expansion),
(downward expansion).

, .

172
(ratio). 2:1
3 dB , 6 dB. 10:1
.
: (attack time),
(release time), (makeup gain) (knee).

5.7.2.6. De-esser.

De-esser ,
, , ,
.
, .
. ,
.

4.000 Hz 10.000 Hz, .

(volume automation), 5.10, plug in
.
,
. De-esser , ,
.
(< 5 ms) look
ahead transients .

5.7.2.7. .


. ,

. ,
,
, .

, ,
, .
, ,
.
( ), ,
.
Pierre Schaeffer: Primaut loreille! ( !).

5.7.3. (Delays).

,

(reverb) .
. ,
.
,
, .
30
,

173
.
,
,
, .
(Law of the First Wavefront) Lothar Cremer Precedence Effect,
, ,
.

.
.
, ,

( 5.18).
.

5.18 . (
) .
.


.
, 5.19.

343 ,
, .. ,
.
. ,
, (Interaural Time
Difference-ITD). , ,
, ,
.

174
5.19 (Interaural Time Difference).

(delay unit) .
(building block)
(effects) reverb, chorus, echo, flanger, phaser ..

( 5.11 4.31).

5.11 .

(Delay time). .
, ,
.
(Rate). LFO (Low Frequency Oscillator)
.
(Feedback). (output) (input).
(wet)
. .
(Mix, Wet/Dry).
(wet) (dry) .
(Tempo Sync Beat Sync Sync).
. .
1/4, 1/8, 1/16, 1/32 ..
.
Tap tempo.
pad.
(Filter). (High Cut) / (Low Cut)

175

(dry). .
5.20 plugin Delay. Beat Sync

1/4 . delay
1/4 1/8 1/16,
, ,
. ping pong delay. (Feedback)
25% Low Cut
100 Hz High Cut 500 Hz.
(Output Mix) 1 3.

5.20 Delay Logic Pro.

5.21 ReaDelay, VST plugin DAW Reaper.


plugin delays (taps)
.

5.21 Delay Reaper (: www.reaper.fm).

176
, delay
. 5.22
sfplay~ 2 (2000 ms).

5.22 Max.

(< 20 ms)
.
20 ms ,
. ,
.
DAW, track
(5-10 ms)
. ,
.
30-100 ms (slapback delay)
.
(< 10 ms)
(feedback),

.

5.7.3.1. (Reverb).

plugins DAW.
.
.
, (
) ( 5.12):

1. X (Initial Time Delay)


.
2. (First Reflection).
3. (Early Reflections) .

177
5.12 .

,
.

.
:
.
.


( , ..).
.
, . ,
.
, Marc Grawels
, ,
CD.
(algorithmic reverb). .
, ,
: ) (Early Reflections-ER)
)
.
1960 Manfred Schroeder
Bell, 1976
EMT 250.
5.23 .

.

178
5.23 PlatinumVerb DAW Logic Pro.

:
Predelay.
. . ,
Predelay. predelay
.
,
.
(Room size). .
, , .
.
Predelay.
(Room shape). .
, , .
(Stereo base).
. 25-30 .
Initial delay. .
(Spread). .
, .
(Crossover).
, .
(Low ratio). crossover.
100%, . < 100%
, > 100%,
.

179
(Low frequency level).
. 0 dB, .
(High Cut Filter).
.
.
(Density). .
, .
(Diffusion). .
.
(Reverb Time-RT).
60 dB . ,
.
, (decay rate). ,
0.3 60 dB / 0.3 = 200 dB
67. plugin 5.23,
.
(Mix Wet/Dry).
(wet) (dry) .
plugin EnVerb
5.24,
Attack, Decay, Sustain, Hold Release .

5.24 EnVerb DAW Logic Pro.

5.7.3.2. (Convolution Reverb).

, (convolution)
. (time domain)
(spectral domain). .
,
. impulse response (
) ( 5.13) .
:

.
, (impulse),
.
, (response)
.

180
,
.
, .

5.13 Impulse Response.

5.25 plugin Altiverb ( ).


impulse response
.
FFT.

5.7.3.3. (Plate Reverb).

1957 140.
.

( 5.26).

181
5.26 (: http://www2.ph.ed.ac.uk/~sbilbao/platerevpage.htm).

5.7.3.4. (Spring Reverb).

1930 1960
Hammond.
.
( 5.27).

5.27 (: https://commons.wikimedia.org/wiki/File:Reverb-
3.jpg#/media/File:Reverb-3.jpg).

5.7.3.5. Presets.

(presets)
:

Plates.
.
Rooms. .

182
Halls. .
Cathedral, Church. .
Ambiance.
.

,
, . ,
.

. ,
.
,
. ,
master track project,
.

, 5.3
DAW.

Effect
(Distortion)
. ,

.
Vibrato
(Frequency Modulation 1-10 Hz).
Tremolo
(Amplitude Modulation). MIDI CC 92
(depth) Tremolo.
Chorus (
delays
, 1-40 ms). MIDI CC 93
(depth) Chorus.
Phaser delays
. MIDI
CC 95 (depth) Phaser.
Flanger delays ( LFO)

.
,
(phase shifts).
, (Echo) .
.
> 30 ms.
Pitch Shifter. Harmonizer Pitch Shifter
. Harmonizer
.
Wah-Wah
( )
Band Pass. Wah-Wah
.

183
Vocoder VOice enCODER. 2 (inputs).
(carrier)
(modulator) .
Vocoder
. ,

. Bell
1930,
.
(Morphing) - (analysis-
resynthesis)
.
(Denoiser)
.

5.3 DAW.

, . MIDI. : , 2002.
, . . : University Studio Press, 1991.
Eargle, J. M. . : , 1999.
Everest, F. A. . : , 2003.

Eleanor, S. F. (). Beyond MIDI. The Handbook of Musical Codes. Cambridge M: The MIT Press,
1997.
Gibson, B. Compressors, Limiters, Expanders and Gates. Vallejo CA.: ProAudio Press, 2002.
Izhaki, R. Mixing Audio, Concepts, Practices and Tools. Oxford: Focal Press, 2007.
Quinet, J-J. Le Systme MIDI. I-Technique de Base, ACME. : Les Dossiers de lACME, 1993,
. 5-49.
Roads, C. The Computer Music Tutorial. Cambridge M: The MIT Press, 1996, . 387-448.

184
6
MIDI
Open Sound Control (OSC).

6 Musical Instrument Digital Interface (MIDI) Open


Sound Control (OSC)
. .


1, 2 5.

6.1. T Musical Instrument Digital Interface (MIDI).



.
, ,
,
MIDI (Musical Instrument Digital Interface).
,
1980 .
1970 1980, National Association of Music
Merchants (NAMM) . 1982,
Dave Smith,
Sequential Circuits.

. USI (Universal Synthesizer
Interface).
. ,
Musical Instrument Digital Interface (MIDI). MIDI . 1983,
Roland Sequential Circuits Prophet 600, MIDI
MIDI.
: MIDI
. .
, , (!),
.
(, ..),
. , HELLO 6.1 (
)
.
ASCII.

185
6.1 HELLO ASCII .

6.1.1. ;


. ,
, bits (
). bits 0 1.

( 1.7).
: (on-off).
bit: 1=on 0=off). bits (bytes)
. , byte, 8 bits68.
MIDI, noteon , :

byte status byte bit 1.


data bytes bit 0.

status byte data bytes


.
, bits
. - bits .
. -
.
, ,

. , MIDI 31.250 bits
(bits per second bps).

6.1.2. .

(0-9), ()
, .
, 8.582:

8 5 8 2
(1000) (100) (10) (1)

186
(0 1),
() .

6.1.3. (Parallel-Serial Transmition).

6.1 bits
.
.

6.1.3.1. .

bits ,
6.2.

6.2 .

6.1.3.2. .

, bits
( 6.3).

6.3 .

.

. ,
.
, ,
. ,
,
, .

187
6.1.4. MIDI;

MIDI bytes 8 bits (


bits ). MIDI ,
, (DIN plug)
.
video.
, ,
. ( 6.1).

6.1 MIDI.

5 MIDI output :

5: MIDI .
2:
(shield).
4: 5 Volts
.
1 3: .

6.1.5. MIDI : In-Out-Thru.

MIDI
MIDI (MIDI Interface).
,
. MIDI ,
. , ,
(, .), .
,
MIDI: (data out), (data in) (data thru)
( 6.4). MIDI
. E MIDI data out.

188
6.4 In, Out Thru (daisy chain).

6.1.5.1. MIDI Out.

, MIDI .
, .
,
. / ,
MIDI, MIDI OUT.

6.1.5.2. MIDI In.

MIDI Out , MIDI In ,


. , (samplers), drum machines

. ,

. ,
. , ,
MIDI In .

6.1.5.3. MIDI Thru.

MIDI MIDI , Thru


MIDI In.
, Out Thru. ,
In. , 6.4,
(master) Out, In
(slave 1) (slave 2) Thru.
, MIDI Universal Serial Bus (USB)
MIDI , ,
MIDI .

6.1.6. MIDI.

, MIDI
MIDI (..
).
MIDI ,
note on : , key
number, (velocity). , ,

189
69.
MIDI
. ,
, , .
MIDI
.
aftertouch pressure sensitivity vibrato.
,
. aftertouch: ) channel
aftertouch channel pressure,
, , ) polyphonic aftertouch key
pressure ,
.

6.1.7. (Continuous Controllers).

Continuous Controllers , , , ..
modulation pitch bending. (controllers)
. , Pitch Bend ,
, .
7.

6.1.8. Bits Bytes.

bit : 1 0.
, bits bytes. 8- byte
8 bits. , bits
bytes .
MIDI.
, (0-9), 10
, 6.1.2,
, 2 . :

Byte x x x x x x x x
128 64 32 16 8 4 2 1

8 bits 0 255 .
byte
(1+2+4+8+16+32+64+128=255), :

x*20 = x*1
x*21 = x*2
x*22 = x*4
x*23 = x*8
x*24= x*16
x*25 = x*32
x*26 = x*64
x*27 = x*128

190
byte:

10010110

0*20 = 0*1 = 0
1*21 = 1*2 = 2
1*22 = 1*4 = 4
0*23 = 0*8 = 0
1*24 = 1*16 = 16
0*25 = 0*32 = 0
0*26 = 0*64 = 0
1*27 = 1*128 = 128

0+2+4+0+16+0+0+128 = 150

byte 0 1,
, , , ..

6.1.9. Status Bytes Data Bytes.

MIDI bytes : status bytes data bytes.


status byte MIDI.
,
.. status byte byte MIDI . data bytes
status byte status byte.
, status byte (note on), data
bytes (velocity).
status byte data bytes. status data bytes
(1 status 0 data bytes):

Status Byte 1 0110110


Data Byte 0 1110010

bit byte . ,
7 bits byte.
MIDI 0 127 (128 ):

0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 0101 5
0000 0110 6
... ...
0 1111111 127

191
6.1.10. MIDI (MIDI Channels).

MIDI 16
, .
. , ,
MIDI status byte ( )
(data bytes) .

Status Byte Data Byte(s)


1001 0010 ( MIDI) 0xxx xxxx

bits status byte ,


(0-15) 16 ( 6.1):

MIDI
0000 0 1
0001 1 2
0010 2 3
0011 3 4
0100 4 5
0101 5 6
0110 6 7
0111 7 8
1000 8 9
1001 9 10
1010 10 11
1011 11 12
1100 12 13
1101 13 14
1110 14 15
1111 15 16

6.1 16 MIDI.

MIDI
(transmit channel) (receive channel). ,
note on ( 6.2):

1 001 0000 0 011 1100 0 100 0001


bit (1) bit (0) bit (0)
status byte. bits data byte. data byte.
(001) data byte data byte
velocity
(note on). (pitch). .
bits (0000) , MIDI velocity 65.
MIDI note number 60 (
)
(transmit channel), (C3).
1. 12.

6.2 note on.

192
MIDI.
,
.

6.1.11. .

MIDI.
,
( 0 9 10 15 F)
( 6.3):


0 00
1 01
2 02
3 03
4 04
5 05
6 06
7 07
8 08
9 09
10 0A
11 0B
12 0C
13 0D
14 0E
15 0F

6.3 .

, 0 .
, H ,
(Hexadecimal). , 127 ,
7F H (7x16 + 15x1=112+15 = 127).
MIDI .
.
MIDI, 16 (
6.4).

MIDI
00 1
01 2
02 3
03 4
04 5
05 6
06 7
07 8
08 9
09 10
0A 11

193
0B 12
0C 13
0D 14
0E 15
0F 16

6.4 .

note on ,
. , 90 H : 9 = note
on (1001), 0 = 1.

90 H note on MIDI 1 (1001 0000)


91 H note on MIDI 2 (1001 0001)
92 H note on MIDI 3 (1001 0010)
... ...

, MIDI status byte , :



.
, , n
(number) . , 9n, n , 9n
Note On on any MIDI channel.

6.1.12. MIDI .

MIDI ,
MIDI
, .
(
).
MIDI . status data
bytes .

6.1.12.1. Channel Voice Messages.

Channel Voice Messages MIDI ,


, ,
16 . (MIDI channel)
status byte,
. 6.5, . status data
bytes . n = channel number (1-16), k = key number (0-127), v = velocity (0-
127), p = pressure (0-127), x = controller value (0-127), y = preset number (0-127), z = coarse, f = fine.

194
Status Byte Data Byte 1 Data Byte 2
1000 nnnn 0kkkkkkk 0vvvvvvv Note Off
1001 nnnn 0kkkkkkk 0vvvvvvv Note On
1010 nnnn 0kkkkkkk 0ppppppp Polyphonic Key Pressure (Aftertouch)
1011 nnnn 0ccccccc 0xxxxxxx Control Change
1100 nnnn 0yyyyyyy - Program Change
1101 nnnn 0ppppppp - Channel Pressure (Aftertouch)
1110 nnnn 0zzzzzzz 0fffffff Pitch Bend

6.5 MIDI Channel Voice Messages.

Channel Voice :

10010000 00111100 01000001

Status byte (10010000). bit (1) status byte


(001) note on. bits
MIDI (0000 = 1).
Data byte 1 (00111100). data byte (key
number: 60 = C3).
Data byte 2 (01000001). data byte velocity ( = 65).

Channel Voice Messages .

6.1.12.1.1. Note On.

MIDI , note on.


MIDI : note on note off.
MIDI note on note off
. 16 .
, Note Messages Channel Messages.
-, . , note on
status byte data bytes. status byte bits
note on (1 001) bits .
data byte key number velocity.
0 127. status (1) data bytes (0)
.

Key Number.

MIDI () key
number. MIDI 128 ,
88 . key number
0 , ( -2).
2 (key number 24 0). key number 0,
key number 1 (#), key number 2 () .. key number 127
, ( 8).
MIDI
(), key numbers. , key number
, effect .

195
6.6 MIDI note numbers (0-127)
data byte note on. (C3)
MIDI note number 60.

MIDI Note Numbers.

MIDI Note Numbers ( )


8va C C# D D# E F F# G G# A A# B
-2 0 1 2 3 4 5 6 7 8 9 10 11
-1 12 13 14 15 16 17 18 19 20 21 22 23
0 24 25 26 27 28 29 30 31 32 33 34 35
1 36 37 38 39 40 41 42 43 44 45 46 47
2 48 49 50 51 52 53 54 55 56 57 58 59
3 60 61 62 63 64 65 66 67 68 69 70 71
4 72 73 74 75 76 77 78 79 80 81 82 83
5 84 85 86 87 88 89 90 91 92 93 94 95
6 96 97 98 99 100 101 102 103 104 105 106 107
7 108 109 110 111 112 113 114 115 116 117 118 119
8 120 121 122 123 124 125 126 127

6.6 MIDI note numbers.

MIDI Note Numbers Hertz.

6.7 MIDI note numbers (Hertz).

Note MIDI note Hertz MIDI note Hertz MIDI note Hertz
C 0 8.175 12 16.351 24 32.703
C# 1 8.661 13 17.323 25 34.647
D 2 9.177 14 18.354 26 36.708
D# 3 9.722 15 19.445 27 38.890
E 4 10.300 16 20.601 28 41.203
F 5 10.913 17 21.826 29 43.653
F# 6 11.562 18 23.124 30 46.249
G 7 12.249 19 24.499 31 48.999
G# 8 12.978 20 25.956 32 51.913
A 9 13.750 21 27.500 33 55.000
A# 10 14.567 22 29.135 34 58.270
B 11 15.433 23 30.867 35 61.735
C 36 65.406 48 130.812 60 261.625
C# 37 69.295 49 138.591 61 277.182
D 38 73.416 50 146.832 62 293.664
D# 39 77.781 51 155.563 63 311.126
E 40 82.406 52 164.813 64 329.627
F 41 87.307 53 174.614 65 349.228
F# 42 92.498 54 184.997 66 369.994
G 43 97.998 55 195.997 67 391.995

196
G# 44 103.826 56 207.652 68 415.304
A 45 110.000 57 220.000 69 440.000
A# 46 116.540 58 233.081 70 466.163
B 47 123.470 59 246.941 71 493.883
C 72 523.251 84 1046.502 96 2093.004
C# 73 554.365 85 1108.730 97 2217.461
D 74 587.329 86 1174.659 98 2349.318
D# 75 622.253 87 1244.507 99 2489.015
E 76 659.255 88 1317.510 100 2637.020
F 77 698.456 89 1396.912 101 2793.826
F# 78 739.988 90 1479.977 102 2959.955
G 79 783.990 91 1567.981 103 3135.963
G# 80 830.609 92 1661.218 104 3322.4375
A 81 880.000 93 1760.000 105 3520.000
A# 82 932.327 94 1864.655 106 3729.310
B 83 987.766 95 1975.533 107 3951.066
C 108 4186.009 120 8372.018
C# 109 4434.922 121 8869.844
D 110 4698.636 122 9397.272
D# 111 4978.031 123 9956.063
E 112 5274.041 124 10548.082
F 113 5587.651 125 11175.303
F# 114 5919.910 126 11839.821
G 115 6271.926 127 12543.853
G# 116 6644.875
A 117 7040.000
A# 118 7458.620
B 119 7902.132

6.7 MIDI note numbers Hertz.

6.1.12.1.2. Note Off.

MIDI , note off


. note off status byte data bytes.
status byte bits note on (1 001)
(nnnn). data byte key
number velocity. 0 127.
MIDI note off, .
, , note
on key number ( ) velocity 0 ( ). note off
release velocity,
, (release
envelope).

Velocity.

note on key number data byte, data byte


(velocity) . velocity
. velocity 1
( pppp) 127 (ffff). 0 velocity
.

197
vel. 1 vel. 127
pppp ppp pp p mp mf f ff fff ffff

, velocity
, ,
.. velocity
(volume).
To velocity MIDI. note
on note off.

6.1.12.1.3. Polyphonic Key Pressure (Aftertouch).


.
polyphonic key pressure keys aftertouch. To keys aftertouch
vibrato
. keys aftertouch status byte data bytes :

1010nnnn 0kkkkkkk 0ppppppp

status byte keys aftertouch (1 010) nnnn. data byte


(kkkkkkk = 0-127) key number () (ppppppp = 0-127)
(pressure) .

6.1.12.1.4. Control Change.

(
) . control change
, sustain pedal
modulation. status byte data bytes :

1011nnnn 0ccccccc 0xxxxxxx

status byte control change (1 011) nnnn. data


byte (ccccccc = 0-119) (controller number cc#) (xxxxxxx
= 0-127) (controller value). cc# 120-127
Channel Mode
Channel Voice.

Control Change (cc#).

MIDI CC
number
0 bank select
1 modulation wheel
2 breath controller
3
4 foot controller
5 portamento time
6 data entry MSB (Most Significant Bit)
7 main volume
8 balance

198
9
10 pan
11 expression
12 effect control 1
13 effect control 2
14
15
16-19 1-4
20-31
32-63 Least Significant Beat (LSB) cc# 0-31
64 damper/sustain pedal
65 portamento
66 sostenuto
67 soft pedal
68 legato footswitch
69 hold 2
70 sound variation/exciter
71 harmonic content/compressor
72 release time/distortion
73 attack time/equalizer
74 brightness VCFs cutoff frequency/expander-gate
75 /reverb
76 /delay
77 /pitch transpose
78 /flange-chorus
79 /special effect
80-83 5-8
84 portamento control
85-90
91 reverb depth (effect 1)
92 tremolo depth (effect 2)
93 chorus depth (effect 3)
94 detune depth (effect 4)
95 phaser depth (effect 5)
96 data increment
97 data decrement
98 non-registered parameter number LSB
99 non-registered parameter number MSB
100 registered parameter number LSB
101 registered parameter number MSB
102-119
120 all sound off
121 reset all controllers
122 local on/off control
123 all notes off
124 omni mode off
125 omni mode on
126 mono mode on
127 poly mode on

6.8 MIDI cc#.

199
6.1.12.1.5. Program Program Change.

MIDI (patch memories)


, , ..
programs. ,
program. programs electric
piano, celesta, Hammond, strings, synth pad1 .. program change
. program
1 127.
patch : )
, ) MIDI
patch , .
patch
.
programs, ,
effect (filter, delay, reverb ..)
program change status byte data byte :

1100nnnn 0yyyyyyy

status byte program change (1 100) nnnn data


byte (yyyyyyy = 0-127) program .

6.1.12.1.6. Channel Pressure (Aftertouch).

,
.
channel pressure,
.
aftertouch Polyphonic Key Pressure. Channel
Key Pressure Overall Key Pressure. To aftertouch vibrato
, . channel aftertouch
status byte data byte :

1101nnnn 0ppppppp

status byte channel aftertouch (1 101) nnnn data byte


(ppppppp = 0-127) (pressure value) .

6.1.12.1.7. Pitch Bend.

pitch bend ( 6.2),


.
pitch bend (bend range) MIDI .
pitch bend .

200
6.2 pitch bend modulation MIDI .

pitch bend status byte data bytes :

1110nnnn 0zzzzzzz 0fffffff

status byte pitch bend (1 110) nnnn. data bytes


128 pitch bend. , 14
data bytes 16.384
.

MSB (Most Significant Byte)-LSB (Least Significant Byte).

128 byte
, pitch bend.

. bytes (14 bits) 16.384 (214)
. , data byte Most Significant Byte-MSB (cc#0-31)
Least Significant Byte-LSB (cc#32-63).

6.1.12.2. Channel Mode Messages.

cc#120 cc#127
Channel Voice. ,
Channel Mode
(mode). Control Change status byte (1 011). data byte
. Channel Mode: all sound off,
reset all controllers, local control, all notes off, omni off, omni on, mono on poly on (cc#120-cc#127).

6.1.12.2.1. All Sound Off (cc# 120).

,
MIDI status byte . ,
data byte 0.

201
6.1.12.2.2. Reset All Controllers (cc# 121).

, .
, data byte 0.

6.1.12.2.3. Local Control (cc# 122).


. local control (cc# 122: on = 127 / off = 0)

. , ,
,
.
. local control on local
control off, MIDI MIDI Out
.

6.1.12.2.4. All Notes Off (cc# 123).

, note on, note off


,
. all notes off
data byte 0.

6.1.12.2.5. Omni Off (cc# 124).

,
(send channel) (receive channel). ,
Omni Off ( data byte 0) All Notes Off.

6.1.12.2.6. Omni On (cc# 125).

Omni On (cc#125) Channel Voice


.

6.1.12.2.7. Mono On (cc# 126).

Mono On (cc#126) .
, (
note on ), .
:

First Note Priority: (),


.
Last Note Priority: ,
.
Hi Priority: ,
(high note number).
Low Priority: ,
(low note number).

202
6.1.12.2.8. Poly On (cc# 127).

Poly On (cc#127) ,
.
. , 128
128 128 (oscillators).
,
Mono On.
(modes) Omni Mono/Poly,
6.9:

mode 1 omni on poly on MIDI


.
mode 2 omni on mono on MIDI
.
mode 3 omni off poly on MIDI
.
mode 4 omni off mono on MIDI
,
.

6.9 Omni-Mono/Poly.

Channel Mode :

1011nnnn 0ccccccc 0fffffff

n = MIDI, c = controller number (cc#120-127) f = (modes function).

6.10 Channel Mode.

Status Byte Data Byte 1 Data Byte 2 Data Byte 3


1011nnnn 01111010 (cc#122) 00000000 [0 = off] 01111111 [127 = on] Local Control
1011nnnn 01111011 (cc#123) 00000000 [0] All Notes Off
1011nnnn 01111100 (cc#124) 00000000 [0] Omni Off
1011nnnn 01111101 (cc#125) 00000000 [0] Omni On
1011nnnn 01111110 (cc#126) 0mmmmmmm (m = Mono On
)
1011nnnn 01111111 (cc#127) 00000000 [0] Poly Off

6.10 Channel Mode.

6.1.12.3. System Messages.

System MIDI status byte


MIDI. To status byte System
1111xxxx, (1) status byte,
(111) System Message (xxxx)
.

203
6.1.12.4. System Real Time Messages.

MIDI (MIDI clocks)


tempo sequencer,
.. MIDI
.
. ,
, master mode internal sync.
slave mode external sync.
MIDI clock tempo.
System Real Time Messages status bytes,
MIDI .
,
System Real Time. Real Time

(start) (stop) , , tempo,
LFO (Low Frequency Oscillator) .. , MIDI
24
(24 PPQN-Pulses Per Quartet Note).

6.1.12.5. System Common Messages.

System Common System Real Time System Messages.


System Common MIDI .
(common) . System Common Messages
status byte 1111xxxx data bytes. 6.11
System Common.

MIDI Time Code.

, MIDI clock ,
tempo . MIDI (video, ,
) . MIDI Time Code
(MTC). MIDI MIDI
. MIDI
video, .
(SMPTE-Society of Motion Picture and Television
Engineers), MTC MIDI SMPTE.
, MTC
SMPTE. , DAW video
. DAW
, , frames ( 6.3).
System Common MIDI Time Code Quarter Frame
(11110001).

6.3 MIDI Time Code DAW.

204
frames .
(Frames Per Second-FPS) frame rate frame frequency
, video,
.. 24 FPR
24, 25 30 FPS.
Super 8 18 FPS.
6.11 System Real Time System Common.
status bytes .

Status Byte
11110000 System Exclusive
11110001 MIDI Time Code Quarter Frame
11110010 Song Position Pointer
11110011 Song Select
11110110 Tune Request
11110111 End of System Exclusive
11111000 Timing Clock
11111010 Start (song)
11111011 Continue
11111100 Stop
11111110 Active Sensing
11111111 System Reset

6.11 System Real Time System Common.

6.1.12.6. System Exclusive Messages (SysEx).


. , programs
. System Exclusive
.

. dump.
(exclusive number SysEx ID)

programs .
System Exclusive status byte 11110000 ( 1
status byte, 111 system
System Exclusive). status byte data
bytes
(manufacturer ID#, instrument model ID#, device ID#). , data
bytes programs .
status byte 11110111 System Exclusive (End of SysEx).

6.1.13. General MIDI (GM).

MIDI

(Standard MIDI files).
.
, . 1991, MIDI Manufacturers
Association Japan MIDI Standards Committee .

205
General MIDI System Level 1,
General MIDI GM. 1999 MIDI Manufacturers Association
General MIDI Level 2 GM2 , programs ..
General MIDI
MIDI ( , , plugins ..).

16 .
10 (drum set).
GM MIDI multitimbral,
.
24 .
128 programs ( 6.12).
cc# 1, 7, 10, 64, 121 123.
velocity, pitch bend channel pressure (aftertouch).

(percussion mapping) ( 6.13).

General MIDI 16 (banks) 8


(programs) . 6.12 (programs)
GM MIDI .

PIANO CHROMATIC ORGAN GUITAR


PERCUSSION
1. Acoustic grand 9. Celesta 17. Hammond organ 25. Guitar (nylon
(Drawbar) strings)
2. Bright acoustic 10. Glockenspiel 18. Percussive organ 26. Guitar (steel strings)
3. Electric grand 11. Music box 19. Rock organ 27. Electric jazz guitar
4. Honky-tonk 12. Vibraphone 20. Church organ 28. Electric clean guitar
5. Electric piano 1 13. Marimba 21. Reed organ 29. Electric muted
guitar
6. Electric piano 2 14. Xylophone 22. Accordion 30. Overdriven guitar
7. Harpsichord 15. Tubular bell 23. Harmonica 31. Distortion guitar
8. Clavinet 16. Dulcimer 24. Tango accordion 32. Guitar harmonics
BASS SOLO STRINGS ENSEMBLE BRASS
33. Acoustic bass 41. Violin 49. String ensemble 1 57. Trumpet
34. Electric bass (finger) 42. Viola 50. String ensemble 2 58. Trombone
35. Electric bass (pick) 43. Cello 51. Synthstrings 1 59. Tuba
36. Fretless bass 44. Contrabass 52. Synthstrings 2 60. Muted trumpet
37. Slap bass 1 45. Tremolo strings 53. Choir Aahs 61. French Horn
38. Slap bass 2 46. Pizzicato strings 54. Voice Oohs 62. Brass section
39. Synth bass 1 47. Orchestral strings 55. Synth voice 63. Synthbrass 1
40. Synth bass 2 48. Timpani 56. Orchestra hit 64. Synthbrass 2
REED PIPE SYNTH LEAD SYNTH PAD
65. Soprano sax 73. Piccolo 81. Lead 1 (square) 89. Pad 1 (new age)
66. Alto sax 74. Flute 82. Lead 2 (sawtooth) 90. Pad 2 (warm)
67. Tenor sax 75. Recorder 83. Lead 3 (calliope) 91. Pad 3 (polysynth)
68. Baritone sax 76. Pan flute 84. Lead 4 (chiff) 92. Pad 4 (choir)
69. Oboe 77. Blown bottle 85. Lead 5 (charang) 93. Pad 5 (bowed)
70. English horn 78. Shakuhachi 86. Lead 6 (voice) 94. Pad 6 (metallic)
71. Bassoon 79. Whistle 87. Lead 7 (fifths) 95. Pad 7 (halo)
72. Clarinet 80. Ocarina 88. Lead 8 (bass+lead) 96. Pad 8 (sweep)
SYNTH EFFECTS ETHNIC PERCUSSIVE SOUND EFFECTS
97. FX 1 (rain) 105. Sitar 113. Tinkle bell 121. Guitar fret noise

206
98. FX 2 (soundtrack) 106. Banjo 114. Agogo 122. Breath noise
99. FX 3 (crystal) 107. Shamisen 115. Steel drum 123. Seashore
100. FX 4 (atmosphere) 108. Koto 116. Woodblock 124. Bird tweet
101. FX 5 (brightness) 109. Kalimba 117. Taiko drum 125. Telephone ring
102. FX 6 (goblins) 110. Bagpipe 118. Melodic tom 126. Helicopter
103. FX 7 (echoes) 111. Fiddle 119. Synth drums 127. Applause
104. FX 8 (sci-fi) 112. Shanai 120. Reverse cymbal 128. Gunshot

6.12 General MIDI.

6.13 10
General MIDI Level 1 .


35 B0 Acoustic Bass Drum 59 B2 Ride Cymbal 2
36 C1 Bass Drum 1 60 C3 Hi Bongo
37 C#1 Side Stick 61 C#3 Low Bongo
38 D1 Acoustic Snare 62 D3 Mute Hi Conga
39 D#1 Hand Clap 63 D#3 Open Hi Conga
40 E1 Electric Snare 64 E3 Low Conga
41 F1 Low Floor Tom 65 F3 High Timbale
42 F#1 Closed Hi Hat 66 F#3 Low Timbale
43 G1 High Floor Tom 67 G3 High Agogo
44 G#1 Pedal Hi Hat 68 G#3 Low Agogo
45 A1 Low Tom 69 A3 Cabasa
46 A#1 Open Hi Hat 70 A#3 Maracas
47 B1 Low-Mid Tom 71 B3 Short Whistle
48 C2 Hi Mid Tom 72 C4 Long Whistle
49 C#2 Crash Cymbal 1 73 C#4 Short Guiro
50 D2 High Tom 74 D4 Long Guiro
51 D#2 Ride Cymbal 1 75 D#4 Claves
52 E2 Chinese Cymbal 76 E4 Hi Wood Block
53 F2 Ride Bell 77 F4 Low Wood Block
54 F#2 Tambourine 78 F#4 Mute Cuica
55 G2 Splash Cymbal 79 G4 Open Cuica
56 G#2 Cowbell 80 G#4 Mute Triangle
57 A2 Crash Cymbal 2 81 A4 Open Triangle
58 A#2 Vibraslap

6.13 General MIDI.

MIDI
http://www.midi.org/ .

6.1.14. .

(software synthesizers, digital instruments) MIDI


. (stand-alone applications)
(plugins, inserts) tracks DAW,
(host application).
plugin . VST

207
(Virtual Studio Technology Steinberg), RTAS (Real Time Audio Suite Avid Technology), DirectX
plugin AU (Audio Units Apple). ( ,
, ..)
.
, , .

6.1.15. MIDI (Quantization).


DAW. MIDI
. MIDI (grid)
(2/4, 4/4, 6/8 ..) .
tempo , MIDI MIDI track
. , MIDI
.
,
. , ,
1/16,
. (quantization strength).
100%,
,
. ,
.
swing groove,
. 6.4 MIDI
track MIDI Logic Pro.
1/16 MIDI
. velocity.
MIDI events.

6.4 MIDI Logic Pro.

208
6.1.16. Sequencers.

Sequencer .
(sequences) (performance
control data). ,
modulation,
Sequencer (performance data) (control data). ,

.

6.1.16.1. Step Sequencing.


, step sequencing.
,
. .
, ( 6.5).
.
.

6.5 O Ghent (:
https://commons.wikimedia.org/wiki/File:The_Belfry_Ghent.jpg#/media/File:The_Belfry_Ghent.jpg).

sequencer . Moog 960 6.6


24 steps .
steps , .
Moog , ,
.

6.6 sequencer Moog 960 (:


https://commons.wikimedia.org/wiki/File:Synthesizers.com_Q960_Sequential_Controller_module.jpg).

209
step sequencing patches Max.
patches Peter Batchelor. To step sequencer patch 6.7 16 .
counter 16
metro ( Moog 960). makenote velocity
(127) (1000 ms). pgmout 1
Acoustic Grand Piano General MIDI ( 6.12).

6.7 Step sequencing Max (Peter Batchelor).

To patch 6.8 step sequencers,


16 , tune1. patch 12
. patch,
MIDI . pgmout
.

210
6.8 Poly tune sequencing Max (Peter Batchelor).

6.2. Open Sound Control.


Open Sound Control ,

, , , ..
Adrian Freed Matt Wright 1990,
CNMAT (The Center for New Music and Audio Technologies),
University of California, Berkeley.
,
MIDI,
, OSC
.
(format content). , OSC
(transport independent), hardware .

6.2.1 Client-Server.

;
. ,
client. , server. client server
. ,
, client
server. (actuator),
client server.
, ,
server client .
client server;
,
(.. ). ,

211
,

server. .

6.2.2. OSC.

OSC OSC (OSC


package). OSC OSC client,
OSC OSC server:

6.9 O client server OSC .

, OSC :

, block .
, bytes
.

client server,
, , , ,
server. OSC
o .
. OSC
4 bytes. , OSC
0 3 bytes .
OSC client OSC server,
:

OSC (OSC Message).


OSC (OSC Bundle).

6.2.3. OSC (OSC Message).

OSC , , :

OSC address pattern, OSC .


OSC type tag string, .

212
() OSC arguments,
.

6.10 OSC.

, OSC server OSC


, OSC Address Pattern
(arguments)
OSC type tag string 32-bit
.

6.2.3.1. OSC -OSC Address Pattern.

OSC address pattern


/ (forward slash) OSC.
; OSC server OSC.
, OSC server
OSC server .
OSC server OSC.
,
(procedure calling). OSC
server, .
OSC OSC server .
OSC container, OSC .
OSC container OSC / container.
OSC Address Space.

213
6.11 OSC Address Space.

OSC .
.
OSC (OSC address)
/ (forward slash), container
/ (forward slash), .
URL .
, container OSC
ASCII .
:

ASCII Code (decimal)


32
# number sign 35
* 42
, 44
/ forward slash 47
? 63
[ 91
] 93
{ 123
} 125

6.14 OSC .


(wild cards).
:

214


? .
* .
[ ] . ,
, [string] : s, t, r, i, n, g.
(-)
ASCII (.. [a-z]), (!)
(
).
{ , } string , .. {foo, bar}.

6.15 .


address pattern.
, server
, OSC type tag arguments, message
dispatching/pattern matching.

6.2.3.2. -OSC Type Tag String.

OSC type tag string OSC


. , (comma),
(type tags)
. type tags,
:

OSC Type Tag


i int32
f float32
s OSC-string
b OSC-blob

6.16 .

int32
32-bit (32-bit big-endian two's complement integer).

float32
32-bit (32-bit big-endian IEEE 754 floating
point number).

OSC-string
- ASCII , (\0).
0 3
bit OSC-string 32.

OSC-blob
OSC-blob (binary large object) : int32,
OSC-blob, byte

215
OSC-blob. OSC-blob 0 3
byte byte blob
4.

OSC-timetag
64-bit (64-bit big-endian fixed-point),
:

6.12 OSC.

32-bit 00:00 1
1900, 32-bit
, 200 picoseconds.
time-stamps NTP (Network Time Protocol, http://www.ntp.org/).
, time tag 63 bit ,
.

. ,
type tag string <,f>,
float, type tag string <,iibsf>, :
int32 int32, OSC-blob,
OSC-string, float-32. , type tag string ,
.
OSC . OSC
, OSC
OSC (non-standard OSC types).
6.17:

OSC Type Tag


h 64 bit big-endian two's complement integer
t OSC-timetag
d 64 bit ("double") IEEE 754 floating point number
S OSC-string
c 32 bit ASCII
r 32 bit RGBA color
m 4 byte MIDI message. MSB LSB bytes
: port id, status byte, data1, data2
T True. bytes .
F False. bytes .
N Nil. bytes .
I Infinitum. bytes .

216
[ . tags
, tag
<]>.
] .

6.17 OSC .

6.2.4. OSC (OSC Bundle).

OSC OSC
, OSC Bundle OSC . OSC OSC-string
#bundle, OSC Time Tag OSC Bundle
Elements:

6.13 OSC.

OSC Bundle Element : . 4


byte int32 Bundle Element,
bytes ,
4. OSC Bundle Element; OSC Message,
OSC Bundle. , Bundle Bundles.
(OSC time tag),

.

6.2.5. OSC .

OSC OSC server


. OSC .
, (OSC bundles)
(time-tag). bundle
server, server
, server
time tags. time tag server bundle
.
OSC bundle ,
, , .

217
, OSC address pattern OSC ,
,
.
, , OSC bundle OSC bundles, time tag
bundle .

6.2.6. OSC : SuperCollider.

6.2.6.1 SC: Client-Server.

SuperCollider OSC
OSC.
:

sclang.
server scsynth.

Server OSC.
sclang scsynth. sclang
client scsynth server.:

6.14 SuperCollider.

sendMsg Server,
.
:

s.sendMsg (/ , , )

s Server . :

s = Server.local;
s.boot;

s.sendMsg("/s_new", "aSynthDef", 1001, 1, 0, 0);


s.sendMsg("/n_set", 1001, "param1", 440);
s.sendMsg("/n_free", 1001, "param1", 440);

(OSC bundles) sendBundle Server:

218
s.sendBundle (time ... msgs)

s Server . :

s.sendBundle(0.2, ["/s_new", "default", x = s.nextNodeID, 0, 1], ["/n_set", x,


"freq", 500]);

6.2.6.2. SC Client.

sclang OSC scsynth


server, OSC SC
OSC. ,
sclang .
server.

. ip-
address . ,
server.

OSC. port number OSC

.

6.15 OSC SClang


port number.

port number
OSC , port number.
port number.
Pd.

Port Number
SuperCollider 57110
Pure Data 9001
Max 7400

6.18 port number SC, Pd Max.

, Sclang
, :

ip-address server.
port number .

219
, NetAddr.
:

a = NetAddr(IP-address, port);

IP-address IP-address
sever
port port number server

, server
. new Server:

n = Server.new(name, address)

name
server
address NetAddr

, sclang patch Max,


, :

a = NetAddr("127.0.0.1", 7400);
n = Server.new('a MaxMSP Server', a);

server n Max
sclang OSC .
(OSC-tag).
:

n.sendMsg("/amp", 0.8);

0.2
OSC OSC-tag amp pitch:

(
var dur;
dur = 0.2;
~sendOSCvalues = Routine.new({
loop({
n.sendMsg("/amp", rrand(0.08,0.2));
n.sendMsg("/pitch", #[48,52,55,57].choose);
dur.wait;
})
});

~sendOSCvalues.play;
~sendOSCvalues.stop;
)

220
OSC Max OSC-route.
, OSC-route OSC-tag
:

[OSC-route /amp /pitch]

OSC-tag Max outlet


patch chords.

6.2.6.3. SC Server.

SC server OSC
. port number client 57110.
SC :

msg[] OSC
time
replyAddr ip-address
recvPort port number

, ,
msg[0] OSC-tag , msg[1]
.

6.16 OSC SC.


OSC-tag, .. .
, port number (57110).

,
Array, msg[2], msg[3] ...

6.17 , .. Array.
OSC-tag Array.

221
SC addOSCRecvFunc() OSC
. OSC
/status.reply,
:

(
f = { |msg, time, replyAddr, recvPort|
if(msg[0] != '/status.reply') {
"At time %s received message % from % on port%\n".postf(time, msg, replyAddr,
recvPort)
}
};

thisProcess.addOSCRecvFunc(f);
);

// stop posting.
thisProcess.removeOSCRecvFunc(f);

, OSC-tag
. tag switch:

//OSC-listener
(
z = { |msg|
switch(msg[0])
{'/pitch'}{~pitch = msg[1]}
{'/co-ordinates'}{~pos_x = msg[1]; ~pos_y = msg[2]};
};
thisProcess.addOSCRecvFunc(z);
);

, . MIDI. : , 2002.

Freed, A. A. Schmeder, Features and Future of Open Sound Control version 1.1 for NIME,
2009 NIME Conference, 2009,
http://archive.notam02.no/arkiv/proceedings/NIME2009/nime2009/pdf/author/nm090097.pdf
(: 20/11/2015).
Gibson, B. Compressors, Limiters, Expanders and Gates. Vallejo CA.: ProAudio Press, 2002.
Guerin, R. MIDI Power!. The Comprehensive Guide. Cengage Learning PTR, 2005.

222
Huber, D. M. The MIDI Manual: A Practical Guide to MIDI in the Project Studio. Waltham: Focal Press,
2007.
Wright, M. OpenSound Control Home Page. Berkeley CNMAT, (: 21/11/2015).
Wright, M., A. Freed, Open Sound Control: A New Protocol for Communicating with Sound
Synthesizers, International Computer Music Conference 1997, Thessaloniki, Greece,
1997, . 101-4.

On Line

OSC. Berkeley CNMAT, http://opensoundcontrol.org/book/export/html/1 (: 21/11/2015).

223
7
.

, .
(input devices)
. , ,
, (tape)
.


SuperCollider
.

7.1. .
, 1627, Francis Bacon
.
Bensalem ( ), ,
.
Bacon
. ,
(Bacon, 1990):


.
.
, , ,
.
.

. ,
.
.
.

.

.
( ). ,
, .

. ,

.


. Bacon
, .
.
,
.
,

224
.
;
;
;
, ,
. ,
. Jiahu
Henan , 9000
. , .
. Theobald Boehm
1847,
Jiahu.
.
, ,
,
. -
,
.
(, ,
..), .
,
.
; .

. .
.
( ),

.
. ,
. ,
. ,
:
, ,
.
.
20
70. Theremin Lev Sergeyevich
Termen ( 7.1).

225
7.1 Lev Termen Theremin (:
https://commons.wikimedia.org/wiki/File:Termen_demonstrating_Termenvox.jpg#/media/File:Termen_demonstrating_T
ermenvox.jpg).

1920
(proximity sensors).
.
Theremin.
. ,
, .
,
.
Theremin ( 7.2)
(, , , ) . Theremin

. The Day the Earth Stood Still
Robert Wise 1951 Bernard Herrmann Spellbound Alfred
Hitchcock 1945 Miklos Rozsa. ,
Radiohead, Theremin ,
.

7.2 Theremin Moog. (:


https://commons.wikimedia.org/wiki/File:Etherwave_Theremin_Kit.jpg#/media/File:Etherwave_Theremin_Kit.jpg).

226
, Theremin,
.
Theremin ,
.
, . Theremin
, .

. ,
,

71.
.
, Jord (2007) 72:



.
--
-
,


() .
, ,
,
() () .
(...)

7.2. .

, ADC.
, ,
. ,

.
, ,
.
( 7.3).

227
7.3 Portland Oregon, .
(: https://www.flickr.com/photos/20712950@N00/9832472935).

,
, .
. - (hyperinstruments)
Tod Machover . Begin Again Again... -
(hypercello) Yo Yo Ma, ,
. ,
,

. ,
, , ,
.
,
(MIDI, OSC)
. , ,
.
. , , ,
, ,
(joystick ..)
( 7.4). , ,
, ,
, ,
.
,
.

228
7.4 Joystick video games.
.

, .
(physical modeling)
. software vs
hardware , ,

, ,
. Sound On Sound 2004, Mike Watkinson
73:


Hammond,

. Laurens Hammond
,
,

. , Hammond
, Chorus/Vibrato.
, Hammond
Leslie...
,
Hammond.
,
Hammond

. ...

.
samplers,
.
,
,
, (transients) ..
: , ,
Hammond, ,
;

229
; Michel
Houellebecq , ,
, ;
,
. ADC DAC,
,
( 7.1).

7.1 .

MIDI MIDI,
USB.

7.3. On-Off .
MIDI
: (on-off) (continuous controllers, CC) ( 7.5).
. ,
(playback)
on-off .
, , . ,
.
on-off
(1=on) (0=off) . MIDI, 127
on 0 off. on-off
note on, note off, program change ..
128 .
bitch bend, MIDI
bits 16.384 .

7.5 , Novation Remote keyboard (:


https://commons.wikimedia.org/wiki/File:Remote_25.jpg).

230

MIDI 6.

7.4. .
.
vibrato .
Hammond organ . Leslie
(treble) (bass)
vibrato.
.
,
,
. , , ,
, , tempo .
.

. , ,
,
. ,
,
, .

.
SuperCollider, .

{ SinOsc.ar(MouseX.kr(100, 1000, 'linear', 2), 0, 0.1) }.play;

{ SinOsc.ar(MouseY.kr(100, 1000, 'exponential', 2), 0, 0.1) }.play;

(UGens) MouseX MouseY


(MouseX) (MouseY) .
SinOsc.
, MouseX 100 Hz
1.000 Hz .
. , ,
MouseY 100 Hz
1.000 Hz . (mapping curve)
(linear) (exponential).

.

{ SinOsc.ar(XLine.kr(100, 1000, 10), 0, 0.1) }.play;

XLine (start value) (end


value). , 100 1.000.
SinOsc 10 (100, 1000,
10).
patch
pitchshifting. XLine
(SoundIn.ar). XLine.kr(8.0, 2.0,
60) 8 2 60
. XLine.kr(0.001, 0.01, 60) XLine.kr(0.1,
grainSize, 60) .

231
(
SynthDef(\pitchshifter,
{ | out, in = 6, gate = 1 |
var signal, env, grainSize = 0.1;

signal = PitchShift.ar(
SoundIn.ar(in),
grainSize,
XLine.kr(8.0, 2.0, 60),
XLine.kr(0.001, 0.01, 60),
XLine.kr(0.1, grainSize, 60)
)!2;
env = EnvGen.ar(
Env([ 0, 1, 0 ], [ 0.02, 6.0 ], releaseNode: 1),
gate,
doneAction: 2
);
Out.ar(out, signal * env)
}).load(s);
)
z = Synth("pitchshifter");
z.release;

7.5. DIY.

.
. , , joysticks, LED,

( 7.6).

7.6 Brain Jr. Livid (:


https://commons.wikimedia.org/wiki/File:Livid_Builder_Brain_Jr._board_(2013-02-
08_07.42.23_by_Livid_Instruments).png).

232

Arduino 2005 ( 7.7).
(open source) . ,
Arduino Processing C, C++ Java.

7.7 Arduino Uno (: https://commons.wikimedia.org/wiki/File:ArduinoUnoSMD.jpg).

.
(installations), ,

, .

.

7.6. (Gestural Controllers).


.
,
, .

,
.

Radio Baton Max Mathews ( 1.9).
.

.

7.6.1. .


, ,
.
.

.
Sound Music Movement Interaction Institut de
Recherche et Coordination Acoustique/Musique (IRCAM) ,
.
, -
, (gesture
following) .

233

Wii Wii Remote
Nintendo, Kinect Microsoft Leap Motion Leap Motion Inc.

7.7. (Tangible User Interface-TUI).



.
.
. ,
.

Reactable Universitat Pompeu Fabra ( 7.8).
/ .
(tangibles) .
(Low
Frequency Oscillator-LFO, Voltage Controlled Oscillator-VCO, Voltage Controlled Filter-VCF, Voltage
Controlled Amplifier-VCA ..). .
,
.

7.8 Reactable. (:
https://commons.wikimedia.org/wiki/File:Reactable_Multitouch.jpg#/media/File:Reactable_Multitouch.jpg).

Unit
Polyagogique Informatique du CEMAMu (UPIC). UPIC
1977 Centre dEtudes de Mathmatiques et Automatiques Musicales (CEMAMu).
Hewlett-Packard.
.
. ,
, .
UPIC La Legende dEer (1977)
Mycnes Alpha (1978).

7.8. (Pitch Tracking).



.
, ,

234
. Robert Rowe (2004) Machine Musicianship
.

. ,
pitch shifting
. , (amplitude)
(spectral content) .
, ,
.
.
Nick Collins (2010)
:


... video
.
[]
,

[]
.

... video
...74. ...


. ,
,
. ,

.

(Time Domain Fundamental Period Pitch Detection)
(Frequency Domain Pitch Detection).
,
.
. ,
(zero crossings) ( 7.2).
.
. . ,
.
(peaks) ,
. ,

, ,
. :
, .
, ,
, .

235
7.2
.


Fourier (Short Time Fourier Transform, STFT)
.
. ,
. Curtis Roads75 (1996)
: STFT
, n Hz.

, .
,
STFT. , Roads :
STFT 20 Hz , 10.000
20.000 Hz , , 261 Hz
( ).
, ,
.
Roads .
(transients) .
, .
, ,
.
. ,
. ,
3 . 55 Hz 54
. transients,
. ,
,
, (
, ..) .
Max
. fiddle~ Miller Puckette, ,
.
,
. Max, Miller Puckette,

236
Sigmund~.
.

7.9. (Amplitude
Following, Amplitude Thresholding).
, ,
(amplitude threshold).
, ,
,
.
, .
.

. , legato ,
.

. ,
.
.

.

7.10. . .

,
, (tape)
. Li Po. patch
SuperCollider76.
.
.
(bold).
,
(nesting) SuperCollider.

, .
(CC 64: soft pedal), on-off. 0-
127 MIDI, :
(0) patch.
(1-127) .

237
7.3 Li Po.

MIDI
MIDI 64 .

// MIDI
//c = CCResponder({| src, chan, cc, val |
// if ((cc == 31).and(val > 0)) { updateFunction.value };
// });

c = CCResponder({ updateFunction.value },
nil, // any source
nil, // any channel
64, //NUMBER OF BUTTON
{| val | val > 0 }
);

updateFunction = { index = (index + 1) % array.size;


array[index].value;

// index 0 in the button, corresponds to its second state


{ nextButton.value = index + 1 }.defer;
("--------------index: " ++ index).postln;
};

(Graphical User Interface-GUI)


( 7.9). GUI (0-
4) patch. 0-4 5 .
GUI Start End, .

// GUI
green = Color(0.6, 0.77, 0.38, 0.7);
window = SCWindow("Li Po Theodoros Lotis", Rect(325, 475, 330, 230));

//load button
loadButton = SCButton(window, Rect(10, 10, 100, 200));
loadButton.font = Font(\Arial, 32);
loadButton.states = [ [ "Load", Color.white, Color.gray(0.5) ]];
loadButton.action = { loadFunction.value };

// next button

238
nextButton = SCButton(window, Rect(120, 10, 200, 200));
nextButton.font = Font(\Arial, 32);
nextButton.states = [
[ "Start", Color.white, green ],
[ "0", Color.white, green ],
[ "1", Color.white, green ],
[ "2", Color.white, green ],
[ "3", Color.white, green ],
[ "4", Color.white, green ],
[ "End", Color.white, green ]
];
nextButton.action = {| button | updateFunction.value };
window.front;

array[n] 0-5
(starting) (releasing)
.

array = [
// 0
{ var freqs, durs;

freqs = [ 987.77, 1479.98, 2793.83 ]; //B5, F#6/Gb6, F7.


durs = [ 22, 14, 20 ];

r = Routine({
3.do({| index |
("the current index is: " ++ index).postln;
Synth(\reson, [ \freq, freqs[index] ]);
durs[index].wait;
});
s.sendMsg(\n_set, 1, \gate, 0);
0.wait;
"I am finished".postln;
ampTriggerSynth = Synth(\ampTrigger, [ \in, 0, \bufnum, b ])
}).play;

"array[0]: routine with ampTrigger synth".postln

},
// 1
{ pitchShifter2Synth = Synth(\pitchshifter2, [ \in, 0 ]);
"array[1]: starting pitchshifter2 synth".postln
},

// 2
{ pitchShifter2Synth.release;
"array[2]: releasing pitchshifter2 synth".postln
},

// 3
{ pitchShifterSynth = Synth(\pitchshifter, [ \in, 0 ]);
"array[3]: starting pitchshifter synth" .postln
},

// 4
{ pitchShifterSynth.release;
"array[4]: releasing pitchshifter synth".postln
},

239
// 5
{ ampTriggerSynth.release;
"array[5]: releasing ampTrigger synth".postln
}
];


Li Po.
7.10, Start
patch GUI ( 7.9).
, patch
.

7.9 GUI.

7.10 Li Po. .

240

. Reson (array[0])
PinkNoise
. , .

SynthDef(\reson,
{ | out, freq, gate = 1 |
var signal, env;
env = EnvGen.ar(Env.asr(0.5, 3, 15), gate, doneAction: 2);
signal = Resonz.ar({ PinkNoise.ar(0.9) } ! 2, freq, 0.001, SinOsc.kr(0.01, 0));
Out.ar(out, signal * env)
}).load(s);

Routine array[0] (3.do),


Reson. , ,
array . , Reson
PinkNoise 987.77 Hz, 1479.98 Hz 2793.83 Hz,
B5, F#6/Gb6 F7. 22, 14 20
. , 7.10,
PinkNoise (0:00, 0:22 0:33).
56 , 2793.83 Hz,
:

"I am finished".postln;

, Reson
PinkNoise .
7.11
amplitude thresholding.

7.11 Li Po. Amplitude thresholding.

1:10
Amplitude Following. , Amplitude
.
, . (thresh)
-18 dbamp.
(amp > thresh), Trig (trigger)
PlayBuf.

241
Amplitude.
,
.

SynthDef(\ampTrigger,
{| out = 0, in = 0, bufnum, gate = 1 |
var input, amp, trig, thresh, signal, env, env2;

input = SoundIn.ar(in);
amp = Amplitude.ar(input);
thresh= -18.dbamp; // 0.25
trig = Trig.kr(amp > thresh, BufDur.kr(bufnum));
signal= PlayBuf.ar(2, bufnum, trigger: trig);
env = EnvGen.ar(
Env(
[ 0, 1, 1, 0 ],
[ 0.01, BufDur.kr(bufnum) - 0.02, 0.01 ]),
trig);
env2 = EnvGen.ar(
Env([ 0, 1, 0 ], [ 0.02, 0.02 ], releaseNode: 1),
gate,
doneAction: 2
);

Out.ar(out, signal * env * env2)


}).load(s);

7.12
(pitchshifting).
GUI 0 array[1].

7.12 Li Po. pitchshifting.

PitchShift,
(Time Domain Granular Pitch Shifter),
, , (grainSize = 0.01),
:

SynthDef(\pitchshifter2,
{| out = 0, in = 0, gate = 1 |
var signal, env, grainSize;

242
grainSize = 0.01;
signal = PitchShift.ar(
SoundIn.ar(in),
grainSize,
2.0,
0.0001,
grainSize
)!2;
env = EnvGen.ar(
Env([ 0, 1, 0 ], [ 0.02, 4.0 ], releaseNode: 1),
gate,
doneAction: 2
);
Out.ar(out, signal * env)
}).load(s);

7.13 Li Po. pitchshifting.

, array[2]
pitchshifting ( 7.13):

{ pitchShifter2Synth.release;
"array[2]: releasing pitchshifter2 synth".postln

pitchshifting array[3] 5:35 ( 7.14)


2 GUI. PitchShift
, glissandi.

243
7.14 Li Po. pitchshifting.

(multiphonics).
, PitchShift (SoundIn).
glissandi XLine, .
XLine multiphonic
glissandi.

, 60 (XLine.kr(8.0, 0.2, 60)). XLine
XLine (0.001 0.01 60
). XLine
, .

SynthDef(\pitchshifter,
{ | out, in = 0, gate = 1 |
var signal, env, grainSize = 0.1;

signal = PitchShift.ar(
SoundIn.ar(in),
grainSize,
XLine.kr(8.0, 0.2, 60),
XLine.kr(0.001, 0.01, 60),
XLine.kr(0.1, grainSize, 60)
)!2;
env = EnvGen.ar(
Env([ 0, 1, 0 ], [ 0.02, 6.0 ], releaseNode: 1),
gate,
doneAction: 2
);
Out.ar(out, signal * env)
}).load(s);

array[4] pitchshifting 3
GUI, array[5] patch 4 GUI.

244
{ pitchShifterSynth.release;
"array[4]: releasing pitchshifter synth".postln
},

{ ampTriggerSynth.release;
"array[5]: releasing ampTrigger synth".postln
}

, MIDI:

CCResponder.removeAll;


, , . ,
Li Po
(thresh).
,
, thresh -24 dbamp -18 dbamp.
,
(triggering)
.
. , ,
. MIDI ,
, tempo
.

7.11. -.

.
(sliders) , (rotary knobs), ,

. ( 7.15).
.
,
.

E 7.15 Ladys Glove Laetitia Sonami. Sonami 1991


Ars Electronica Linz. , ,
, , LED, .. (: Peter Kirn. Controlling Music with DIY Interactive
Gloves. https://www.flickr.com/photos/caseorganic/3132193223).

245

.
, :

.
.

,
.
, .
, .


. , , 0.5-4 Hz,
, , 4-8 Hz,
, , 8-13 Hz
, 13-30 Hz
.
,
, ,
, video games, , ,
.
.
,
. ,
(EMG), (EOG) (EEG).
:
,

. ,

. ,
.
. ,
, , ,
,
(MIDI, OSC)
.
,
. ,

. ,

.

(DSP). , 1960, David
Rosenboom,
.
( 7.16). ,
. Ringing Minds
2014, o Rosenboom, Tim Mullen Alex Khalil,
hyperscanning . -
.

246
7.16 (:
https://commons.wikimedia.org/wiki/File:Biofeedback_en.svg#/media/File:Biofeedback_en.svg).

7.12. .
, , 1950
1960,
. , 1974, Francois Bayle,
Groupe de Recherches Musicales, (diffusion)
(projection),
. Acousmonium, , 80
( 7.17).
. ,
, ,
.

7.17 Pierre Schaeffer Acousmonium (:


https://commons.wikimedia.org/wiki/File:Psconcer.jpg#/media/File:Psconcer.jpg).

247
, 1960, Stan Shaff Doug McEachern
San Francisco Audium.
1970
, .
,
. , Audium 176 .
,
.
Acousmonium
. To 1982 Birmingham ElectroAcoustic
Sound Theatre (BEAST) Birmingham Jonty
Harrison. To Motus Acousmonium , Klangdom ZKM ,
Gmebaphone Institut International de Musique Electroacoustique Bourges
, Sonic Lab Queens , Casa del Suono
, Music Circus Acousmonium Musiques et Recherches
Annette Vande Gorne ( 7.18),
.

7.18 Acousmonium Musiques et Recherches 72 Espace Senghor .


. 1990,
Todor Todoroff .
,
MIDI.
MIDI, NeXTSTEP,
UNIX 1980 NeXT.

. 7.19
. ,
.

248
7.19 GUI ()
() (Todoroff, Traube 1996).


. ,
, (surround)

. ,
, ,
, effect .. , ,
.
Spatialisateur Spat IRCAM.
, Spat, ,

.
HyperSpace ( 7.20) Max
Ake Parmerud. DAW MIDI
. 48
MIDI . ,
(multitouch interface) iPad TouchOSC.

7.20 yperspace Ake Parmerud (: http://www.parmerud.com/MediaArtist/Hyperspace.html).

249
7.21
Max.
.

7.21 Max.



, .
MIDI
.

7.13. .

.
, .

. , ,
. , ,
, ,
.
,
. ,
, ,
, , ,
, , ,
, .
, ,
. ,
, , ,
.
Denis Smalley (1986 1997)
(gestural surrogacy). surrogacy
, ,

250
. Smalley 77
:

1. (first-order surrogacy).
.
, .

.
2. (second-order surrogacy).
()
. ,

() . ,
, , .
3. (third-order surrogacy). ,

. ,
. ,

.
4. (remote surrogacy). ,

. ,
.


. (, )
(Live Electronics),
. , ,

.

251

Houellebecq, M. . : , 2007.
Bacon, F. . : , 1990, . 58-59.

Cage, J. The Future of Music: Credo, John Cage, An Anthology, R. Kostelanetz (), Cambridge
M: Da Capo Press, 1991, . 151-153.
Collins, N. Introduction to Computer Music. UK: John Wiley and Sons, 2010, . 191-230.
Cope, D. New Directions in Music. Illinois: Waveland Press Inc, 2000.
Cross, I. Music as a Biocultural Phenomenon, The Neurosciences and Music, Annals of the New York
Academy of Sciences, G. Avanzini (), . 999, . : The New York Academy of
Sciences, . 106-111.
Dubost, G. A. anaka. A Wireless, Network-based Biosensor Interface for Music. , The
International Computer Music Conference-ICMC 2002, Gothenburg, 2002.
Ishii, H. B. Ullmer. Tangible Bits: Towards Seamless Interfaces Between People, Bits and Atoms,
ACM SIGCHI Conference on Human Factors in Computing Systems 1997, . 234-241.
Kim, J., S. Mastnik, E. Andr. EMG-based Hand Gesture Recognition for Realtime Biosignal
Interfacing, 13th International Conference on Intelligent User Interfaces IUI, . ,
2008, . 30-39.
Jord, S. Interactivity and Live Computer Music, The Cambridge Companion to Electronic Music, Colins
N. J. dEscrivn Julio (). Cambridge: Cambridge University Press, 2007, . 95.
Jord, S. Improvising with Computers: A Personal Survey (1889-2001), Journal of New Music Research, .
31(1). : Routledge, 2002, . 1-10.
Minciacchi, D. La Sonification Versus la Composition Biotique des Icnes du Cerveau. La musique: de la
Neuroscience la Performance, Insistance, . 6, 2011-2012, . 73-104.
Minciacchi, D. Translation from Neurological Data to Music Parameters, The Neurosciences and Music,
Annals of the New York Academy of Sciences, G. Avazini, C. Faienza, and D. Minciacchi (),
. : The New York Academy of Sciences, 2003, . 282-301.
Miranda E. R. J. Castet. Guide to Brain-Computer Music Interfacing. : Springer, 2014.
Miranda E. R. M. M. Wanderley. New Digital Musical Instruments: Control and Interaction Beyond the
Keyboard. Middleton: A-R Editions Inc., 2006.
Paradiso, J.A. Electronic Music: New Ways to Play, IEEE Spectrum, . 34(12), 1997, . 18-30.
Premaratne, P. Human Computer Interaction Using Hand Gestures. . : Springer, 2014.
Roads, C. The Computer Music Tutorial. Cambridge M: The MIT Press, 1996, . 613-658.
Rosenboom, D. Interactive Music With Intelligent Instruments - A New, Propositional Music?, New Music
Across America, E. Brooks (). Valencia, Santa Monica: California Institute of the Arts and
High Performance Books, 1992, . 66-70.

252
Rosenboom, D. Cognitive Modeling and Musical Composition in the Twentieth Century: a Prolegomenon,
Perspect. New Music, . 25, 1987, . 439-446.
Rosenboom, D. (). Biofeedback and the Arts, Results of Early Experiments. : Aesthetic
Research Centre of Canada Publications, 1976.
Rowe, R. Machine Musicianship. Cambridge M: The MIT Press, 2004.
Salah A. A. T. Gevers (). Computer Analysis of Human Behavior. . : Springer, 2011.
Smalley, D. Spectromorphology: Explaining Sound-Shapes, Organised Sound 2(2). Cambridge: Cambridge
University Press, 1997, . 107-126.
Smalley, D. Spectromorphology and Structuring Processes, The Language of Electroacoustic Music, Simon
Emmerson (). : Macmillan, 1986.
Todoroff T. C. Traube, Graphical NeXTSTEP Objects as FTS Clients to Control Instruments in the New
FTS Client/Server Architecture, International Computer Music Conference ICMC 1996,
. 28-31.

On Line

Watkinson, M. Software vs Hardware. Tonewheel Organ Implementations Compared. SounOnSound, .


2014, (: 5/12/2015).

253
8
.


,

1950. ,

.

8.1. : .



,
. .


-
.
,
, , , ..
:
, ,
, ...
:
.

(deterministic) (stochastic) .

. , , -
, .
(Aleatorism),
.

Nuper Rosarum Flores
(1436) Guillaume Dufay,

20 .
(Serialism) ,
20
.

8.2. : .


: ,

254
, ,
( - articulation), .


20 21 .

(Twelve-tone Technique Twelve-tone Serialism) -
Arnold Schoenberg 1920.
.

.
,
,
.
, 1940 ,

.
: Total Serialism, Integral Serialism, General Serialism Multiple Serialism
.

.
. , Milton Babbit [1946]

, Howard Hanson [1960] Alan Forte [1973]
(Musical Set Theory),
.
,
.

. ,
(articulation),
...


,
- Schoenberg .

8.3. - Musical Set Theory.

8.3.1. (Pitch Class Set Theory): .

(pitch
class). ,
. ,
C :

{Cn } = {... C-2, C-1, C0, C1, C2, C3 ...};

(pitch class set) , ,


... , (dyad), (triad trichord),
(tetrad tetrachord) ... (),
12 .
.

255
0 11 ,
.
:

{B, Bb, D, Eb}

{0, 11, 3, 4}


.
,
, , , .

(interval class vector).
.
,
:
. 1 11 , 2 10
, 3 9 ... , : {5, 7, 10}
(5-7), (7-10)
(5-10).
:

<0, 1, 1, 0, 1, 0>

8.3.2. .


(transposition - T) (inversion - I).
, n (T ),
n
(I)
. , {B, Bb, D, Eb}
(T1) :

{C, B, D#, E}

, {B, Bb, D, Eb} {0, 11, 4, 1}


:

{B, C, b, G}, {0, 1, 8, 11}.

,
( 8.1).

256
8.1 ( ) (translation) ()
1
(reflection) (P).

,
. ,
,
, .
.
.
(retrograde - R) -
(retrograde-inversion - RI). ,
- .
( 8.2).

257
8.2 (P), (I) (R)
- (RI), .


(multiplication)
.
11,
0-11. Pierre Boulez ,

. :

{0, 4, 7} x {0, 2} = {0, 2, 4, 6, 7, 9}

.
(cyclic permutation).

8.3.3. - (Normal - Prime Form).


(Normal Form) (Prime Form).

.

.
,
,
.
:

258
{2, 9, 10}

2-9 (7), :

{9, 10, 2}

2-9 (7) 9-10 (1)


10-2 (4) .

(I)
0,
. :

P: {7, 8, 2, 5}

P: {2, 5, 7, 8}
I P: {5, 4, 10, 7}
: {4, 5, 7, 10}

{2, 5, 7, 8} {4, 5, 7, 10} ,


, (1-2-
3 3-2-1). , {4, 5, 7, 10} 4
{7, 8, 2, 5}, :

{0, 1, 3, 6}

,
, ,
.
(Set Class).

8.3.4. : (Complementation) -
(Combinatoriality).


(Complementation) (Combinatoriality).
(Complement)
.
, .
,
.

, ,
,
(Combinatoriality).
():

{0, 1, 4, 5, 6, 7}

{0, 11, 8, 7, 6, 5}

3:

259
{3, 2, 11, 10, 9, 8}


. , Babbit,
:

(prime combinatorial),
. {0, 2, 4,
6, 8, 10}, +1 (T ): {1, 3, 5,
1
7, 9, 11}
(retrograde combinatorial),
. , ,
,
.
(inversional combinatorial)
. : {0, 1, 4, 5, 6, 7}
{0, 11, 8, 7, 6, 5} +3 (T ): {3, 2, 11, 10,
3
9, 8}
- (retrograde-inversional combinatorial)
-. , ,

.


. -
(all-combinatorial). {0, 1, 2, 3, 4, 5}:

+6 (T ): {6, 7, 8, 9, 10, 11}


6
: {0, 11, 10, 9, 8, 7}
-1 (T-1): {11, 10, 9, 8, 7, 6}

8.3.5. (Duration Series) - (Time Point


Sets).


.

Milton Babbit Olivier Messiaen.
1940
.
, ,
.
(Duration Series).
Babbit Three Compositions for
Piano (194748), {5, 1, 4, 2}
. Composition for Four Instruments (1948)
{1, 4, 3, 2} .
,
.
.

260
Messiaen,
,
, Mode de Valeurs et d'Intensits
Quatre tudes de Rythme (1949-50).
Turangalla Turangalla-Symphonie (1946-49),
Messiaen :
, .
- (pitch-duration association)
.

Variazioni Canoniche (1950) Luigi Nono,
1/16, Structures I (1952) Pierre Boulez,

, Karlheinz Stockhausen
Klavierstcke IIV (1952).

8.1 {8, 7, 6, 5, 4, 6} Variazioni Canoniche (1950) Luigi Nono.


1/16 (: Nono - Variazioni canoniche, rhythmic
values row https://en.wikipedia.org/wiki/File:Nono_-
_Variazioni_canoniche,_rhythmic_values_row.png#/media/File:Nono_-
_Variazioni_canoniche,_rhythmic_values_row.png).

1962 Milton Babbit (Time Point Set)


(attack points)
. Babbit
1950 1970: Partitions (1957), All Set (1957) ..

8.2 . 0-11,

.
(: https://commons.wikimedia.org/wiki/File:Time-point_series.png#/media/File:Time-point_series.png).

,
MUSIC-N ,

261
.
(release time),
,
.

8.3.6. .


, .
,

,
Arnold Schoenberg.

8.4. .

8.4.1. .


,

.
(prime series - P),
:

1. P
, .

2. P.

3. P :

(Retrograde - R),
P :

P:
B, Bb, G, C#, Eb, C, D, A, F#, E, Ab, F

R P:
F, Ab, E, F#, A, D, C, Eb, C#, G, Bb, B

(Inversion - I),
:

P :
B, Bb, G, C#, Eb, C, D, A, F#, E, Ab, F
(11, 9, 6, 2, 9, 2, 7, 9, 10, 4, 9)

:
B, C, Eb, A, G, Bb, Ab, C#, E, F#, D, F
(1, 3, 6, 10, 3, 10, 5, 3, 2, 8, 3)

262
- (Retrograde-Inversion - RI),
:

F, D, F#, E, C#, Ab, Bb, G, A, Eb, C, B

4. [P, R, I, RI],
0 11 , [P , R , I , RI ] n .
n n n n
P 48 . P , R , I ,
0 n n n
RI set form raw form.
n

;
; 12!
(12x11x10x9xx1), 479,001,600
. 9,979,200
, .

.
.
.
,
.
,
1920 1940,
- , , ..,
.

, Schoenberg
, ,
, , .

8.4.2. .

(derivation) P
- 12 (3, 4 6), .
R, I, RI ,
. Anton Webern, Milton
Babbitt ()
. B, Bb, D (), B
= 0, : 0, 11, 3.
:

263
8.3-8.5 0-11-3
[0-11-3-4-8-7-9-5-6-1-2-10] Fnf Lieder for Voice and Piano, op. 4 Anton Webern (1908-
09). (: Wikimedia Commons Hyacinth).

- ,
( 8.6).

8.6 0-11-3-4-8-7-9-5-6-1-2-10,
0-11-3. (: Wikimedia Commons- Hyacinth).

264
(partitioning) , ,

.
.
(cross partition)
6 x 2, 4 x 3, 3 x 4 2 x 6:

0 11 7 4 2 9 3 8 10 1 5 6

3 x 4:

0 4 3 1
11 2 8 5
7 9 10 6

, :

0 9 3 6
7 4 8 5
11 2 10 1

0 7 11 9 4 2 3 8 10 6 5 1

Schoenberg ,
, ..
.
.
(, ..),
.
.

8.5. (Punctualism).

8.5.1. .

(Punctualism Point Music)



:

,
. ,
(crescendo-decrescendo), (glissandi) (accelerando-ritardando)
: .

265
8.7 ( Mode de Valeurs et d'Intensits
Messiaen) (: Hyacinth-Wikipedia).



. 1949 1955
Olivier Messiaen.
(Quatre tudes de Rythme), 1949-50.

8.5.2. Olivier Messiaen: (Quatre tudes de Rythme), 1949-50.

Messiaen -
, , (attack mode)
. :

I.Ile de Feu I (Fire Island I)


II.Mode de Valeurs et d'Intensits (Mode of Durations and Intensities)
III.Neumes Rythmiques (Rhythmic Neumes)
IV.Ile de Feu II (Fire Island II)

. Ile de Feu I (Fire Island I)


(
), .

. Mode de Valeurs et d'Intensits



36 , 24 , 12 (11 attacks + 1 )
7 , ( 8.8).

8.8 ( )
Mode de Valeurs et d'Intensits ( ).

-
(, , ). -

, - -

266
, (
8.9).

8.9 - Messiaen Mode de


Valeurs et d'Intensits ( ).

III.Neumes Rythmiques (Rhythmic Neumes)


refrain
. rythme en ligne triple: 1 5, 6 10, 11 15
, ,
1/16.
refrain nombre premier en rythme non rtrogradable,
- ,
refrain , 1/16
: 41, 43, 47 57.
refrain
neumes rythmiques, avec rsonances et intensits fixes,
. Messiaen
, ,
.

.

IV. Ile de Feu II (Fire Island II)



, ,
(attack) .

12 1 ( ).

, 10 ,
Intervension I, Intervension II ...
.
, ( 8.3-8.7).

267
8.3-8.7 Intervension I.

Intervension I
, Intervension II ... 11
, ( 8.1).

12 11 10 9 8 7 6 5 4 3 2 1
Interversion I 6 7 5 8 4 9 3 10 2 11 1 12
Interversion II 3 9 10 4 2 8 11 5 1 7 12 6
Interversion III 11 8 5 2 1 4 7 10 12 9 6 3
Interversion IV 7 4 10 1 12 2 9 5 6 8 3 11
Interversion V 9 2 5 12 6 1 8 10 3 4 11 7
Interversion VI 8 1 10 6 3 12 4 5 11 2 7 9
Interversion VII 4 12 5 3 11 6 2 10 7 1 9 8
Interversion VIII 2 6 10 11 7 3 1 5 9 12 8 4

268
Interversion IX 1 3 5 7 9 11 12 10 8 6 4 2
Interversion X 12 11 10 9 8 7 6 5 4 3 2 1

8.1 Ile de feu II.

Messiaen
Chronochromie (1960), .
.
Pierre Boulez, Karlheinz Stockhausen Iannis Xenakis.

8.6. (Integral/Total Serialism).

8.6.1. .

(Integral/Total Serialism)
1940
- , .
1940 Milton Babbit
Olivier Messiaen,
,
.
,
1950 ,
Pierre Boulez, Karlheinz Stockhausen Luigi Nono.

8.6.2. Pierre Boulez: Le Marteau Sans Matre (1953-54, 1957).

Pierre Boulez Structures I (1952-53)


. Le
Marteau Sans Matre (1953-54, 1957)
. ( )
, Ren
Char.
: ,
, , , , (, , ..).

8.10
, Le Marteau Sans Matre Pierre Boulez (: Wikimedia Commons, Brad Smith).

. I, III
VII, :

{3 5 2 1 10 11 9 0 8 4 7 6}

. Boulez
24213
, 8.2.

269
a b c d e
I) 35 2 1 10 11 90 8 476
II) 3521 10 11 9 084 76
III) 35 2 1 10 11 90 8476
IV) 3 521 10 11 9084 76
V) 352 1 10 11 9 0 8 47 6

8.2 {3 5 2 1 10 11 9 0 8 4 7 6}
24213 I, III VII Le Marteau Sans Matre.

- (Ia-Ie)
24213, 42132 (-
IIa-IIe), ... -
. ,
Ib Ic :

{2, 1, 10, 11} x {9, 0} = {(2+9), (1+9), (10+9), (11+9), (2+0), (1+0), (10+0), (11+0)} = {(11, 10, 19, 20, 2, 1,
10, 11)}

{11, 10, 7, 8, 2, 1}

. Boulez
I VII.
, II, IV, VI, VIII Boulez
- (pitch-duration association),
. D 1/16,
Eb 1/8, E 1/8 ..., C# 1/2.
, Boulez (
8.3).

D - Eb E-F F# - G G# - A Bb - B C - C#
pp p mp mf f ff
legato legato accent accent sforzando sforzando

8.3
Boulez IV Le Marteau Sans Matre.

, ,
, .
Boulez, Lev Koblyakov Steven Winick
80%.
V IX
.

8.6.3. Karlheinz Stockhausen: (Klavierstcke).

Karlheinz Stockhausen 1952 1961 .


,
. ,
1950. :

270
Klavierstcke I IV (1952)
Klavierstcke V X (1954-55, 1961, 1963)
Klavierstck XI (1956)

1979 2000,
(Klavierstcke XIIXIX)
Licht (1977-2003).
:

- group composition (Klavierstcke IIV).


- variable form (Klavierstcke VX).
/ - polyvalent structure open form (Klavierstck XI).
Formula composition and Licht (Klavierstcke XIIXIX).

8.6.3.1. Group Composition: .

(punctualism) Stockhausen
(group composition).
, ,
..,
.
Klavierstck I : {C, C#, D, D#, E, F}
{F#, G, G#, A, A#, B}. 1-6.

36 . ,
( 8.4).

5 2 3 1 4 6
3 4 2 5 6 1
2 6 4 3 1 5
4 1 6 2 5 3
6 5 1 4 3 2
1 3 5 6 2 4

8.4 1-6 , Klavierstck I.

153246

.
5 [4 6 1 5 3 2]
-.
,
1/4 6/4.
A, Klavierstck II
.

271
.
1/8, 1/8 5/8, : 4 1/8, 5 2/8, 6
4/8, 7 5/8 8 3/8.
(sound forms), Stockhausen
(modes) ' (neumes) Messiaen.

Klavierstck II Klavierstck IV.

8.6.3.2. Variable Form: .


(1954),
1961 1963. ,
Stockhausen

: ,
,
.. Stockhausen
(variable form).
6
( 8.5).

2 6 1 4 3 5
6 4 5 2 1 3
1 5 6 3 2 4
4 2 3 6 5 1
3 1 2 5 4 6
5 3 4 1 6 2

8.5 Klavierstcke VX.

.
( 8.8 - 8.9) ,
(retrograde) , ( 8.10).

272
8.8
.

8.9
.

273
8.10 ,
.

Stockhausen
( 8.11).

8.11 Klavierstcke VX.


.
,
(tempo).
. , Klavierstck V -
, Klavierstck VI , Klavierstck VII ...
- -,
. ,
Klavierstck V 2, 6, 1, 4, 3 5 - ,
Klavierstck VI 6, 4, 5 2 -,
Klavierstck VII 1, 5, 6, 3 2 - ...
, . ,
, Klavierstck IX Stockhausen Fibonacci
. ,

, .

. ,
Klavierstck VIII ,
- .
, -

274
, ,
, , ..

8.7. : (Stochastic Music).

Stochastic Music Iannis Xenakis ,


, ,
, ,
. ,
.

8.7.1. (Aleatorism).


,
.
dada 20 ,
Henry Cowell
1930 , 1950,
John Cage, Earle Brown, Morton Feldman Christian Wolff.
Aleatoric - alea ,
1950 Werner Meyer-Eppler,
studio WDR. ,

, .
, , 18
-
(Musikalisches Wrfelspiel). , John Cage
Indeterminacy () Indeterminate Music, ,

. Cage , , Chance Composition Chance Music.

:

(determinate fixed form).


/ (mobile form/open form).
(indeterminate notation).

8.7.1.1. .


.
John Cage Music of Changes (1951) solo . I Ching
(book of changes). 64
.
:
. ,
, , ,
. ,
, , ( 8.11).

275
8.11 () ().

o - ,
: . ,
I Ching
, ,

.
: .
Cage 64 I
Ching,
.
, .
.
32 ( ) 32
( ) .
,
. ,
:
. 29
3, 5, 6, 6, 5 3.
, , , ..
, Cage
, ,
, ,
.
,
, .
.
John Cage Imaginary Landscape No 4 (1951) 24 12
Imaginary Landscape No 5 (1952) 42 .

,
.

8.7.1.2. .


( - mobile form).
.
1953 Morton Feldman Intermission 6
15 , :
. Earle Brown
Twenty-five Pages . ,
25 ,
,
: (
) ( ). (open

276
form),
.
Twenty-five Pages , Stockhausen
Klavierstck XI (1956),
. 19 .
,
. , ..
.
Stockhausen
, .
: [1/8 + 1/4]
, [1/8 + 1/4 + 1/4] , [1/8 + 1/4 + 1/4 +
1/2] ... [1/8 + 1/4 + 1/4 + 1/2 + 1/2 + 1 + 1]
.
.
,
.
.
. , ,
. 36 , Stockhausen 19
, 19
( 8.6).

#5 #11 #17
#6 #8 #18
#1 #9 #12
#2 #13 #14
#3 #10 #15
#4 #7 #16 #19

8.6 19 Klavierstck XI .

, Stockhausen
.

.
. 1-4
3/4, 5-7 6/4, 8-10
10/4, 11-13 15/4, 14-16 21/4
17-19 28/4.
.
Klavierstck XI Stockhausen
,
.

8.7.1.3. .

(indeterminate notation).

, ,

277
.
December 1952 Earle Brown (1952).
,
, ( 8.12).

8.12 December 1952 Earle Brown (1952) (Courtesy: The Earle


Brown Music Foundation).

,
,
.
solo Intersection 2 Morton Feldman (1951).
(milimetre),
.
Variations John
Cage (Variations I, II). Variations I (1958)
. 27
5 .
,
: 27

. Variations II (1961)
,
.
( 8.13).

278
8.13 score 11 6 5 ,
Variations II John Cage (1961) (: Travis Weller, http://www.stableunstable.com/).

,
Variations (1962-63) Variations IV (1963),
(performance) .
, Variations V (1976-78)
: , .

8.7.2. .

Iannis Xenakis
1950
. ,
,
Markov.

: , , ,
...
Achorripsis (1956-57), 21 ,
.
( 8.12).

279
8.12 Xenakis Achorripsis.
.

Xenakis
:



glissando

pizzicato

arco ( )

, 28
. ,
15 (420/15). tempo = 26,
6.5 .
196 (7 x 28) . ,
:

, .
, solo.
, (.. , glissandi ..).
, (.. ..).
, (.. ..).


Xenakis Poisson:

Pk = [k / k!] e-

= 0.6

280
:

P = 0.5488
0
P = 0.3293
1
P = 0.0988
2
P = 0.0198
3
P = 0.0030
4

Xenakis
, P
i
i (, ..).
196 ,
P x 196 ( 8.7).
i

i


(Pi x 196)
0 0.5488 107
1 0.3293 65
2 0.0988 19
3 0.0198 4
4 0.0030 1

8.7 i 196 .

( 8.7) 107
- , 65 , 19
... 196 .
196 .
28
. 65
, 28 .
2.32 (= 65/28) . Xenakis
Poisson.
= 2.32,
. 8.8.

k c
cxk

0 3 0
1 6 6
2 8 16
3 5 15
4 3 12
5 2 10

281
6 1 6
7 0 0
: 28 65

8.8 ,
.

, 3
, 6 , 8
...
, , .
Poisson.
,
.

.
. glissando
: , .
Xenakis ,

.

,
. ,
..
.

, ,
.
, , Xenakis
,
, .
,
[Xenakis, 2001].

8.8. .

,
.
, ,
Conlon Nancarrow
(Studies for Player Piano). ,
1940 1990,
.
Henry Cowell,
, -
. ,
Cage,
.

- Dsordre, Gyrgy Ligeti (1985),
- Its Gonna Rain, Steve Reich (1965).

282
(Process Music).

.

- ,
.
.
(Minimalism)
. Michael Nyman :

(chance determination processes),



.
(people processes),

.
(contextual processes),

.
(repetition processes),
.
(electronic processes),
.

,
.
: Steve Reich
.
,
: . ,
Reich, .

. , Brian Eno
Cage ,
Oblique Strategies. ,

, Cage Music of
Changes.

283

Albright, D. Modernism and Music, Chicago: University of Chicago Press, 2004.


Alegant, B. Cross-Partitions as Harmony and Voice Leading in Twelve-Tone Music, Music Theory
Spectrum, 2001, . 23, . 1, . 1-40.
Babbit, M. The Function of Set Structure in the Twelve-Tone System. Princeton: Princeton University Press,
1946 (. 1992).
Babbitt, M. Twelve-Tone Rhythmic Structure and the Electronic Medium, Perspectives of New Music 1,
1962, . 1, . 49-79.
Cage, J. Silence. Lectures and Writings by John Cage, 2 ., Middletown, CT: Wesleyan University Press,
2011.
Di Scipio, A. Formalization and Intuition in Analogique A et B, International Symposium Iannis
Xenakis 2005, Makis Solomos, Anastasia Georgaki, Giorgos Zervos (.), , 2005.
Forte, A. The Structure of Atonal Music. New Haven: Yale University Press, 1973.
Grant, M. J. Serial Music, Serial Aesthetics: Compositional Theory in Post-War Europe. Cambridge:
Cambridge University Press, 2005.
Hanson, H. Harmonic Materials of Modern Music: Resources of the Tempered Scale. . : Appleton-
Century-Crofts, 1960.
Koblyakov, L. P. Boulez Le Marteau Sans Matre: Analysis of Pitch Structure, Zeitschrift fr Musiktheorie,
8, . 1, . 24-39, 1977.
Koblyakov, L. Pierre Boulez: A World of Harmony. Chur: Harwood Academic Publishers, 1990.
Nyman, M. Experimental Music. Cage and Beyond. : Studio Vista, 1974.
Reich, S. Writings About Music, 1965-2000. Oxford: Oxford University Press, 2004.
Reich, S. Music as a Gradual Process, 1968,
http://ccnmtl.columbia.edu/draft/ben/feld/mod1/readings/reich.html (: 22/11/2015).
Russo, W. Composing Music: A New Approach. Chicago: The University of Chicago Press, 1988.
Straus, J. N. Introduction to Post-Tonal Theory, (3 .). : Pearson, 2004.
Truelove, S. The Translation of Rhythm into Pitch in Stockhausen's Klavierstck XI, Perspectives of New
Music, 1998, . 36, . 1, . 189-220.
Whittall, A. The Cambridge Introduction to Serialism. Cambridge Introductions to Music. Cambridge:
Cambridge University Press, 2008.
Winick, S. D. Symmetry and Pitch-Duration Associations in Boulez' Le Marteau Sans Matre, Perspectives
of New Music, 1986, . 24, . 2, . 280-321.
Wittlich, G. Aspects of Twentieth-Century Music, Wittlich, Gary (). Englewood Cliffs, New Jersey:
Prentice-Hall, 1975.
Xenakis, I. Formalized Music. Thoughts and Mathematics in Composition. (2 ). . : Pendragon
Press, 2001.

284
9
.


, 7.

- .

9.1. .
H (Human Computer Interaction, HCI)
1980 .
,
design. , ,
, ,
, , .

78. ,
.

,
.
1960
Gordon Mumma David Berhman. , 1950,
(Live
Electronics)
. Mumma
.
Cybersonics , Medium Size
Mograph Megaton for Wm. Burroughs 1964, Hornpipe 1967, Conspiracy 8 (
Stephen Smoliar) 1970 Cybersonic Cantilevers 1973.
1970, ,

.

9.2. .
, , , ,
, ,
,
.
,
,
.
,
.

285

,
.
.

, ,
. ,
,
, ,
. 3, ,
,

.

, . 7,

. ,
,
o (> 20 ms).
(feedback)
. ,
,
.
.
.
. ,
.
,
.
, ,
. H ,
,
.
,
.
(Graphical User Interfaces-GUI Tangible User Interfaces-TUI)
. ,
Rubine McAvinney (1990)
. (,
..)
. ,
.
7,
MIDI ,
patch Li Po. amplitude thresholding, Amplitude

. patch, , ,
.
,
. ,
. ,

. video games:

. ,

286
.
,
. ,
...
. ,
.
Sergi Jord (2007):



, ,
,
, , ,
,
.
,
,
.
()

79. (...)

.
;
, .
,
.
, Johann Sebastian Bach
,
, ,

. ,

.
, ,
.
, ,
. - Deep Blue IBM,
Garry Kasparov, 1996 1997,
, . Deep Blue
,
.
Kasparov. -
.

9.3. .
,
.
,
. ,

287
. , ,
, (-),

.

:
,

.
,
. ,
. Mulder (1994)
:

1. Inside-in systems.
.
2. Inside-out systems. (
..)
.
3. Outside-in systems. ,
,
.

,
.
)
, )
, )
) , , ,
:



.
,
,
,
, -- .
.
20
, , .
inside-in inside-out,

. ,
,

.
, outside-in,

.
,
.
.

.

288
,
.

.


,
.
,
.

9.4. .
,
, .

9.4.1. 1. : .

:
( 9.1).

9.1 Zentrum fr Kunst und Medientechnologie (ZKM), .

:


: .
,
,
.

289

,
1985
.
-
,
, ,
.
, ,
,
: ,
,

,
.
,
,

.
,

.
: ) , )
,

, , )
.

Processing
csv, OpenFrameworks
Kinect
Arduino
.
PureData.
,

, o
.

()
WiFi.
:

.
(Kinect).
.

, Processing,
(, , , )
csv ( 9.2).

290
9.2 .

, OSC (Open Sound Control),


,
PureData ( 9.3).
.
. ,
, Kinect.
, .
OpenFrameworks.

9.3 patch PureData


.

, ,
Arduino.
OSC Arduino
PureData. SlipSerial.
, .

291
videos
http://www.eastn.eu/EASTNArtist/tania-tsiridou-panos-pandis.

9.4.2. 2. Tribal Cities.


-
Tribal Cities80. videos
.
() ,
.

9.4.2.1. .


- .
,
(, , , ),
,
. , ,
.
,
( ) . ,
, .
, ,
.
,
. David Rokeby
(1995) :

,
. ,
.
,
-, .
,

81. ...



. ---
- .

9.4.2.2. .

Max ( 9.4).
7 .
subpatch time ( 9.14)
.

292
9.4 patch Tribal Cities Max.

(Tribes).


, ,
.
(tribes) ( 9.5).

9.5 : .


sfplay~.

293
() .
(send) (receive)
subpatches
.
, ,
. ,
(bangs)
(glitches).

( 9.6).
: .

9.6 1 2.

, (panoramic speed)
(panoramic) ,
(metro) ( 9.7).

9.7
3 4.

294

, subpatches anarch ( 9.8). ,
(itables)
,
( 9.9). , random, 9.8, 80%
. ,
, 80% 20%
. subpatch anarch1.

9.8 subpatches anarch1 anarch2.

295
9.9 (itables) subpatches anarch.
pattr 3 4.

, pattr,
3 4 (pattr @bindto speed3 pattr @bindto speed4
9.9) , - ,

.

- . : video 1.

video 1
1. ,
,
( 9.10).

9.10 video 1: - . .

296
. : video 2.

video
( 9.11).
video 1.

9.11 video 2: . .

: 1. .


( 9.12).
.
,
patch Jitter.
, patch .

. ,
,
.

9.12 ,
.

297
: 2. .

subpatch (
9.13). , subpatch,
resonator .

9.13 subpatch .

9.4.2.3. .

subpatch ,
7 (
9.14). subpatch
( 9.15).
,
.

298
9.14 subpatch time ,
7 .

9.15 subpatch 7
.

7
.
. ,

299
,
.

http://www.lotis.gr.

Aarseth, E. We All Want to Change the World: The Ideology of Innovation in Digital Media. Cambridge MA:
The MIT Press, 2003.
Bachelard, G. La Poetique de l'Espace. : Presses Universitaires de France, 1957.
Bayle, F. Mi-Lieu, L'Espace du Son II. Ohain: Musiques et Recherches, 1991, . 131-135.
Bayle, F. Image-of-sound, or i-sound: Metaphor/Metaform, Contemporary Music Review, . 4. :
Harwood Academis Publishers, 1989, . 165-170.
Blum, F. Digital Interactive Installations. Berlin: VDM Verlag Dr. Mller.
Card, S. K., T. P. Moran . Newell. The Psychology of Human-Computer Interaction. , .
: CRC Press, 1986.
Dobrian, C. Strategies for Continuous Pitch and Amplitude Tracking in Realtime Interactive Improvisation
Software, SMC 2004 Sound and Music Computing, , 2004.
Jord S. Interactivity and Live Computer Music, The Cambridge Companion to Electronic Music. Collins,
N. J. dEscrivan (). Cambridge: Cambridge University Press, 2007, . 89-106.
Lotis, T. The Creation and Projection of Ambiophonic and Geometrical Sonic Spaces with Reference to
Denis Smalleys Base Metals, Organised Sound, . 8, . 3, Cambridge: Cambridge University
Press, 2003, . 257-267.
Mulder, A. Human Movement Tracking Technology. Technical Report 94-1 of the Hand Centered Studies
of Human Movement Project, Simon Fraser University, 1994.
Mumford, L. The Myth of the Machine. Techniques and Human Development. USA: Mariner Books, 1974.
Paradiso J. A. S. OModhrain, Current Trends in Electronic Music Interfaces, Journal of New Music
Research, . 32, . 4, 2003, . 345-349.
Rokeby, D. Transforming Mirrors: Subjectivity and Control in Interactive Media, Critical Issues in
Electronic Media, Simon Penny (). N. : SUNY Press, 1995, . 133.
Rowe, R. Interactive Music Systems. Cambridge MA: The MIT Press, 1993.
Rubine D. P. McAvinney, Programmable Finger-Tracking Instrument Controllers, Computer Music
Journal, . 14, . 1. Cambridge MA: The MIT Press, 1990, . 26-41.
Siegel W. J. Jacobsen, The Challenges of Interactive Dance: An Overview and Case Study, Computer
Music Journal, . 22, . 4, 1998, . 29-43.
D. Smalley, Spectro-morphology and Structuring Processes, The Language of Electroacoustic Music,
Simon Emmerson (), : Macmillan Press, 1986, . 61-93.
Winkler, T. Creating Interactive Dance with the Very Nervous System, 1997 The Connecticut
College Symposium on Arts and Technology, Connecticut, 1997.

300
10
Codetta. .

. ,
.
.

10.1.
. .
:

,
, . granular synthesis
,
,
.
-,
.

,
. , robots,
, ,
.
, The Listening Machine Daniel Jones Peter
Gregson Britten Sinfonia.
2012 2013, 500 Twitter
. , , emoticons
.
tweets , .
9.2
, .
,

.
. ,


. ,
. , ,
, , ,
, . Polanyi (Dreyfus, 2001, . 115) :

,
.


.

301


.


.

, ,
, ,
, .

. Dreyfus (2001, . 364) :

.
.
,


.


.

10.1.1. 82.

:
, /. ,
, , ,
, , , , . ,
.
, ,
.

.
,
.
O Nickolas Collins Trading Faures: Virtual Musicians and Machine Ethics

. , , ,
. ,
.
-.
. .
,
.
pop , ,
.
Hatsune Miku, ,
.
( , ) , 1996,
Tupac Coachella Valley 2012. , ,
, . ,

302
. Kagamine Rin Len
Migikata, ,
pixel , .
, ,
.
,
,
; ( )
, ,
.
.
, ,
.
, -
.
, ;
;

.
;
;

, ;
,
,
;
.
.
.
. ,
, -
. -,
.
,
.
, ,

. ;
;

, ,
.
,
, .

, .
, .
Hatsune Miku .
, ,
, .

303
10.1.2. .

,

.
, .
, , ,
,
. bit
,
,
-, .
, .

, .

Dreyfus, H. . . :
, 2001.

Collins, N. Trading Faures: Virtual Musicians and Machine Ethics, Leonardo Music Journal
. 21, 2011, . 35-40.
Ferrand, M., A. Smaill C. Anagnostopoulou. Music and Artificial Intelligence, Second International
Conference, ICMAI 2002, Edinburgh, Scotland, UK, 2002, Berlin: Springer, 2002.
Miranda, E. R. Readings in Music and Artificial Intelligence. : Routledge, 2000.
Polanyi, M. Personal Knowledge. Towards a Post-Critical Philosophy. : Routledge and Kegan Paul,
1962.

304

A
aftertouch ( o ,
vibrato)
alias frequencies
aliasing ,
amplitude ,
amplitude envelope ,
Analog to Digital Convertor-ADC
antialiasing filter
array ,
attack time (dynamics processing)
auxiliary output
B
band
bi-directional (figure of 8) ()
bit width bit depth
bit ,
bottom up /
buffer ,
building block ,
byte
C
cardioid ()
channel
classes
clipping
compiler
composite wave , ( )
compression
computer assisted composition
controller
convolution
crossfade
crossover
D
de-esser
decay rate
denoiser
destructive editing
Digital Signal Processing (DSP)
Digital to Analog Convertor-DAC
distortion
drone ,
dynamic range ,
dynamics processing
E
echo ,
coute rduite ,
editing
effect
Elektronische Musik ( 1950-)
encapsulation

305
equal loudness curves ,
expander
F
fade in-out -
fader
feature extraction ,
feedback
flat response ()
foldover
Fourier Transform Fourier
frequency response
frequency response curve
frequency
G
gain
H
hardware ,
harmonics
high level programming language
hiss
hold
hum ,
I
impulse response , ,
inheritance
input
insert ,
installation
intensity
Interaural Time Difference
interface
interpolation
interpreter
K
knee (compression)
L
limiter
linker
look ahead (dynamics processing)
loop ,
loudness
Low Frequency Oscillator (LFO)
M
machine musicianship
mapping ,
modular ,
morphing
multiband
Musique Concrte ( 1948-)
N
non destructive editing
O
objet sonore

306
omni-directional ()
oscillator
oscilloscope
output
overdub ,
P
panoramic , ,
partial ,
phase
physical modeling ,
plug in ,
polar diagram
polymorphisme
proximity effect
Q
quantization noise
R
real time operation
reconstruction filter
release time ,
reproducing piano
reset ,
S
sample
sampling frequency sample rate
sawtooth
sensitivity ()
sequencer
set up ,
Short Time Fourier Transform-STFT Fourier
signal to noise ratio
sinewave
slider
software
sound editor
spectral analysis
spectrogram
spectrum
spectrum analyzer
spectrum plot ,
squarewave
T
tape music
threshold
top down /
tracking ,
transfer function
transient ( )
transient response ,
transition time
triangle
trim
U

307
ultra-directional (shotgun) ()
W
waveform

.
:

, . . : . , 1994.


http://www.eleto.gr/download/Bodies/TE2-OE5_AcousticalTerms_EN_GR.pdf

:
EARS-ElectroAcoustic Resource Site
http://www.ears.dmu.ac.uk/

308

1. 1948
Pierre Schaeffer, Halim El-
Dabh
1940. 1944
The expression of Zaar.
2. 1914
.
3. coute rduite
.
4. Schaeffer (1966).
5. Schaeffer Conservatoire
National Suprieur de Musique de Paris 1980,
Schaeffer
.
6. Musique acousmatique: Francois Bayle 1970

.
, (, ..)
(acousmonium).
7. Elektronische Musik,
1950-60,

.
8. Musica su
Due Dimensioni Bruno Maderna,

Eimert (Klangstudie II 1952) Stockhausen (Studie I 1953 Studie II
1954).
9.
Harald Bode.
10. Unsentimental about old Europe, they were prepared to believe that Europes time was past
and that the evolution of important art would cycle into a more modern society like United
States. They wrote as if History herself stood at their shoulder, promising artists her highest
regard, Stevens Swan, 2013, . 220.
11. Idem, . 292.
12. Tape, then, wasnt a medium in which to compose sounds, it was a conveyor, a means to
record them and play them back one after another in chronological order. Lucier
Douglas, 1980, . 30-34. Chadabe, 1997, . 76.
13. There are no theoretical limitations to the performance of the computer as a source of
musical sounds, in contrast to the performance of ordinary instruments. Mathews, 1963, .
553-557.
14. ...the pallete of computer sound, potentially boundless, was in fact quite restricted, and one
did not know how to generate certain sounds.... Risset, 1985, . 11-18.
15. Menabrea, L. F. Lovelace Augusta Ada, 1843.
16. the Engine might compose elaborate and scientific pieces of music of any degree of
complexity or extent. Cambridge Companion to Electronic Music (: Collins,
N., dEscrivan, J.), 2007, . 12.
17. Ceruzzi, 2006, . 34.
18. Roads, 1996, . 53.
19.
https://www.youtube.com/watch?v=V-XZKS4BItI

309
20. http://news.bbc.co.uk/2/hi/technology/7458479.stm
21. http://www.cis.unimelb.edu.au/about/csirac/music/music.html
22. CSIRAC: Council for Scientific and Industrial Research Automatic Computer.
,
1955, CSIR Mk1.
23. Conference of Automatic Computing Machines. 7-9 1951.
24. http://www.cis.unimelb.edu.au/about/csirac/music/music.html
25. Computer music appears to be very promising technicallyAt present, our goal is to interest
and educate musicians in its use. Mathews, 1963, . 553-557.
26. https://www.youtube.com/watch?v=PM64-lqYyZ8
27. https://www.youtube.com/watch?v=TExxv1-j42Y
28. IBM 704 (1954)
.
IBM.
29. Illiac, 4.500 , 1951
.
Illiac .
(16)
0 9 K, S, N, J, F L.
30. Dear computer, I understand that someone has worked with you in composing music,
Chadabe, 1997, . 109.
31. https://www.youtube.com/watch?v=n0njBFLQSk8&list=PLOpv-
xCXkg1kO666mFfBcE1pFGgmlRdtW
32. The sound imagined by a composer was in fact generated first by the main computer which
by the time of Music IV was an IBM 7094 as an accumulating and inaudible table of
numbers, called samples, which were stored on magnetic computer tape. Then, in separate
step, those samples were converted to sound and stored on normal audio tape, Chadabe,
1997, . 113.
33. Ceruzzi, 2006, . 43.
34. Chadabe, 1997, . 112.
35. LISP 1950
.
36. IBM bits 1971.
37. 6.
38. MSP Miller S. Puckette Max
Signal Processing.
39. Max Java jMax. jMax Phoenix
jMax.
40. : C++. Alan R. Neibauer. : . 1995.
41. Ceruzzi, 2006, . 107.
42. Aug, 1999, . 81.
43. mastering
, , MP3 players,
.
44. Aug, 1999, . 10.
45. Idem, . 33.
46. Idem, . 170.
47.

.
48. , ,
.
-.
49. Max Miller S.
Puckette 1980 Macintosh.

310
50. : objects, Max.
51. Miller S. Puckette, 1999.
52. ,
MIDI .
53. Rechenberg, 1992, . 250.
54. , .
, 2002, . 1748.
55. ( rocaille coquille
barocco)
Wilhelm Klein Von Antiken Rokoko (1921)
150 50 ..
56. J. J. Pollitt, 2006, . 186-7.
57. Rowe, 2001, . 3.
58. Rowe, 2001.
59.

.
60.
(installations). , ,
,
, ..
7.
61. 7.
62. Braudel, 2001, . 46-7.
63. Roads, 1996, . 545 1075-6.
64. We are not yet able to make all vibrating bodies describe their vibrations directly on paper,
although much progress has recently been made in the methods required for this purpose.
Helmholtz, 1863, . 21.
65. 1887. Emile Berliner.
66. phantom power 1966
Neumann GmbH. phantom
.
67. Everest, 2003, . 144.
68. , MIDI bytes 10 bits. bit
byte start bit (bit ) , stop bit (bit ).
byte 8 bits (status data bytes).
69.
.
.
70. , ,
, (
),
.
71. .
Daily Mail Online ( 4 2014),
Ototo
Dentaku , .
72. The musician performs control strategies instead of performing data and the instrument leans
towards more intricate responses to performer stimuli. This situation tends to surpass the note-
to-note and the 'one gesture-one acoustic event' playing paradigms present in all traditional
instruments, thus allowing musicians to work at different musical levels and forcing them to
take higher-level (i.e. more compositional) decisions on-the-fly. (Jord 2007).
73. In trying to reproduce the sound of a Hammond, one of the first considerations is that the
basic electromechanical tone-generation system has a sound all of its own; The pure sound

311
that Laurens Hammond was striving for was let down by limitations of the design and
manufacturing process, and what he regarded as many imperfections crept into the sound.
Secondly, most Hammond players use a Leslie cabinet as an amp...this makes a huge
difference to the sound, and most players consider it part of the Hammond experience...In
short, the imperfections in the sound of a real Hammond are responsible for much of what
gives it its charm, and a decent software emulation has to make a good job of capturing these
quirks. (: http://www.soundonsound.com/sos/apr04/articles/hammondbakeoff.htm).
74. With microphone and digital camera now built into new laptops...audio and video are
extremely useful sources of performance data. Both types of stream are non-invasive sources
of information, in that air molecules or photons can transmit useful gestural information from
a musician or dancer without the attachment of auxiliary sensors. While there are other ways
to gather data on human action with sensors at a distance...audio and video provide two
immediate data-collection mediums... Collins 2010, . 201-202.
75. Roads, 1996, . 513-514.
76. SuperCollider Sergio
Luque.
77. Smalley, 1986, . 61-93 1997, . 107-126. 1986, Smalley
, 1997
.
78.
pervasive computing ubiquitous computing.
79. ...complex systems that sense and react to human behaviour through the detection of aspects
such as direct physical manipulation, body movement, or changes in the human physiological
or psychological states, are often called interactive, although it should be pointed out that
when cognition is left out of the equation, reaction replaces interaction. In merely reactive
systems, output messages, are only related to the immediately previous input message, which
makes these systems fully predictable. A light switch will remain a (reactive) light switch
independently of the amount of sophisticated sensors it may hide. Jord, 2007, . 90.
80. Tribal Cities
Max/MSP/Jitter 2012.

Andrew Benson Jitter.
81. The medium not only reflects back, but also refracts what it is given; what is returned is
ourselves, transformed and processed. To the degree that the technology reflects ourselves
back recognizably, it provides us with a self-image, a sense of self. To the degree that the
technology transforms our image in the act of reflection, it provides us with a sense of the
relation between this self and the experienced world. Rokeby 1995, . 133.
82. 60 , -
2013.

312
1: 7.10, . 240

2: 7.11, . 241

3: 7.12, . 242

4: 7.13, . 243

5: 7.14, . 244

Video 1: "Tribal Cities"


( 9.4.2)

,
& ,

&

313

You might also like