SlideShare a Scribd company logo
1 of 197
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
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 [0,32767]
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:
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:
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:
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
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
Research question
• Can evolutionary algorithms be created
and employed to locate multiple distinct
OP-1 presets to replicate a given target
sound?
10
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 X X
4 X X X X
5 X X X X X X X 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 FXFX
Key
Octave
LFOLFO ADSR
Type Knobs Type Knobs Type Knobs Knobs
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
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-dominated sorting
– Diversity preservation
– Elitism
19
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
STFTFFT Env
STFTFFT Env
STFTFFT Env
STFTFFT Env
STFTFFT Env
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
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
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
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
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
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
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
Parent 2
Offspring 1
Offspring 2
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
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
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 1
1 0 0 1 0 1 0 1 1 1
1 0 0 1 0 1 0 1 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 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
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
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
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
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
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
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
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
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
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 InacJve 0 1
Contrived sound - Example
49
Engine FX LFO Key Octave
Cluster InacJve InacJve 12 0
Engine FX LFO Key Octave
Cluster Punch InacJve 0 1
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
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
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
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
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
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
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
Non-contrived sounds
• Instruments
• Synthesized sounds (dx-7, moog, etc)
• Sounds with effect (Delay, distortion)
• Voice
• Misc. (explosions, cat meow etc)
50
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 Tremolo 9 1
Instruments - Clarinet
51
Engine FX LFO Key Octave
Digital Delay Tremolo 9 1
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 Tremolo 9 1
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
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
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
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
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 0
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
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
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
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
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
Engine FX LFO Key Octave
FM Delay Element 0 1
Engine FX LFO Key Octave
FM Spring Tremolo 11 0
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 1
Engine FX LFO Key Octave
FM Punch 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
Engine FX LFO Key Octave
FM Punch 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
Engine FX LFO Key Octave
FM Punch 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
Engine FX LFO Key Octave
FM Punch Element 0 1
Engine FX LFO Key Octave
FM Delay 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
Engine FX LFO Key Octave
FM Punch Element 0 1
Engine FX LFO Key Octave
FM Delay 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
Engine FX LFO Key Octave
FM Punch Element 0 1
Engine FX LFO Key Octave
FM Delay Tremolo 11 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 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 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 effects - Delay 1
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
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
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
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
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
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
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 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 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 effects - Delay 2
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
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
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
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
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
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
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 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 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 effects - Delay 3
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 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 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 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 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 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 Punch Tremolo 8 3
Engine FX LFO Key Octave
FM Punch Tremolo 8 3
Misc. - Cat Meow 1
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 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 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 Punch Tremolo 8 3
Misc. - Cat Meow 2
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
Future works
• Improvements to the system
• Improvements to the evaluation
• Potential applications
60
Potential application
61
Future works
• Move to more complex problems...
62

More Related Content

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

Introduction to Asic Design and VLSI Design
Introduction to Asic Design and VLSI DesignIntroduction to Asic Design and VLSI Design
Introduction to Asic Design and VLSI DesignPratik Gohel
 
Thesis-presentation: Tuenti Engineering
Thesis-presentation: Tuenti EngineeringThesis-presentation: Tuenti Engineering
Thesis-presentation: Tuenti EngineeringMarcus Ljungblad
 
MaskedVByte: SIMD-accelerated VByte
MaskedVByte: SIMD-accelerated VByteMaskedVByte: SIMD-accelerated VByte
MaskedVByte: SIMD-accelerated VByteDaniel Lemire
 
DSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALY
DSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALYDSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALY
DSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALYACTOR
 
Bài tập-des
Bài tập-desBài tập-des
Bài tập-desHuynh MVT
 
Traffic light Controller Design
Traffic light Controller DesignTraffic light Controller Design
Traffic light Controller DesignIvan Tim Oloya
 
Deep Learning con CNTK by Pablo Doval
Deep Learning con CNTK by Pablo DovalDeep Learning con CNTK by Pablo Doval
Deep Learning con CNTK by Pablo DovalPlain Concepts
 
Data-driven HAL generation
Data-driven HAL generationData-driven HAL generation
Data-driven HAL generationemBO_Conference
 
2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarm2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarmheri Banget
 
2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarm2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarmheri Banget
 
Chieu matxcova
Chieu matxcovaChieu matxcova
Chieu matxcovaSEAMI
 
Fight Scene Storyboard (Action/Adventure Animation)
Fight Scene Storyboard (Action/Adventure Animation)Fight Scene Storyboard (Action/Adventure Animation)
Fight Scene Storyboard (Action/Adventure Animation)finlaygoodall2
 
Stats joueurs
Stats joueursStats joueurs
Stats joueursBD GB
 
UNIT - III.pptx
UNIT - III.pptxUNIT - III.pptx
UNIT - III.pptxamudhak10
 
Transformers ASR.pdf
Transformers ASR.pdfTransformers ASR.pdf
Transformers ASR.pdfssuser8025b21
 
Biet ly
Biet lyBiet ly
Biet lySEAMI
 
Geneve Monitoring event - InfluxDb and Loud ML presentation
Geneve Monitoring event - InfluxDb and Loud ML presentationGeneve Monitoring event - InfluxDb and Loud ML presentation
Geneve Monitoring event - InfluxDb and Loud ML presentationSebastien Leger
 
AlphaGo in Depth
AlphaGo in Depth AlphaGo in Depth
AlphaGo in Depth Mark Chang
 

Similar to Automatic Tuning of the OP-1 Synthesizer Using a Multi-objective Genetic Algorithm (20)

Introduction to Asic Design and VLSI Design
Introduction to Asic Design and VLSI DesignIntroduction to Asic Design and VLSI Design
Introduction to Asic Design and VLSI Design
 
Thesis-presentation: Tuenti Engineering
Thesis-presentation: Tuenti EngineeringThesis-presentation: Tuenti Engineering
Thesis-presentation: Tuenti Engineering
 
MaskedVByte: SIMD-accelerated VByte
MaskedVByte: SIMD-accelerated VByteMaskedVByte: SIMD-accelerated VByte
MaskedVByte: SIMD-accelerated VByte
 
DSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALY
DSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALYDSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALY
DSF2017 - Demand, Supply chain, Revenue - ACTOR for EUROPCAR ITALY
 
Bài tập-des
Bài tập-desBài tập-des
Bài tập-des
 
Traffic light Controller Design
Traffic light Controller DesignTraffic light Controller Design
Traffic light Controller Design
 
Deep Learning con CNTK by Pablo Doval
Deep Learning con CNTK by Pablo DovalDeep Learning con CNTK by Pablo Doval
Deep Learning con CNTK by Pablo Doval
 
Data-driven HAL generation
Data-driven HAL generationData-driven HAL generation
Data-driven HAL generation
 
2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarm2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarm
 
2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarm2 g ms4099e dan ms4099f_alarm
2 g ms4099e dan ms4099f_alarm
 
Chieu matxcova
Chieu matxcovaChieu matxcova
Chieu matxcova
 
Fight Scene Storyboard (Action/Adventure Animation)
Fight Scene Storyboard (Action/Adventure Animation)Fight Scene Storyboard (Action/Adventure Animation)
Fight Scene Storyboard (Action/Adventure Animation)
 
Stats joueurs
Stats joueursStats joueurs
Stats joueurs
 
DL_Lecture_29_06_2020.pptx
DL_Lecture_29_06_2020.pptxDL_Lecture_29_06_2020.pptx
DL_Lecture_29_06_2020.pptx
 
UNIT - III.pptx
UNIT - III.pptxUNIT - III.pptx
UNIT - III.pptx
 
Transformers ASR.pdf
Transformers ASR.pdfTransformers ASR.pdf
Transformers ASR.pdf
 
Biet ly
Biet lyBiet ly
Biet ly
 
Geneve Monitoring event - InfluxDb and Loud ML presentation
Geneve Monitoring event - InfluxDb and Loud ML presentationGeneve Monitoring event - InfluxDb and Loud ML presentation
Geneve Monitoring event - InfluxDb and Loud ML presentation
 
AlphaGo in Depth
AlphaGo in Depth AlphaGo in Depth
AlphaGo in Depth
 
Sorting1
Sorting1Sorting1
Sorting1
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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

  • 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
  • 8. OP-1 - Control 3 Type Key Knob  parameters
  • 9. 4
  • 10. 4
  • 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. 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. 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. 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. 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. 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. Research question • Can evolutionary algorithms be created and employed to locate multiple distinct OP-1 presets to replicate a given target sound? 10
  • 29. Problem difficulties • Large search space • Discontinuities • Non-determinism 11
  • 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. Project History 13 Canonical  GeneJc  Algorithm Crowding  GeneJc  Algorithm MulJ-­‐objecJve  GeneJc  Algorithm
  • 32. Project History 13 Canonical  GeneJc  Algorithm Crowding  GeneJc  Algorithm MulJ-­‐objecJve  GeneJc  Algorithm
  • 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
  • 40. NSGA-II • Non-dominated Sorting Genetic Algorithm-II • Standard approach to solve multi-objective problems • Embeds: – Non-dominated sorting – Diversity preservation – Elitism 19
  • 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. 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. 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. 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. 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. 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. 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. 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. Crossover + mutation 29 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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
  • 82. Distribution of the Evaluation 43 Master Slave Slave Slave Slave...
  • 85. Evaluation 1. Contrived sounds 2. Non-contrived sounds 46
  • 88. Contrived sound - Example 49
  • 89. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0
  • 90. Contrived sound - Example 49 Engine FX LFO Key Octave Cluster InacJve InacJve 12 0
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Non-contrived sounds • Instruments • Synthesized sounds (dx-7, moog, etc) • Sounds with effect (Delay, distortion) • Voice • Misc. (explosions, cat meow etc) 50
  • 103. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  • 104. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  • 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. Instruments - Clarinet 51 Engine FX LFO Key Octave Digital Delay Tremolo 9 1 Engine FX LFO Key Octave Digital Delay Tremolo 9 1
  • 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. 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. 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. 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. 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. Synthesized sound - Moog 1 52
  • 113. Synthesized sound - Moog 1 52
  • 114. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1
  • 115. Synthesized sound - Moog 1 52 Engine FX LFO Key Octave FM Delay Element 0 1
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Synthesized sound - Moog 2 53
  • 126. Synthesized sound - Moog 2 53
  • 127. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  • 128. Synthesized sound - Moog 2 53 Engine FX LFO Key Octave FM Spring Tremolo 11 0
  • 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 140. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  • 141. 54 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 1
  • 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 153. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  • 154. 55 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 2
  • 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 166. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  • 167. 56 Engine FX LFO Key Octave Pulse Grid Tremolo 9 -­‐2 Sounds with effects - Delay 3
  • 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. 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. 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. 57 Misc. - Cat Meow 1
  • 172. 57 Misc. - Cat Meow 1
  • 173. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  • 174. 57 Engine FX LFO Key Octave FM Punch Tremolo 8 3 Misc. - Cat Meow 1
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 58 Misc. - Cat Meow 2
  • 185. 58 Misc. - Cat Meow 2
  • 186. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Misc. - Cat Meow 2
  • 187. 58 Engine FX LFO Key Octave FM Punch Element 8 3 Misc. - Cat Meow 2
  • 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. 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. 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. 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. 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. 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. 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. Future works • Improvements to the system • Improvements to the evaluation • Potential applications 60
  • 197. Future works • Move to more complex problems... 62