Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
E N G A G I N G T H E W O R L D
Automatic Tuning of The OP-1 Synthesizer
Using a Multi-objective Genetic Algorithm
Matthie...
OP-1
2
OP-1
2
Keys
OP-1
2
Type	
  parameters
OP-1
2
Knob	
  parameters
OP-1
2
OP-1 - Control
3
OP-1 - Control
3
Type Key Knob	
  parameters
4
4
4
Engine
5
Engine
5
Engine
6
Engine
6
Engine
6
Engine
FX
6
Engine
FX
6
Engine
FX
ADSR
6
Engine
FX
ADSR
Sound	
  output
6
Engine
FX
ADSR
LFO
Sound	
  output
6
Engine
FX
ADSR
LFO
Sound	
  output
OP-­‐1	
  preset
OP-1 - Complexity
Nb.	
  	
  of	
  
Engines
Nb.	
  of	
  LFOs Nb.	
  of	
  FXs Nb.	
  of	
  keys Knob	
  range
7 3 4 120 [...
OP-1 - Complexity
Nb.	
  	
  of	
  
Engines
Nb.	
  of	
  LFOs Nb.	
  of	
  FXs Nb.	
  of	
  keys Knob	
  range
7 3 4 120 [...
OP-1 - Complexity
Nb.	
  	
  of	
  
Engines
Nb.	
  of	
  LFOs Nb.	
  of	
  FXs Nb.	
  of	
  keys Knob	
  range
7 3 4 120 [...
OP-1 - Complexity
Nb.	
  	
  of	
  
Engines
Nb.	
  of	
  LFOs Nb.	
  of	
  FXs Nb.	
  of	
  keys Knob	
  range
7 3 4 120 [...
Problem
• Difficult to control for a practitioner without
expert knowledge about the synthesis
techniques used.
• Musician ...
Scope of this research
• Make the OP-1 control more accessible and
natural for the user.
• “Give me a sound, I would give ...
Research question
• Can evolutionary algorithms be created
and employed to locate multiple distinct
OP-1 presets to replic...
Problem difficulties
• Large search space
• Discontinuities
• Non-determinism
11
Methodology
12
Pb.	
  Id
EngineEngine FXFX Key LFOLFO ADSR
Pb.	
  Id
Type Knobs Type Knobs Type Knobs Knobs
1 X
2 X X
3 X ...
Project History
13
Canonical	
  GeneJc	
  Algorithm
Crowding	
  GeneJc	
  Algorithm
MulJ-­‐objecJve	
  GeneJc	
  Algorithm
Project History
13
Canonical	
  GeneJc	
  Algorithm
Crowding	
  GeneJc	
  Algorithm
MulJ-­‐objecJve	
  GeneJc	
  Algorithm
Representation
14
111000101001010101000011001010011010010011010110110110
Representation
14
111000101001010101000011001010011010010011010110110110
Gray	
  code	
  encoding/decoding
EngineEngine FX...
Evaluation
• Three objectives:
– Temporal envelope
– Fast Fourier Transform (FFT)
– Short Term Fourier Transform (STFT)
15...
Envelope
16
Envelope
16
FFT
17
STFT
18
NSGA-II
• Non-dominated Sorting Genetic Algorithm-II
• Standard approach to solve multi-objective
problems
• Embeds:
– Non...
Pareto Dominance
20
Obj.	
  1
Obj.	
  2
Obj.	
  1
Pareto Dominance
20
Obj.	
  1
Obj.	
  2
Obj.	
  1
Pareto Dominance
20
Obj.	
  1
Obj.	
  2
Obj.	
  1
Pareto Dominance
21
Obj.	
  1
Obj.	
  2
Obj.	
  1
Pareto Dominance
21
Obj.	
  1
Obj.	
  2
Obj.	
  1
Pareto Dominance
21
Obj.	
  1
Obj.	
  2
Obj.	
  1
Pareto Dominance
21
Obj.	
  1
Obj.	
  2
Obj.	
  1
Crowding distance
22
Obj.	
  1
Obj.	
  2
Obj.	
  1
Crowding distance
22
Obj.	
  1
Obj.	
  2
Obj.	
  1
Crowding distance
22
Obj.	
  1
Obj.	
  2
Obj.	
  1
Initialization
23
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Initialization
24
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
STFT...
Pareto dominance
25
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
ST...
Crowding distance
26
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
S...
Binary tournament Selection - Case 1
27
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 ...
Binary tournament Selection - Case 1
27
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 ...
Binary tournament Selection - Case 2
28
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 ...
Binary tournament Selection - Case 2
28
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 ...
Crossover + mutation
29
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
2-points Crossover - Case 1
30
1 0 0 1 0 1 0 1 1 1
0 0 1 1 1 0 0 0 0 0
1 0 1 1 1 1 0 1 1 1
0 0 0 1 0 0 0 0 0 0
Parent 1
Pa...
2-points Crossover - Case 2
31
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Parent 1
Pa...
2-points Crossover - Case 2
31
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Parent 1
Parent 2
Offspring 1
O...
Bitflip mutation
32
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Offspring 1
Offspring 2 0 1 1 1 0 0 1 0 0 1
Bitflip mutation
32
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Offspring 1
Offspring 2 0 1 1 1 0 0 1 0 0 1
0
0
Bitflip mutation
32
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Offspring 1
Offspring 2 0 1 1 1 0 0 1 0 0 1
01
01
Crossover + mutation
33
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Crossover + mutation
34
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 ...
Crossover + mutation
35
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 ...
Evaluation
36
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 ...
Pareto dominance
37
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 ...
Crowding distance
38
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1...
Sorting
39
Sorting
39
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 5
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 8
FFT
1 0 0 1 0 1 0 1 1 1
STFTEnv
1
4
Sorting
39
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 5
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 8
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
2 2
FFT...
Sorting
39
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 5
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 8
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
2 2
FFT...
Sorting
39
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 5
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 8
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
2 2
FFT...
Sorting
39
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 5
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
1 8
1 0 0 1 0 1 0 1 1 1
STFTFFT Env
2 2
FFT...
New generation
40
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 1
Stopping criteria
41
Stopping criteria
41
Implementation
• Algorithm bottlenecks:
– Sorting
– Evaluation
42
Distribution of the Evaluation
43
Master
Slave Slave Slave Slave...
Distribution - Speedup
44
Post processing
45
Evaluation
1. Contrived sounds
2. Non-contrived sounds
46
47
Contrived sounds - Types
48
Contrived sounds - Knobs
Contrived sound - Example
49
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch ...
Non-contrived sounds
• Instruments
• Synthesized sounds (dx-7, moog, etc)
• Sounds with effect (Delay, distortion)
• Voice...
Instruments - Clarinet
51
Instruments - Clarinet
51
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
Engine FX LFO Key Octave
Digital Delay Tremol...
Synthesized sound - Moog 1
52
Synthesized sound - Moog 1
52
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 ...
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 ...
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 ...
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 ...
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 ...
Synthesized sound - Moog 1
52
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 ...
Synthesized sound - Moog 2
53
Synthesized sound - Moog 2
53
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 1
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 1
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 1
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 ...
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 ...
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 ...
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 ...
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 ...
Synthesized sound - Moog 2
53
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
Engine FX LFO Key Octave
FM Delay Element 0 ...
54
Sounds with effects - Delay 1
54
Sounds with effects - Delay 1
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effects - Delay 1
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effects - Delay 1
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
54
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
55
Sounds with effects - Delay 2
55
Sounds with effects - Delay 2
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effects - Delay 2
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effects - Delay 2
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
55
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key...
56
Sounds with effects - Delay 3
56
Sounds with effects - Delay 3
56
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effects - Delay 3
56
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effects - Delay 3
56
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
56
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
56
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Engine FX LFO Key Octave
Pulse Grid Tremolo 9 -­‐2
Sounds with effec...
57
Misc. - Cat Meow 1
57
Misc. - Cat Meow 1
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 1
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 1
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 1
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 1
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 1
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
57
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
58
Misc. - Cat Meow 2
58
Misc. - Cat Meow 2
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Misc. - Cat Meow 2
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Misc. - Cat Meow 2
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 2
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 2
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 2
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
58
Engine FX LFO Key Octave
FM Punch Element 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Engine FX LFO Key Octave
FM...
Conclusions
• NSGA-II with multi-objective fitness function, Gray
encoding and a modified crossover operator to preserve
pop...
Future works
• Improvements to the system
• Improvements to the evaluation
• Potential applications
60
Potential application
61
Future works
• Move to more complex problems...
62
Upcoming SlideShare
Loading in …5
×

Automatic Tuning of the OP-1 Synthesizer Using a Multi-objective Genetic Algorithm

390 views

Published on

Calibrating a sound synthesizer to replicate or approximate a given target sound is a complex and time consuming task for musicians and sound designers. In the case of the OP1, a commercial synthesizer developed by Teenage Engineering, the difficulty is multiple. The OP-1 contains several synthesis engines, effects and low frequency oscillators, which make the parameters search space very large and discontinuous. Furthermore, interactions between parameters are common and the OP-1 is not fully deterministic.
We address the problem of automatically calibrating the parameters of the OP-1 to approximate a given target sound. We propose and evaluate a solution to this problem using a multi-objective Non-dominated-Sorting-Genetic-Algorithm-II. We show that our approach makes it possible to handle the problem complexity, and returns a small set of presets that best approximate the target sound while covering the Pareto front of this multi-objective optimization problem.

Published in: Technology, Art & Photos
  • Be the first to comment

  • Be the first to like this

Automatic Tuning of the OP-1 Synthesizer Using a Multi-objective Genetic Algorithm

  1. 1. E N G A G I N G T H E W O R L D Automatic Tuning of The OP-1 Synthesizer Using a Multi-objective Genetic Algorithm Matthieu Macret M.Sc. candidate
  2. 2. OP-1 2
  3. 3. OP-1 2 Keys
  4. 4. OP-1 2 Type  parameters
  5. 5. OP-1 2 Knob  parameters
  6. 6. OP-1 2
  7. 7. OP-1 - Control 3
  8. 8. OP-1 - Control 3 Type Key Knob  parameters
  9. 9. 4
  10. 10. 4
  11. 11. 4 Engine
  12. 12. 5 Engine
  13. 13. 5 Engine
  14. 14. 6 Engine
  15. 15. 6 Engine
  16. 16. 6 Engine FX
  17. 17. 6 Engine FX
  18. 18. 6 Engine FX ADSR
  19. 19. 6 Engine FX ADSR Sound  output
  20. 20. 6 Engine FX ADSR LFO Sound  output
  21. 21. 6 Engine FX ADSR LFO Sound  output OP-­‐1  preset
  22. 22. OP-1 - Complexity Nb.    of   Engines Nb.  of  LFOs Nb.  of  FXs Nb.  of  keys Knob  range 7 3 4 120 [0,32767]
  23. 23. OP-1 - Complexity Nb.    of   Engines Nb.  of  LFOs Nb.  of  FXs Nb.  of  keys Knob  range 7 3 4 120 [0,32767] Nb.  disJnct  presets:
  24. 24. OP-1 - Complexity Nb.    of   Engines Nb.  of  LFOs Nb.  of  FXs Nb.  of  keys Knob  range 7 3 4 120 [0,32767] Nb.  disJnct  presets:
  25. 25. OP-1 - Complexity Nb.    of   Engines Nb.  of  LFOs Nb.  of  FXs Nb.  of  keys Knob  range 7 3 4 120 [0,32767] Nb.  disJnct  presets:
  26. 26. Problem • Difficult to control for a practitioner without expert knowledge about the synthesis techniques used. • Musician or composer have to tune parameters instead of making music. • Time-consuming and unproductive. 8
  27. 27. Scope of this research • Make the OP-1 control more accessible and natural for the user. • “Give me a sound, I would give you OP-1 presets to replicate/approximate it!” 9
  28. 28. Research question • Can evolutionary algorithms be created and employed to locate multiple distinct OP-1 presets to replicate a given target sound? 10
  29. 29. Problem difficulties • Large search space • Discontinuities • Non-determinism 11
  30. 30. Methodology 12 Pb.  Id EngineEngine FXFX Key LFOLFO ADSR Pb.  Id Type Knobs Type Knobs Type Knobs Knobs 1 X 2 X X 3 X X X 4 X X X X 5 X X X X X X X X
  31. 31. Project History 13 Canonical  GeneJc  Algorithm Crowding  GeneJc  Algorithm MulJ-­‐objecJve  GeneJc  Algorithm
  32. 32. Project History 13 Canonical  GeneJc  Algorithm Crowding  GeneJc  Algorithm MulJ-­‐objecJve  GeneJc  Algorithm
  33. 33. Representation 14 111000101001010101000011001010011010010011010110110110
  34. 34. Representation 14 111000101001010101000011001010011010010011010110110110 Gray  code  encoding/decoding EngineEngine FXFX Key Octave LFOLFO ADSR Type Knobs Type Knobs Type Knobs Knobs
  35. 35. Evaluation • Three objectives: – Temporal envelope – Fast Fourier Transform (FFT) – Short Term Fourier Transform (STFT) 15 1 0 0 1 0 1 0 1 1 1
  36. 36. Envelope 16
  37. 37. Envelope 16
  38. 38. FFT 17
  39. 39. STFT 18
  40. 40. NSGA-II • Non-dominated Sorting Genetic Algorithm-II • Standard approach to solve multi-objective problems • Embeds: – Non-dominated sorting – Diversity preservation – Elitism 19
  41. 41. Pareto Dominance 20 Obj.  1 Obj.  2 Obj.  1
  42. 42. Pareto Dominance 20 Obj.  1 Obj.  2 Obj.  1
  43. 43. Pareto Dominance 20 Obj.  1 Obj.  2 Obj.  1
  44. 44. Pareto Dominance 21 Obj.  1 Obj.  2 Obj.  1
  45. 45. Pareto Dominance 21 Obj.  1 Obj.  2 Obj.  1
  46. 46. Pareto Dominance 21 Obj.  1 Obj.  2 Obj.  1
  47. 47. Pareto Dominance 21 Obj.  1 Obj.  2 Obj.  1
  48. 48. Crowding distance 22 Obj.  1 Obj.  2 Obj.  1
  49. 49. Crowding distance 22 Obj.  1 Obj.  2 Obj.  1
  50. 50. Crowding distance 22 Obj.  1 Obj.  2 Obj.  1
  51. 51. Initialization 23 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  52. 52. Initialization 24 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env
  53. 53. Pareto dominance 25 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 3 22 1
  54. 54. Crowding distance 26 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 3 22 1 1 2 4 8 5
  55. 55. Binary tournament Selection - Case 1 27 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 2 23 1 1 2 4 8 5
  56. 56. Binary tournament Selection - Case 1 27 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 2 23 1 1 2 4 8 5
  57. 57. Binary tournament Selection - Case 2 28 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 2 23 1 1 2 4 8 5
  58. 58. Binary tournament Selection - Case 2 28 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 2 23 1 1 2 4 8 5
  59. 59. Crossover + mutation 29 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  60. 60. 2-points Crossover - Case 1 30 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 Parent 1 Parent 2 Offspring 1 Offspring 2
  61. 61. 2-points Crossover - Case 2 31 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 Parent 1 Parent 2 Offspring 1 Offspring 2
  62. 62. 2-points Crossover - Case 2 31 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 Parent 1 Parent 2 Offspring 1 Offspring 2 0 1 1 1 0 0 1 0 0 1
  63. 63. Bitflip mutation 32 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 Offspring 1 Offspring 2 0 1 1 1 0 0 1 0 0 1
  64. 64. Bitflip mutation 32 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 Offspring 1 Offspring 2 0 1 1 1 0 0 1 0 0 1 0 0
  65. 65. Bitflip mutation 32 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 Offspring 1 Offspring 2 0 1 1 1 0 0 1 0 0 1 01 01
  66. 66. Crossover + mutation 33 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  67. 67. Crossover + mutation 34 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  68. 68. Crossover + mutation 35 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  69. 69. Evaluation 36 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env
  70. 70. Pareto dominance 37 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 1 2 1 4 3 3 4 3 4
  71. 71. Crowding distance 38 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env STFTFFT Env 1 1 2 1 4 3 3 4 3 4 5 8 2 4 2 3 1 6 3 9
  72. 72. Sorting 39
  73. 73. Sorting 39 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 5 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 8 FFT 1 0 0 1 0 1 0 1 1 1 STFTEnv 1 4
  74. 74. Sorting 39 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 5 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 8 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 2 2 FFT 1 0 0 1 0 1 0 1 1 1 STFTEnv 1 4
  75. 75. Sorting 39 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 5 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 8 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 2 2 FFT 1 0 0 1 0 1 0 1 1 1 STFTEnv 1 4 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 6 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 3 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 9
  76. 76. Sorting 39 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 5 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 8 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 2 2 FFT 1 0 0 1 0 1 0 1 1 1 STFTEnv 1 4 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 6 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 3 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 9
  77. 77. Sorting 39 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 5 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 1 8 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 2 2 FFT 1 0 0 1 0 1 0 1 1 1 STFTEnv 1 4 1 0 0 1 0 1 0 1 1 1 STFTFFT Env 3 9
  78. 78. New generation 40 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  79. 79. Stopping criteria 41
  80. 80. Stopping criteria 41
  81. 81. Implementation • Algorithm bottlenecks: – Sorting – Evaluation 42
  82. 82. Distribution of the Evaluation 43 Master Slave Slave Slave Slave...
  83. 83. Distribution - Speedup 44
  84. 84. Post processing 45
  85. 85. Evaluation 1. Contrived sounds 2. Non-contrived sounds 46
  86. 86. 47 Contrived sounds - Types
  87. 87. 48 Contrived sounds - Knobs
  88. 88. Contrived sound - Example 49
  89. 89. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0
  90. 90. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0
  91. 91. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1
  92. 92. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1
  93. 93. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1
  94. 94. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1
  95. 95. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1
  96. 96. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1 Engine FX LFO Key Octave FM Grid Element 0 1
  97. 97. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1 Engine FX LFO Key Octave FM Grid Element 0 1
  98. 98. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1 Engine FX LFO Key Octave FM Grid Element 0 1
  99. 99. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0 Engine FX LFO Key Octave Cluster Punch InacJve 0 1 Engine FX LFO Key Octave FM Grid Element 0 1 Engine FX LFO Key Octave FM Grid Element 0 1 Eng.  1 Eng.  2 Eng.  3 Eng.  4 FX  1   FX  2 FX  3 FX  4 LFO  1 LFO  2 LFO  3 LFO  4 2463 29131 17408 1636 8267 9206 8099 13372 7168 24410 5739 15360 Eng.  1 Eng.  2 Eng.  3 Eng.  4 FX  1   FX  2 FX  3 FX  4 LFO  1 LFO  2 LFO  3 LFO  4 2463 29131 17408 1735 8267 9206 8099 14140 7168 16551 7168 15360
  100. 100. Non-contrived sounds • Instruments • Synthesized sounds (dx-7, moog, etc) • Sounds with effect (Delay, distortion) • Voice • Misc. (explosions, cat meow etc) 50
  101. 101. Instruments - Clarinet 51
  102. 102. Instruments - Clarinet 51
  103. 103. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  104. 104. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  105. 105. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  106. 106. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  107. 107. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  108. 108. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  109. 109. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  110. 110. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  111. 111. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 ADSR  1 ADSR  2 ADSR  3 ADSR  4 8533 14940 21515 16320 ADSR  1 ADSR  2 ADSR  3 ADSR  4 8533 14940 21515 4471
  112. 112. Synthesized sound - Moog 1 52
  113. 113. Synthesized sound - Moog 1 52
  114. 114. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1
  115. 115. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1
  116. 116. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  117. 117. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  118. 118. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  119. 119. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1
  120. 120. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1
  121. 121. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1
  122. 122. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  123. 123. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  124. 124. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  125. 125. Synthesized sound - Moog 2 53
  126. 126. Synthesized sound - Moog 2 53
  127. 127. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  128. 128. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  129. 129. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1
  130. 130. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1
  131. 131. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1
  132. 132. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Punch Element 0 1
  133. 133. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Punch Element 0 1
  134. 134. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Punch Element 0 1
  135. 135. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Punch Element 0 1 Engine FX LFO Key Octave FM Delay Tremolo 11 0
  136. 136. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Punch Element 0 1 Engine FX LFO Key Octave FM Delay Tremolo 11 0
  137. 137. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0 Engine FX LFO Key Octave FM Delay Element 0 1 Engine FX LFO Key Octave FM Punch Element 0 1 Engine FX LFO Key Octave FM Delay Tremolo 11 0
  138. 138. 54 Sounds with effects - Delay 1
  139. 139. 54 Sounds with effects - Delay 1
  140. 140. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  141. 141. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  142. 142. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  143. 143. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  144. 144. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  145. 145. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  146. 146. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  147. 147. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  148. 148. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  149. 149. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  150. 150. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  151. 151. 55 Sounds with effects - Delay 2
  152. 152. 55 Sounds with effects - Delay 2
  153. 153. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  154. 154. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  155. 155. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  156. 156. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  157. 157. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  158. 158. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave FM Delay InacJve 7 0 Sounds with effects - Delay 2
  159. 159. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave FM Delay InacJve 7 0 Sounds with effects - Delay 2
  160. 160. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave FM Delay InacJve 7 0 Sounds with effects - Delay 2
  161. 161. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave FM Delay InacJve 7 0 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  162. 162. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave FM Delay InacJve 7 0 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  163. 163. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave FM Delay InacJve 7 0 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  164. 164. 56 Sounds with effects - Delay 3
  165. 165. 56 Sounds with effects - Delay 3
  166. 166. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  167. 167. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  168. 168. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  169. 169. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  170. 170. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  171. 171. 57 Misc. - Cat Meow 1
  172. 172. 57 Misc. - Cat Meow 1
  173. 173. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  174. 174. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  175. 175. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  176. 176. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  177. 177. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  178. 178. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  179. 179. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  180. 180. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  181. 181. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  182. 182. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  183. 183. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  184. 184. 58 Misc. - Cat Meow 2
  185. 185. 58 Misc. - Cat Meow 2
  186. 186. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Misc. - Cat Meow 2
  187. 187. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Misc. - Cat Meow 2
  188. 188. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 2
  189. 189. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 2
  190. 190. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 2
  191. 191. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 2
  192. 192. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 2
  193. 193. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 2
  194. 194. Conclusions • NSGA-II with multi-objective fitness function, Gray encoding and a modified crossover operator to preserve population diversity. • 3-objectives fitness function (FFT, Envelope, STFT) to address the difficulties associated with the OP-1 search space. • A clustering method to better analyze and explore the final set of solutions. • An evaluation using contrived and non-contrived sounds. 59
  195. 195. Future works • Improvements to the system • Improvements to the evaluation • Potential applications 60
  196. 196. Potential application 61
  197. 197. Future works • Move to more complex problems... 62

×