Procedural Sequencing 1 Göran Sandström
Total Page:16
File Type:pdf, Size:1020Kb
Procedural Sequencing 1 Göran Sandström Bachelor Thesis Spring 2013 School of Health and Society Department Design and Computer Science Procedural Sequencing A New Form of Procedural Music Creation Author: Göran Sandström Instructor: Anders-Petter Andersson Examiner: Daniel Einarsson Procedural Sequencing 2 Göran Sandström School of Health and Society Department Design and Computer Science Kristianstad University SE-291 88 Kristianstad Sweden Author, Program and Year: Göran Sandström, Interactive Sound Design, 2010 Instructor: Anders-Petter Andersson, PhD. Sc., HKr Examination: This graduation work on 15 higher education credits is a part of the requirements for a Degree of Bachelor in Computer Science Title: Procedural Sequencing Language: English Approved By: _________________________________ Daniel Einarsson Date Examiner Procedural Sequencing 3 Göran Sandström Table of Contents List of Abbreviations and Acronyms............................................................................4 List of Figures...............................................................................................................4 Abstract.........................................................................................................................5 1. Introduction.............................................................................................6 1.1 Aim and Purpose.....................................................................................................6 1.2 Method....................................................................................................................6 1.3 Text Overview.........................................................................................................7 1.4 About the Author.....................................................................................................7 2. Trackers, Live-coding environments and Procedural Music Tools....8 2.1 Chiptunes and the Early Days of Tracker Sequencers............................................8 2.1.1 The tracker evolved - FastTracker 2 and its likes...........................................9 2.1.2 Jeskola Buzz....................................................................................................9 2.1.3 Renoise - The modern tracker.........................................................................9 2.2 The Live-coding Environment................................................................................9 2.2.1 SuperCollider................................................................................................10 2.3 Modular Tools for Procedural Music....................................................................10 2.3.1 Cycling '74 Max............................................................................................10 2.3.2 Pure Data.......................................................................................................10 2.3.3 Native Instruments Reaktor...........................................................................11 2.4 Procedural Sequencers..........................................................................................11 2.4.1 Nodal.............................................................................................................11 2.4.2 IanniX............................................................................................................11 2.4.3 Ableton Live & Max4Live............................................................................12 2.4.4 Limit Cycle EP: Procedural Music With Max4Live.....................................12 2.5 Summary...............................................................................................................12 3. Procedural Sequencing – Scriptracker................................................13 3.1 Design Feature Requirements and Initial Prototypes............................................13 3.2 Program Architecture............................................................................................14 3.3 User Interface........................................................................................................14 3.3.1 An unexpected discovery: Single column polyphony...................................15 3.3 Scripting System Overview .................................................................................15 3.4 Basic Scripting......................................................................................................15 3.5 Specialized Functions...........................................................................................15 3.5.1 goto(int destination)......................................................................................15 3.5.2 jump(int steps)...............................................................................................16 3.5.3 noergaard(int index)......................................................................................16 3.6 Summary...............................................................................................................16 4. Results.....................................................................................................17 4.1 Survey Results (or the lack of)..............................................................................17 4.2 Personal Observations...........................................................................................17 4.3 Limitations of Personal Observations...................................................................17 4.4 Example of Procedural Sequencing .....................................................................18 4.5 Summary...............................................................................................................18 5. Conclusions and Future Work.............................................................21 5.1 Recommendations for Future Work......................................................................21 6. References..............................................................................................22 Procedural Sequencing 4 Göran Sandström List of Abbreviations and Acronyms DAW – Digital Audio Workstation MIDI – Musical Instrument Digital Interface MMORPG – Massive Multiplayer Online Role Playing Game OSC – Open Sound Control UGEN – Unit Generator, a form of audio processing block. List of Figures Figure 2.1: Ultimate Soundtracker....................................................................................8 Figure 2.2: A Max "patch"...............................................................................................10 Figure 2.3: Bilinear Integrator in Reaktor Core...............................................................11 Figure 2.4: A piece in Nodal............................................................................................11 Figure 3.1: Early Piano-Roll Based Mockup...................................................................13 Figure 3.2: Sequence view...............................................................................................14 Figure 3.3: Scripted sequence and resulting score..........................................................16 Figure 4.1: Scriptracker sequence utilizing multiple techniques.....................................18 Figure 4.2: Score generated from complex sequence......................................................19 Procedural Sequencing 5 Göran Sandström Abstract With increased availability of smartphones, game consoles and computers with capabilities of synthesizing procedural music in real time comes the challenge of realizing new tools for generative music composition for games, inter-media art and musical live performance. This work defines a new method of creating music, “procedural sequencing”, and it presents a musical software that attempts to solve some of the design challenges of bridging interactive elements and more traditional tools for music composition. The software combines aspects of live coding with tracker sequencing. Procedural Sequencing 6 Göran Sandström 1. Introduction Recently, capabilities for creating music using virtual instruments in computers, smartphones, tablets and video-game consoles have become available due to increased processing power in these devices. Computer and video games no longer need to rely on pre-recorded music and this in turn, could provide greater interaction between events and their musical response. Most established techniques for procedural music rely on algorithmic, genetic or machine-learning systems while game design studios require predictable tools that integrate easily into established workflows. For this reason, the tracking type sequencer was used as a basis for this work as numerous game engines such as Unreal[1] and Unity[2] but also audio middleware such as Fmod[3] have been or are supporting tracker-file playback and integration. Certain forms of modern games such as MMORPGs, where players inhabit large game worlds, present great difficulties for game music composers, as they are forced to compose music for thousands of hours of gameplay without it sounding repetitive when listened to for long periods of time[4]. 1.1 Aim and Purpose The aim of this project was to create a tool for the evaluation of procedural music composition using a tracker-livecoding hybrid interface. While there are pieces of software that indirectly allow for similar functionality, through the construction of a similar system by the user, there exists no previous tool for the musical sequencing