SlideShare a Scribd company logo
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.

More Related Content

More from Ali Rıza SARAL

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
Ali Rıza SARAL
 
Mnistauto 5
Mnistauto 5Mnistauto 5
Mnistauto 5
Ali Rıza SARAL
 
Mnistauto 4
Mnistauto 4Mnistauto 4
Mnistauto 4
Ali Rıza SARAL
 
Mnistauto 3
Mnistauto 3Mnistauto 3
Mnistauto 3
Ali Rıza SARAL
 
Mnistauto 2
Mnistauto 2Mnistauto 2
Mnistauto 2
Ali Rıza SARAL
 
Mnistauto 1
Mnistauto 1Mnistauto 1
Mnistauto 1
Ali Rıza SARAL
 
Komut satırı JAVA
Komut satırı JAVAKomut satırı JAVA
Komut satırı JAVA
Ali Rıza SARAL
 
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
Ali Rıza SARAL
 

More from 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
 

Recently uploaded

HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
veerababupersonal22
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Basic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparelBasic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparel
top1002
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 

Recently uploaded (20)

HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Basic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparelBasic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparel
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 

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.