SlideShare ist ein Scribd-Unternehmen logo
1 von 22
The Use of Algorithms in Music
Composition
A Case Study of my piece 'On the Edge' for Cello
By Ali Riza SARAL
April 11, 2017
Creativity
• wikipedia
• Creativity is a phenomenon whereby
something new and somehow valuable is
formed. The created item may be intangible
(such as an idea, a scientific theory, a musical
composition, or a joke) or a physical object
(such as an invention, a literary work, or a
painting).
Webster -Definition of creativity
• 1: the quality of being creative
• 2 : the ability to create
• her artistic creativity
Definition of create-transitive verb
• 1 : to bring into existence
• … God created the heaven and the earth. — Genesis 1:1
(AV)
• 2 a : to invest with a new form, office, or rank
• She was created a lieutenant.
• b : to produce or bring about by a course of action or
behavior
• Her arrival created a terrible fuss. create new jobs
• 3 : cause, occasion Famine creates high food prices.
• 4 a : to produce through imaginative skill
• create a painting
• b : design creates dresses
Definition of create-intransitive verb
• 1 : to make or bring into existence something
new
• an artist who is good at imitating but not
at creating
• 2 : to set up a scoring opportunity in
basketball
• create off the dribble
dilemma
• Computer aided design
• Vs
• Human Aided Computer Creativity
consciousness
• Is consciousness a prerequisite for creativity?
Consciousness vs subconsciousness
• The role of subconscious in creativity
consciousness
• Intention
• Task lists
Direction problem
• Creativity requires direction towards creating
a being, a unity
• Currently available functions such as random()
• Does not provide direction
• Even the random function requires a seed
value to create a random number.
Possible solution
• Random values and other direction markers
maybe automatically produced from other
material, similar style music pieces etc.
• These have to be provided and programmed
by the human, composer.
MuseScore & JFugue
• I created MIDI sequences using Jfugue.
• Then I exported the outputs as MIDI files.
• I imported the MIDI files to MuseScore.
JFugue phase
• This corresponds to the computer creativity
phase.
• I used random functions and note lists. The
computer chooses randomly which sounds to
play.
• My role as a composer is to limit and direct
the random behaviour of the computer.
At the Edge for Cello
At the Edge – Cello Suite (2016) by Ali R+ SARAL
Bagatelle, Barcarolle, Rhapsody
15 min. Long
Dedicated to Daria B. from Germany
BAGATELLE
• Analyze Jfugue codes for music generation
• produceMusic() subroutines
• String note[]=
{"C","C#","D","D#","G","G#","A","A#","B"};
• int seriesLength=9;
• Randomly play
• noteSeq=randomInteger(1,seriesLength-1);
produceMusic2()
• if (!existsPrev(playedNotes,note[noteSeq],
depthRepeat, currentPOS) || n==0){
• m+=" "+note[noteSeq]+"4s";
• playedNotes[n]=note[noteSeq]+"4s";
produceMusic2()
• octave =
randomInteger(spanBottom+1,spanBottom+span
Depth);
• if (!existsPrev(playedNotes,note[noteSeq],
depthRepeat, currentPOS) || n==0){
• m+=" "+note[noteSeq]+octave+"i";
• m="T60 V0 I[Cello] G5h D#4h G#3h T120";
produceMusic4()
• String tempi[] ={"T126","T120","T132","T144"};
• if (n % 4==0)
tempiSeq=randomInteger(1,tempiCount-1);
• if (!existsPrev(playedNotes,note[noteSeq],
depthRepeat, currentPOS) || n==0){
• sheetStr+=" "+note[noteSeq]+"i
"+tempi[tempiSeq];
produceMusic6()
• String note[]= {"E5", "F4", "F#3", "G5", "D#4",
"G#3", "A5", "C5", "B4", "C#4", "D3", "A#2"};
• int seriesLength=12;
• String note2[]= {"E2", "F2", "D#2", "C2"}; int
noteSeq2=-1;
produceMusic6()
• if (!existsPrev(playedNotes,note[noteSeq], depthRepeat,
currentPOS) || n==0){
• // m+=" "+note[noteSeq]+octave+"i";
• // playedNotes[n]=note[noteSeq]+octave+"i";
• sheetStr+=" "+note[noteSeq]+"i
"+tempi[tempiSeq];
• playedNotes[n]=note[noteSeq]+"i
"+tempi[tempiSeq];
• }
• else n=n-1;
• sheetStr+=" "+note2[noteSeq2]+"i ";
• playedNotes[n]=note[noteSeq2]+"i ";
BARCAROLLE
• Analysis of Jfugue sketches
• Analysis of their utilization in Barcarolle.
Rhapsody
• Listen Rhapsody.
• Find where computer generating is used.
• Human imitates computer and tries to find out
what could human assisted computer
creativity sound like.

Weitere ähnliche Inhalte

Mehr von Ali Rıza SARAL

Mehr von Ali Rıza SARAL (8)

On the Role of Design in Creativity.pptx
On the Role of Design in Creativity.pptxOn the Role of Design in Creativity.pptx
On the Role of Design in Creativity.pptx
 
Mnistauto 5
Mnistauto 5Mnistauto 5
Mnistauto 5
 
Mnistauto 4
Mnistauto 4Mnistauto 4
Mnistauto 4
 
Mnistauto 3
Mnistauto 3Mnistauto 3
Mnistauto 3
 
Mnistauto 2
Mnistauto 2Mnistauto 2
Mnistauto 2
 
Mnistauto 1
Mnistauto 1Mnistauto 1
Mnistauto 1
 
Komut satırı JAVA
Komut satırı JAVAKomut satırı JAVA
Komut satırı JAVA
 
AR+S The Role Of Abstraction In Human Computer Interaction
AR+S   The Role Of Abstraction In Human Computer InteractionAR+S   The Role Of Abstraction In Human Computer Interaction
AR+S The Role Of Abstraction In Human Computer Interaction
 

Kürzlich hochgeladen

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 

Kürzlich hochgeladen (20)

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 

Human assisted computer creativity

  • 1. The Use of Algorithms in Music Composition A Case Study of my piece 'On the Edge' for Cello By Ali Riza SARAL April 11, 2017
  • 2. Creativity • wikipedia • Creativity is a phenomenon whereby something new and somehow valuable is formed. The created item may be intangible (such as an idea, a scientific theory, a musical composition, or a joke) or a physical object (such as an invention, a literary work, or a painting).
  • 3. Webster -Definition of creativity • 1: the quality of being creative • 2 : the ability to create • her artistic creativity
  • 4. Definition of create-transitive verb • 1 : to bring into existence • … God created the heaven and the earth. — Genesis 1:1 (AV) • 2 a : to invest with a new form, office, or rank • She was created a lieutenant. • b : to produce or bring about by a course of action or behavior • Her arrival created a terrible fuss. create new jobs • 3 : cause, occasion Famine creates high food prices. • 4 a : to produce through imaginative skill • create a painting • b : design creates dresses
  • 5. Definition of create-intransitive verb • 1 : to make or bring into existence something new • an artist who is good at imitating but not at creating • 2 : to set up a scoring opportunity in basketball • create off the dribble
  • 6. dilemma • Computer aided design • Vs • Human Aided Computer Creativity
  • 7. consciousness • Is consciousness a prerequisite for creativity?
  • 8. Consciousness vs subconsciousness • The role of subconscious in creativity
  • 10. Direction problem • Creativity requires direction towards creating a being, a unity • Currently available functions such as random() • Does not provide direction • Even the random function requires a seed value to create a random number.
  • 11. Possible solution • Random values and other direction markers maybe automatically produced from other material, similar style music pieces etc. • These have to be provided and programmed by the human, composer.
  • 12. MuseScore & JFugue • I created MIDI sequences using Jfugue. • Then I exported the outputs as MIDI files. • I imported the MIDI files to MuseScore.
  • 13. JFugue phase • This corresponds to the computer creativity phase. • I used random functions and note lists. The computer chooses randomly which sounds to play. • My role as a composer is to limit and direct the random behaviour of the computer.
  • 14. At the Edge for Cello At the Edge – Cello Suite (2016) by Ali R+ SARAL Bagatelle, Barcarolle, Rhapsody 15 min. Long Dedicated to Daria B. from Germany
  • 15. BAGATELLE • Analyze Jfugue codes for music generation • produceMusic() subroutines • String note[]= {"C","C#","D","D#","G","G#","A","A#","B"}; • int seriesLength=9; • Randomly play • noteSeq=randomInteger(1,seriesLength-1);
  • 16. produceMusic2() • if (!existsPrev(playedNotes,note[noteSeq], depthRepeat, currentPOS) || n==0){ • m+=" "+note[noteSeq]+"4s"; • playedNotes[n]=note[noteSeq]+"4s";
  • 17. produceMusic2() • octave = randomInteger(spanBottom+1,spanBottom+span Depth); • if (!existsPrev(playedNotes,note[noteSeq], depthRepeat, currentPOS) || n==0){ • m+=" "+note[noteSeq]+octave+"i"; • m="T60 V0 I[Cello] G5h D#4h G#3h T120";
  • 18. produceMusic4() • String tempi[] ={"T126","T120","T132","T144"}; • if (n % 4==0) tempiSeq=randomInteger(1,tempiCount-1); • if (!existsPrev(playedNotes,note[noteSeq], depthRepeat, currentPOS) || n==0){ • sheetStr+=" "+note[noteSeq]+"i "+tempi[tempiSeq];
  • 19. produceMusic6() • String note[]= {"E5", "F4", "F#3", "G5", "D#4", "G#3", "A5", "C5", "B4", "C#4", "D3", "A#2"}; • int seriesLength=12; • String note2[]= {"E2", "F2", "D#2", "C2"}; int noteSeq2=-1;
  • 20. produceMusic6() • if (!existsPrev(playedNotes,note[noteSeq], depthRepeat, currentPOS) || n==0){ • // m+=" "+note[noteSeq]+octave+"i"; • // playedNotes[n]=note[noteSeq]+octave+"i"; • sheetStr+=" "+note[noteSeq]+"i "+tempi[tempiSeq]; • playedNotes[n]=note[noteSeq]+"i "+tempi[tempiSeq]; • } • else n=n-1; • sheetStr+=" "+note2[noteSeq2]+"i "; • playedNotes[n]=note[noteSeq2]+"i ";
  • 21. BARCAROLLE • Analysis of Jfugue sketches • Analysis of their utilization in Barcarolle.
  • 22. Rhapsody • Listen Rhapsody. • Find where computer generating is used. • Human imitates computer and tries to find out what could human assisted computer creativity sound like.