Intelligent Drum Machines Using Cartesian Genetic Programming Initial Essay Sample
A musician’s demand to show their musical thoughts in a manner that is both acoustically pleasing and comfy for whom of all time is utilizing it can non ever be communicated by themselves entirely and frequently requires external aid. This assistance frequently comes in the signifier of an instrument. an interface imparting the ideas and emotions from a user into their surrounding environment manifested into a physical medium. for illustration sound and visible radiation. This study will concentrate in on the acoustic exchange of these thoughts and so will be restricted to the musical art signifier. The engineering that is developed as a solution to this job has been developed with two factors in head ; how it sounds and how easy it is for one to successfully show oneself with it. the later is of import as it is assumed a user must be in comfort to successfully show their thoughts. This standard can be seen from the very beginnings of human musical history in the neutering of membranophone sizes for variable pitch ( figure 1 ) . the usage of multiple instruments at a clip to implement polyphonic thoughts and even the defining of these instruments into easy to utilize tools for illustration a fiddle exhibiting a vibrating twine with a speedy and convenient excitement tool. the bow ( figure 2 ) .
Figure 1 taken fromFigure 2: taken from
hypertext transfer protocol: //www. pikespeakonthecheap. com/ ? attachment_id=12024www. kirklessmusicschool. org. United Kingdom
These are all human creative activities leting the manifestation of their internal musical thoughts in the physical universe. In more recent developments computing machines have been introduced including applications such as physical modeling. sampling stations. synthesists and accountants for these systems of which any music engineer will be good acquainted with. These. much like the old illustrations. have been produced to non merely add to our bank or musical tools but to farther increase the easiness of the production of music taking the demand to garner a full orchestra. rehearse the cornet for 10 old ages or carry a drum kit about. as all these sounds can now be contained within a little laptop and controlled with a individual keyboard. The downside of utilizing computing machines. nevertheless. is that the music produced is frequently stiff sounding and robotic. much like the underlying systems that drive them. By utilizing appropriate accountants the functionality of an acoustic instrument is mimicked in a device that can pass on with computing machines. commanding these sounds in a manner that makes them sound more natural and realistic.
This is of import because it is non ever obvious what it is that we prefer about a existent acoustic public presentation. and even if it was obvious it can non be contained by a set of regulations. merely that we like it or we don’t like it. There is no expression that can generalize art. This is the cardinal job with geting a pleasing and natural sound with electronic instruments and therefore we still require a musician to command these systems to accomplish the sound we desire. It should be noted that sound does non needfully – and in fact at all for the intent of this experiment – refer to the spectral make up of a sound but to the manner in which it is musically shaped ; for illustration a instrumentalist may specify this defining as what makes a musician sound “musical” or non. Human mistake brings coloring material to a public presentation in the elusive differences in note arrangement and volume doing it sound “musical” and “natural” . The map of this study is to experiment with unreal intelligence in using these captions to an bing membranophone path in the hope that it will heighten its musical form. groove or experience without the external influence of a instrumentalist.
2. Literature Reappraisal
2. 1 What Makes A Rhythm Groove
If the purpose of this experiment is to musically heighten a beat so it follows that these sweetenings should be defined. Music that exhibits this sweetening. for illustration a production sourced from a professional drummer. is frequently referred to as “groovy” in that it contains “groove” . For this ground in this study this humanistic quality will be referred to as channel throughout. As this experiment focuses on membranophone music. beat or “beats” it will be the rhythmic channel that is discussed [ 17 ] .
“Groove – or swing – is a aboriginal facet of music. more so for clever and functional sorts of music. such as dance- and folk music. than for art music. Peoples appear to judge the sum of channel fast and effortlessly. although an nonsubjective or consistent definition is desiring. One possible definition of channel could be “suggestion to travel to the pulse”” Madison. Guy ( Institute of psychological science. Uppsala university ) [ 18 ] General consensus seems to associate “Groove” with swing. motion and the incompatibilities found in a human public presentation. Although hard to specify. the consequence of channel is wholly agreed in that it suggests to the hearer a pacing or pulsation. doing the hearer experience the demand to tap their pes. nod their caput or even dance. A short experiment was carried out to try a classification of the parametric quantities which affect channel utilizing a typical dance beat frequently referred to as a 4/4 round or more conversationally “four on the floor” .
See the following two drum paths exhibiting typical beat found in music today ( figure 3 and 4 ) . Both contain the same round ; retaining pacing. instruments and note arrangements nevertheless the latter has been performed by a instrumentalist instead than produced on a computing machine. It should be noted that although channel may change with genre. due to its association with genres such as dance. wind and common people music. a drummer who specialises in these genres was used. For the intent of this experiment both recordings will be recorded in the MIDI sphere and therefore an electronic membranophone kit was used in the procedure of entering the instrumentalist. This besides removes all timbral qualities added by the user. leting the experiment to concentrate on strictly musical qualities. The instrumentalist was given a click path to let him to synchronize his public presentation ; nevertheless no quantization was applied therefore the incompatibilities will give an thought as to what is adding this human quality. Figures 3 and 4 show a typical MIDI membranophone machine where the x-axis portrays clip and the y-axis is instrument. The speed of a note is shown by the strength of coloring material: a dark ruddy displays a note high in speed and a light ruddy shows a note depression in speed. This is shown more clearly in the note speed charts below the note arrangement diagrams.
Figure 3: Computer performed beat
Figure 3: Human performed beat
By review. three chief differences can be seen:
1. Note lengths are varied by a apparently random factor
2. Note speeds are varied by a apparently random factor. This fluctuation although random shows a periodic nature as seen in higher speed hi chapeaus on the 3rd semi quaver of each round. 3. Note arrangement shows an beginning. This fluctuation although apparently random besides displays a common beginning for the 2nd and 4th sixteenth notes where they are delayed by a little fraction of the sixteenth note whole number. This factor is frequently referred to as “swing”
Note that this experiment is concentrating in the musical facets of what makes a rhythm channel and will non be taking into history timbral facets of music. This does non intend to state that timbral qualities do non lend towards the channel of a musical production.
2. 2 Automatic Composition
Computers have developed to such an extent that it is now possible for them to non merely bring forth and execute music but to help its creative activity both in progress and in existent clip i. e. improvisation. Chew overing for illustration. a rhythmic composing plan. evolves membranophone forms and is used as a compositional assistance [ 11 ] while the familial drummer uses similar techniques to bring forth an attach toing membranophone path designed for a unrecorded public presentation scenario [ 12 ] . There are even plans which listen to existent clip sound and improvise along side a instrumentalist. for illustration Haile the automaton drummer [ 13 ] . a testament to modern twenty-four hours music engineering. It is systems like these and the techniques used by them that are of involvement in this study as they may give an indicant of how to accomplish a humanistic membranophone machine. Although these machines harness unreal intelligence ( AI ) to compose and improvize music. there is still a clear divide between the creative activity of music and the human sweetening of music. the later being the purpose and focal point of this experiment.
However if a computing machine can independently make art so there is no ground to govern out the add-on of human qualities such as channel besides. In general automatic musical composing involves specifying a set of regulations and limitations within a system before leting this system to do determinations. most likely with random or pseudo random procedure to choose options. An illustration of this might include specifying a major graduated table. curtailing the plan to euphonic notes merely. By specifying these regulations a computing machine is able to compose without direct influence from a user while retaining some signifier of musical construction. a graduated table. meter or signifier. This technique lays down the basic construction of an algorithmic composing doing automatic musical composing possible. The disadvantages of this system nevertheless are the inactive nature of an algorithm. in that alterations in the regulations that govern it must be pre defined. difficult coded into the plan frequently ensuing in humdrum composings or composings of a fixed length.
If these regulations are made less rigorous so the ensuing sound is frequently Atonal and nonmusical. which is unsurprising as no manner of stipulating fittingness is available. This fittingness is defined by how good it achieves its end or how closely it resembles the coveted solution and in the instance of music how “good” it sounds. The trouble in programming a computing machine to bring forth “good” music can easy be seen due to the subjective nature of music. Thus it can be seen that more complex systems are required to compose music on a more human degree. Familial package. unlike evolutionary algorithms. is dynamic in that it changes or evolves itself over clip. mutating the interior workings and functionality of the plan. The combination and routings of internal constituents are non defined but continually changed. These alterations are continually guided by a fittingness map stipulating the end. In the instance of bring forthing music or art. the fittingness is frequently user defined as antecedently noted ; there is no expression that can generalize art. This technique is normally used and has been found more successful in imitating the humanistic traits found in music.
2. 3 Familial Scheduling
Familial Programming ( GP ) is a subdivision of evolutionary scheduling that utilises the automatic development of computational constructions ( such as mathematical equations. computing machine plans. digital circuits. etc. ) [ 1 ] to work out jobs. GP can be represented by a figure of nodes or cells connected together in concatenation like constructions. Data is passed through these nodes where by each node contains an operation appropriate for the information nowadays. The package varies the routing of informations between these nodes – i. e. the order in which they are performed on informations – before comparing the ensuing informations frequently via user feedback. This automatic fluctuation is referred to as mutant. The undermentioned diagrams ( figure 5 and 6 ) give an illustration of this procedure:
Figure 5: First combination:
Figure 6: Second “mutated” combination
The fittingness of each nodal combination or “chromosome” must so be deduced. The end products of chromosomes 1 and 2 can so be compared to infer the fittest solution where by the fittest theoretical account is selected and passed down to the following coevals. Through this comparing influential nodes may be defined and kept. while less of import nodes can be farther varied to optimize the plans map. This is frequently achieved by “breeding” the chromosomes. uniting constituents from each parent giving birth to a new combination. While merely two combinations are ab initio proposed. in many familial plans the population of chromosomes would be much greater presenting a wider assortment of solutions and perchance even a faster development rate. Parameters like these will straight impact the success of the plan in how expeditiously it solves the given job. However. it should be noted that for different jobs different rates are optimum. This mutant and comparing procedure is repeated continuously. hence the evolutionary facet of this package [ 2 ] .
A common illustration of the use of GP is the going salesman job portraying a salesman who must go between legion colonies in order to sell his ware. The job in this is happening the shortest way for the salesman while guaranting all colonies are visited one time. There is no general expression that can work out this job and therefore a test and mistake experimental attack must be taken. GP is utile at this point as it itself uses a test and mistake attack in the routing of informations between operations. The operations could be defined as paths between colonies and the routing between them straight represents the order of paths taken by the salesman. The feedback in this job is besides easy defined as. unlike music and art. all we require is the smallest possible value. Therefore by continually running this plan and comparing the consequences. when a lower limit is reached we have a solution [ 1 ] [ 3 ] . The subdivision of Genetic scheduling that will be used in this experiment will be Cartesian familial scheduling ( CGP ) . a C based plan where by the maps used are represented by an array of Numberss. CGP is peculiarly utile. as it has been designed with a black box outlook.
To clear up. a CGP plan will take an arbitrary figure of inputs and green goods and arbitrary figure of end products. So long as the system has been altered to manage the desired informations type and appropriate maps have been selected. the procedure of CGP does non necessitate any version from job to job hence its universally applicable nature and choice for this experiment. For illustration consider CGP applied to an arithmetical context whereby the information type would merely be Numberss and the operations would include mathematical maps such as add-on. generation and sinusoidal operators. CGP besides allows the quality or rate of development to be customised by specifying parametric quantities in a. par file. This allows the change of population sizes. mutant rates. the scope in which single nodes can pass on with each other ; degrees back and the operators included. Figure 7:
CGPs intelligence is in its flexibleness. The user or coder gives CGP all the needed resources and ushers it without straight work outing the job. With minimum restraints it can frequently happen originative and even surprising solutions whose method is merely defined by what we see at the input and the end product. how the plan achieves this map is of no concern. Its evolutionary nature besides means that it may ne’er come up with the same solution twice. exposing about human behavior. For these grounds it has even been successfully used in the creative activity of art. Examples of this art can be seen below in figure 8 developed by Laurence Adam Zendric Ashmore [ 5 ]
More of these illustrations can be found at: hypertext transfer protocol: //www. emoware. org/evolutionary_art. asp
The art created. although abstract. seldom followed the same evolutionary forms and most significantly of all was gratifying for users to see. For this ground it is speculated that this about human personality will impart itself to the neutering of computing machine generated music paths in the hope that it might add a human and natural feel or channel. The manner in which this feel is added to an bing membranophone path is non defined nor is it known what we are taking for. it merely utilises the user’s ability to specify what they like or dislike to direct the development of this composing.
2. 4 Midi
MIDI is a musical interfacing linguistic communication that specifies the musical content of a existent clip or antecedently recorded composing. Musical content refers to the strictly musical thoughts as opposed to the timber of the sounds used to convey these thoughts. This can be summarised by the parametric quantities pitch. speed. length and arrangement of these notes relative to each other. A cosmopolitan illustration of this might be musical notation on paper where by multiple instrumentalists across the Earth are executing the same music but with their ain instruments and sounds. Musical notation ( figure 9 ) does non incorporate the existent sound merely the thought of it.
MIDI ( figure 10 ) is precisely the same nevertheless is much more cosmopolitan in that it can pass on non merely with instrumentalists but with computing machines. synthesists and membranophone machines besides.
The ground for this separation of musical and timbral qualities is strictly for convenience. leting the cosmopolitan communicating of modern twenty-four hours musical devices while optimizing the velocity and quality at which they communicate. In other words ; modern twenty-four hours musical instruments have been modularised. dividing the duties of making the music and making the sound the music is played with into separate entities. Implementing this package with the MIDI interface automatically turns a strictly experimental process into a possible musical instrument that may be used by existent instrumentalists and faculty members likewise. The MIDI library being used will be the PortMIDI library due to its unfastened beginning handiness and popularity within the industry. PortMIDI is besides written in C. a linguistic communication wholly compatible with Numberss of which CGP can easy bring forth and interface with [ 6 ] .
3. The Experiment
3. 1 Proposition and Aims
The proposition of this experiment is to use natural choice to germinate an bing membranophone tracks’ public presentation in order to accomplish a more natural. organic and bang-up composing. Cartesian familial scheduling will use a dynamic system that can be used to bring forth a set of Numberss whose values will command a set of parametric quantities in a membranophone machine. These parametric quantities have been deduced as channel heightening therefore the information from CGP will hold a direct consequence on the membranophone paths groove. The development of these Numberss will be automatically evolved to prove an array of cases of our membranophone path and will be guided by a fittingness map. a user who will specify what they “like” and what they “dislike” . Like and dislike will be defined by whatever production sounds more natural. human and groovy to the user. This procedure will be repeated over a series of coevalss. Through this choice. fit chromosomes will be defined and evolved. The undermentioned diagram ( figure 11 ) displays the chief construction of this plan.
The chief aim is to germinate what might ab initio be a robotic and unpleasant sounding rhythmic composing into 1 that exhibits natural inclinations and fluctuations i. e. shows a channel of which until now have merely been possible by utilizing existent life instrumentalists or meticulously redacting membranophone paths in audio redaction package. Although this is possible by utilizing existent instrumentalists to command electronic instruments. ideally this sweetening would non trust on a existent instrumentalist and could be applied with a computing machine. If this is found successful the ultimate end is to implement this channel development in a existent clip scenario making what could be considered as an intelligent attach toing midi membranophone machine. This engine would play boundlessly until told to halt by a user and would invariably germinate guided merely by the user specified fittingness of the composings produced. Use of the Midi sphere will let user specified samples and customisation of the public presentation. This ability would non merely aid the composing and production of music but could besides profit instrumentalists in public presentation. some of which might even excite new musical thoughts.
3. 2 Cartesian Genetic Programming and MIDI
In this experiment CGP will be used to bring forth a series of drifting point Numberss between 0 and 1 that will specify the change of the channel heightening parametric quantities in an bing membranophone path. The membranophone path will be antecedently defined in a MIDI plan and as follows ( figure 12 ) :
The channel heightening parametric quantities are as follows:
1. Note beginning
Offset refers to the sum every 2nd semi quaver or 16th note is delayed. This hold is typical of “swing” traits found in many genres of music. This beginning will change non merely from genre to genre or from musician to musician but is besides dynamic within a existent clip public presentation or composing as no instrumentalist can stay wholly in clip. The sum of beginning applied will be defined as a per centum. a float figure from 0 to 1.
2. Note speed
Speed refers to the force at which a note is played. This should non be confused with volume. although speed will frequently correlate straight with the volume of a sound it besides effects the onslaught and timber of a sound. This division between volume and speed should be made clear as in modern electronic instruments the volume can be altered independently without impacting the timber. Velocity will once more be defined as a per centum of the full available speed as a float figure from 0 to 1.
3. Note length
Each note is assigned a topographic point within the saloon of music played. For illustration hi-hats are played every semi quaver or 16th note. Note length refers to the per centum of this assigned country that the note is really played. This per centum will be defined as a float figure between 0 and 1.
The beginning will be defined for a whole saloon while note speed and note length will be defined for each sixteenth note within a individual hook separately. This pick has been made due to the insistent nature of rhythmic composings in for illustration wind. electronic or popular membranophone composings. Thus the MIDI channel heightening parametric quantities required from CGP can be summarised as follows:
•1 parametric quantity which specifies the beginning
•4 parametric quantities which specify speed of each hello chapeau in a hook round
•1 parametric quantity which specifies trap membranophone speed
•1 parametric quantity which specifies kick membranophone speed
•4 parametric quantities which specify note length of each hello chapeau in a hook round
•1 parametric quantity which specifies trap drum note length
•1 parametric quantity which specifies kick drum note length
All of which can be summarised into 13 floating-point Numberss between 0 and 1.
The Numberss provided by CGP must non merely be within an appropriate scope in order to interface successfully with our MIDI membranophone machine but must besides mutate suitably. This means that the parametric quantities that define the quality and velocity of development of the CGP plan must be optimised for this peculiar job. There is no available information on this peculiar job neither is there a expression that may be used to reason this. so an experimental attack will be taken. To guarantee compatibility both MIDI and CGP plans will be written in C scheduling linguistic communication. This will let both constituents to be contained in close propinquity while retaining a convenient application medium.
3. 3 General Approach and Plan
To guarantee a successful experiment and completion before the deadline thorough planning is necessary [ 20 ] . To get down with. the undertaking at manus must be broken down and defined to let review and executing of the undertaking attack.
This will do foreseen jobs seeable understating jobs and holds during the experimentation procedure while leting satisfactory clip for research and all background reading required.
The undertaking can be broken down into the undermentioned undertakings:
•Gain acquaintance with C programming linguistic communication
•Gain acquaintance with CGP
•Gain acquaintance with PortMIDI
•Develop CGP for required parametric quantities
•Develop simple membranophone machine reliant on proposed parametric quantities
•Interface Drum Machine with CGP
•Optimise CGPs functionality
•Test plan on users
The administration of these undertakings is every bit of import to guarantee completion before the deadline. The undermentioned GANT chart is proposed ( figure 15 ) :
As can be drawn from the GANT chart ( figure 15 ) much has been achieved already. Individual constituents have been constructed and the coaction of both MIDI membranophone machine and CGP has already begun. Once this has been achieved it will be necessary to optimise the functionality of CGP before proving the merchandise on users before finishing the concluding write up.
[ 1 ] Miller J. F. . Thomson P. Cartesian Genetic Programming. Proceedings of the 3rd European Conference on Genetic Programming. Springer LNCS 1802 ( 2000 ) 121-132.
[ 2 ] Koza. John R. “Genetic scheduling as a agency for programming computing machines by natural choice. ” Statistics and Calculating 4 ( 2 ) ( 1994 ) : 87-112.
[ 3 ] Larranaga. Pedro. et Al. “Genetic algorithms for the going salesman job: A reappraisal of representations and operators. ” Artificial Intelligence Review 13 ( 2 ) ( 1999 ) : 129-170.
[ 4 ] David. B. Fogel. “Applying evolutionary scheduling to selected going salesman jobs. ” Cybernetics and systems 24 ( 1 ) ( 1993 ) : 27-36.
[ 5 ] Ashmore. Laurence. and J. Miller. “Evolutionary Art with Cartesian Genetic Programming. ” Technical Online Report ( 2004 ) .
[ 6 ] Wikipedia ( 2013 ) MIDI. [ on-line ] Site: hypertext transfer protocol: //en. wikipedia. org/wiki/MIDI [ Accessed: 7 Feb 2013 ] .
[ 7 ] Harding. Simon L. . Julian F. Miller. and Wolfgang Banzhaf. “Self-modifying Cartesian familial scheduling. ” Cartesian Genetic Programming ( 2011 ) : 101-124.
[ 8 ] Costelloe. Dan. and Conor Ryan. “Genetic scheduling for subjective fittingness map designation. ” Familial Programming ( 2004 ) : 259-268.
[ 9 ] Senaratna. Nuwan I. “AUTOMATIC MUSIC COMPOSITION USING A TREE OF INTERACTING EMERGENT SYSTEMS. ” ( 2006 ) .
[ 10 ] Tokui. Nao. and Hitoshi Iba. “Music composing with synergistic evolutionary calculation. ” Proceedings of the 3rd international conference on productive art. Vol. 17. No. 2. 2000.
[ 11 ] Geneffects. MuSing. Beat Maker Drum Software. Beat Machine Site: hypertext transfer protocol: //www. geneffects. com/musing/
[ 12 ] Martin Dostal. The Familial Drummer. rhythmic accompaniment Site: hypertext transfer protocol: //dostal. inf. upol. cz/evm. hypertext markup language
[ 13 ] Georgia Tech. Haile. Robotic Drummer
Site: hypertext transfer protocol: //www. gtcmt. gatech. edu/research-projects/haile
[ 14 ] Johanson. Brad. and Riccardo Poli. “GP-music: An synergistic familial scheduling system for music coevals with machine-controlled fittingness raters. ”Genetic Programing 1998: Proceedings of the Third Annual Conference. 1998.
[ 15 ] John A. Maurer. A history of Algorithmic Composition ( 1999 ) Site: hypertext transfer protocol: //ccrma. Stanford. edu/~blackrse/algorithm. hypertext markup language
[ 16 ] Friberg. Anders. and Andreas Sundstrom. “Swing ratios and ensemble timing in wind public presentation: Evidence for a common rhythmic form. ” Music Perception19. 3 ( 2002 ) : 333-349.
[ 17 ] Wikipedia ( 2013 ) . Groove ( music ) [ on-line ] Site: hypertext transfer protocol: //en. wikipedia. org/wiki/Groove_ ( music ) [ Accessed: 1 Feb 2013 ] .
[ 18 ] Madison. Guy. “Different sorts of channel in wind and dance music as indicated by listeners’ evaluations. ” Proceedings of the VII International Symposium on Systematic and Comparative Musicology and III International Conference on Cognitive Musicology. University of Jyvaskyla . 2001.
[ 19 ] Miller J. F. . Tempesti G. “Bio-inspired computer science and Introduction to Bio-inspired Computing” Site: hypertext transfer protocol: //www. elec. York. Ac. uk/internal_web/meng/yr4/modules/Bio_Inspired_Comp/bic. hypertext markup language [ Accessed: 10 Jan 2013 ]
[ 20 ] A. Hunt. “Your Research Undertaking: How to Pull off It” . New York: Routledge. 2005.
Miller J. F. . Thomson P. “Cartesian Genetic Programming” . Proceedings of the 3rd European Conference on Genetic Programming. Springer LNCS 1802 ( 2000 ) 121-132.
Mitchell Melanie. “An Introduction To Genetic Algorithms” . 1st erectile dysfunction. MIT imperativeness ( 1998 ) .
Butler. Mark Jonathan. “Unlocking the channel: beat. metre. and musical design in electronic dance music” . Indiana University Press. ( 2006 ) .
A. Hunt. “Your Research Undertaking: How to Pull off It” . New York: Routledge. 2005.