The Representation of Rhythmic Structures in µo

Similar documents
MELODIC AND RHYTHMIC EMBELLISHMENT IN TWO VOICE COMPOSITION. Chapter 10

COLLEGE OF PIPING AND DRUMMING BASS AND TENOR DRUMMING LEVEL ONE / PRELIMINARY. Syllabus and Resources. The Royal New Zealand Pipe Bands Association

RHYTHM. Simple Meters; The Beat and Its Division into Two Parts

Chapter 2: Beat, Meter and Rhythm: Simple Meters

COLLEGE OF PIPING AND DRUMMING SNARE DRUMMING LEVEL ONE / PRELIMINARY. Syllabus and Resources. The Royal New Zealand Pipe Bands Association

The Practice Room. Learn to Sight Sing. Level 3. Rhythmic Reading Sight Singing Two Part Reading. 60 Examples

drumlearn ebooks Fast Groove Builder by Karl Price

Polymetric Rhythmic Feel for a Cognitive Drum Computer

OLCHS Rhythm Guide. Time and Meter. Time Signature. Measures and barlines

DDD Music Analysis, Group Dances, Takai--Kondaliya

AUSTRALIAN PIPE BAND COLLEGE PRELIMINARY DRUMMING SYLLABUS Written by Greg Bassani B.Ed., Dip.T., B.Tech., APBA Principal of Drumming, 2004.

1 Overview. 1.1 Nominal Project Requirements

MUSIC IN TIME. Simple Meters


Assessment Schedule 2016 Music: Demonstrate knowledge of conventions in a range of music scores (91276)

Lets go through the chart together step by step looking at each bit and understanding what the Chart is asking us to do.

Automatic Labelling of tabla signals

MUSIC THEORY & MIDI Notation Software

Elements of Music David Scoggin OLLI Understanding Jazz Fall 2016

AP Music Theory Summer Assignment

Keys: identifying 'DO' Letter names can be determined using "Face" or "AceG"

I) Blake - Introduction. For example, consider the following beat.

y POWER USER MUSIC PRODUCTION and PERFORMANCE With the MOTIF ES Mastering the Sample SLICE function

Francesco Villa. Playing Rhythm. Advanced rhythmics for all instruments

Essential Drum Skills Course Level 1 Extension Activity Workbook

Piano Syllabus. London College of Music Examinations

Curriculum Mapping Piano and Electronic Keyboard (L) Semester class (18 weeks)

From RTM-notation to ENP-score-notation

Let s look at some exercises to help us develop this dynamic independence using some of the components we have been working on in chapters 1 and 2.

FILL. BOOK Contents. Preface Contents... 4

Davis Senior High School Symphonic Band Audition Information

Page 8 Lesson Plan Exercises Score Pages 81 94

The Keyboard. the pitch of a note a half step. Flats lower the pitch of a note half of a step. means HIGHER means LOWER

Mastering the Language of Jazz

Key Signatures. Meters. Tempo. Clefs and Transpositions. Position Work for Strings. Divisi. Repeats

MAKING (COMPOSING) Throughout this term, you have been developing music writing/creating skills, using rhythm. You are to create an 8-bar melody.

Assessment Schedule 2017 Music: Demonstrate knowledge of conventions in a range of music scores (91276)

Choir Scope and Sequence Grade 6-12

Northeast High School AP Music Theory Summer Work Answer Sheet

Page 17 Lesson Plan Exercises Score Pages

Beat - The underlying, evenly spaced pulse providing a framework for rhythm.

a start time signature, an end time signature, a start divisions value, an end divisions value, a start beat, an end beat.

This is why when you come close to dance music being played, the first thing that you hear is the boom-boom-boom of the kick drum.

A QUANTIFICATION OF THE RHYTHMIC QUALITIES OF SALIENCE AND KINESIS

8th Grade Band 8/25. *Warm Ups and Beyond Page 18 Concert Bb Major Scale and Arpeggio 1 & 2 Thirds Chorale

Rhythmic Notation Unit Plan

Music Representations

Smooth Rhythms as Probes of Entrainment. Music Perception 10 (1993): ABSTRACT

2 2. Melody description The MPEG-7 standard distinguishes three types of attributes related to melody: the fundamental frequency LLD associated to a t

Florida Performing Fine Arts Assessment Item Specifications for Benchmarks in Course: Chorus 2

Chapter 40: MIDI Tool

metal Fatigue Performance notes

Assessment: To perform STOMP project -Performances Video of Performance to go onto T drive To reflect & evaluate the class percussion performance

1. Generally, rhythm refers to the way music moves in time. It is the aspect of music having to

The Practice Room. Learn to Sight Sing. Level 2. Rhythmic Reading Sight Singing Two Part Reading. 60 Examples

Preview Only. Legal Use Requires Purchase. Poultry In Motion JAZZ KRIS BERG INSTRUMENTATION

Student Performance Q&A: 2001 AP Music Theory Free-Response Questions

Mastering the Language of Jazz

In this project you will learn how to code a live music performance, that you can add to and edit without having to stop the music!

PASADENA INDEPENDENT SCHOOL DISTRICT Fine Arts Teaching Strategies Band - Grade Six

Rhythmic Dissonance: Introduction

Grade 5 General Music

Mastering the Language of Jazz

Written Piano Music and Rhythm

Chapter Five: The Elements of Music

Preface. Ken Davies March 20, 2002 Gautier, Mississippi iii

54. The Beatles A Day in the Life (for Unit 3: Developing Musical Understanding) Background information and performance circumstances

Computer Coordination With Popular Music: A New Research Agenda 1

AP Music Theory 2013 Scoring Guidelines

Resources. Composition as a Vehicle for Learning Music

MMEA Jazz Guitar, Bass, Piano, Vibe Solo/Comp All-

Greeley-Evans School District 6 Year One Beginning Orchestra Curriculum Guide Unit: Instrument Care/Assembly


by CARMINE APPICE Photo by Charles Stewart

Texas Bandmasters Association 2013 Convention/Clinic

Coming Soon! New Latin Styles. by Marc Dicciani

AP Music Theory. Sample Student Responses and Scoring Commentary. Inside: Free Response Question 1. Scoring Guideline.

Variant Timekeeping Patterns and Their Effects in Jazz Drumming

PRESCOTT UNIFIED SCHOOL DISTRICT District Instructional Guide January 2016

Bohunt Worthing Grade Descriptors Subject: Music

Phase I CURRICULUM MAP. Course/ Subject: ELEMENTARY GENERAL/VOCAL MUSIC Grade: 4 Teacher: ELEMENTARY VOCAL MUSIC TEACHER

Pipe Band Drumming SCQF Level 3 (PDQB Level 1 Snare)

8th Grade Band 8/11. *Warm Ups and Beyond Page 18 Concert Bb Major Scale and Arpeggio 1 & 2 Major Chords Thirds Chromatic Pivot Scale

Rhythmic Studies for All Instruments Volume 1. by Tony Moreno. Muse Eek Publishing Company New York, NY

By Jack Bennett Icanplaydrums.com DVD 12 JAZZ BASICS

Measuring a Measure: Absolute Time as a Factor in Meter Classification for Pop/Rock Music

THE ELEMENTS OF MUSIC

Reading Music: Common Notation. By: Catherine Schmidt-Jones

Music Curriculum Map Year 5

Music. Last Updated: May 28, 2015, 11:49 am NORTH CAROLINA ESSENTIAL STANDARDS

WCBPA-Washington Classroom-Based Performance Assessment A Component of the Washington State Assessment System The Arts

Florida Performing Fine Arts Assessment Item Specifications for Benchmarks in Course: M/J Chorus 3

Place in the Medley After Takai itself is played, Nyaɣboli can come at any place in the sequence. At Tufts, we usually place it second.

Page 4 Lesson Plan Exercises Score Pages 50 63

Preview Only. Legal Use Requires Purchase. Moondance JAZZ. Words and Music by VAN MORRISON Arranged by VICTOR LÓPEZ INSTRUMENTATION

5-Note Phrases and Rhythmic Tension 2017, Marc Dicciani (written for Modern Drummer Magazine)

Primo Theory. Level 7 Revised Edition. by Robert Centeno

AP Music Theory. Scoring Guidelines

General Music Objectives by Grade

Assessment Schedule 2013 Making Music: Integrate aural skills into written representation (91420)

Transcription:

The Representation of Rhythmic Structures in µo Stéphane Rollandin hepta@zogotounga.net draft - 14 November 2013 Abstract We discuss the metaphors used in µo to represent rhythm in its various aspects. While rhythm is an implicit part of any MusicalCollection where it is defined by the notes onsets, it can be made explicit in specific classes, namely RhythmicCell and RhythmicCanvas. 'c,e!,g&.' kphrase 'c,ed48,gd144' Notation In the following, the printed evaluation of a Smalltalk expression is represented following a symbol. When a graphic representation is available (a screenshot of a µo editor in most cases), it is displayed after a. All code is written in Consolas font. 'c,e!,g&.' kphrase asrhythmiccell R(T0 T0.5 T0.75)D1.5 1. MusicalCollection and RhythmicCell In µo every subclass of the MusicalCollection abstract class is an ordered set of note-like musical elements; such a subclass is MusicalPhrase, a phrase of MusicalNotes, which usage is discussed at length in another paper 1. In a musical collection the rhythm of notes is fully accessible by querying for their onsets and durations. When working on the different rhythmic aspects of a musical composition however, it is very convenient to use representations of rhythm dissociated from any motivic instanciation, in other words views of rhythm by itself, defined purely as a structuration of time. In µo the fundamental pulsating aspect of musical time is reified in class RhythmicCell, while more metrically elaborated rhythmic structures can be represented by an instance of class RhythmicCanvas, itself composed of one or more cells. We can instanciate a RhythmicCell from any MusicalCollection by sending it the message #asrhythmiccell; what we will obtain is an object basically representing the notes onsets and some information about their amplitudes. 1 See "The String Representation of Musical Phrases in µo". 2. Beat strengths RhythmicCell is itself a musical collection, whose notes are the cell beats. Four different beat accents are defined: strong, weak, strongest and void. They are related to notes amplitude, although they can be used arbitrarily. A downbeat is strongest. On-beats are strong, off-beats are weak. Void beats are void; while there is no defined meaning for a void beat in western music, in northern classical indian music it would be a khali 2. When obtaining a RhythmicCell from a MusicalCollection the notes amplitudes will translate into the corresponding beats accents: - an amplitude of 0 gives a void beat. - an amplitude below 0.5 gives a weak beat. - an amplitude above or equal to 0.5 gives a strong beat. - an amplitude of 1 gives a strongest beat. In the string representation of a cell, a void beat is marked as V, a weak beat as t, a strong beat as T and a strongest beat as S: 'cv1.0,ev0.3!,gv0.5&.,cv0!!' kphrase asrhythmiccell R(S0 t0.5 T0.75 v1.5)d1.69 2 http://chandrakantha.com/articles/indian_music/khali.html 1

A beat by itself is an instance of class Tick; any musical note can be converted into a beat: 'cv0.7' knote astick accent #strong 3. RhythmicCell as a time signature A RhythmicCell is actually the reification of the musical concept of time signature. A specific format allows the definition of a rhythmic cell via an Array specification very close to the standard way to write a time signature. The array has the form #(b v) for a b/v signature, where v is the beat note value and b the number of beats; b can itself be decomposed into an array (b1 b2...) having the actual b decomposed in b1+b2+... for an additive meter where each segment starts with a strong beat. The first beat is always a downbeat, except if b is negative in which case it is void; negative values are also allowed in the segmented specification. The note value v is an integer, 4 for a quarter note (crotchet), 8 for an eighth note (quaver), etc. Sending #sig to such an array returns the corresponding rhythmic cell. For example the usual 4/4 signature is #((2 2) 4) sig R(S0 t0.5 T1.0 t1.5)d2.0 Because a time signature is a first-class musical element in µo (a subclass of MusicalCollection), it has an actual extension in time; consequently its tempo is welldefined and can be changed by the regular scaling operators. See below for more about tempo. More surprisingly maybe, a time signature also has a starting time. This makes sense in the rhythmic canvas framework which is discussed below, where the starting time specifies when a time signature is to be applied and replace the previous one. 4. Tempo A RhythmicCell knows about its tempo by maintaining its own note values. Sending it #quarter or #crotchet returns the length (in seconds) of a quarter note for that cell. RhythmicCell new quarter 0.5 The cell also knows what note value is considered to define the beat: #(4 4) sig beat 0.5 #(4 4) sig beatvalue #quarter #(4 8) sig beat 0.25 #(4 8) sig beatvalue #eighth The cell tempo can be changed by any operation scaling a MusicalElement or more specifically by directly setting the BPM (beats per minute) value: cell := #(4 4) sig. cell bpm cell bpm: 200 cell beat 0.3 cell beatvalue #quarter cell quarter 0.3 cell bpm 200 where the upper 4 is written in the additive form (2 2) instead of a plain 4 so that the third beat is made strong. 2

5. RhythmicCell as a motivic rhythm A RhythmicCell can represent the rhythm of a musical motif. In that case each note defines a beat, each rest define a void beat. #(2 2) rhythm R(S0 T1.0)D2.0 Sending #rhythm to a musical phrase 3 rhythm: returns its 'c,e!,r,g&&' kphrase Here is how a random phrase with a given rhythm could be built: mode := Mode harmonicminor. cell := #(4 8-8 2) rhythm bpm: 140. phrase := cell layout: [mode noteat: 7 atrandom]. 'c,e!,r,g&&' kphrase rhythm R(S0 T0.5 v0.75 T1.0)D2.0 6. RhythmicCanvas A RhythmicCanvas is composed of one or several RhythmicCells. At any time the effective time signature is set by the latest cell. The time before the first cell in the canvas is structured by that first cell. It is then possible to give this rhythm to another phrase: 'c,e!,r,g&&' kphrase rhythm layout: {'a' knote. 'f' knote. 'd' knote} A simple canvas based on one cell can be obtained by sending #ascanvas to that cell. For example c44 := #((2 2) 4) sig. c38 := #(3 8) sig. canvas := c44 ascanvas (c38 delay: 4) A rhythm can be defined from scratch using an array format similar to the one used for time signatures and rhythmic canvases (see above). Here the array simply contains the list of note values making up the rhythm, a negative value marking a void beat. #(4 8-8 2) rhythm R(S0 T0.5 v0.75 T1.0)D2.0 The above example canvas, because it is simple, could be defined directly in a format similar to time signatures: #(2 ((2 2) 4) 1 (3 8)) sig which reads: "take two measures of 4/4 then turn to 3/8". If we zoom out the editor view above we can better see how the canvas structures time: 3 Actually, to any MusicalCollection subclasses instance 3

Before time 4 seconds, we are in 4/4. After that time, we are in 3/8. The fact that there are actually two adjacent 3/8 cells in the canvas is an artefact from the way RhythmicCanvas implements the MusicalElement protocol; this will not be discussed in this paper 4. Note that the cells making up a canvas can be at arbitrary positions. In the above example if time 3.16 had been choosen instead of 4 we would have had the canvas: in the canvas; #downbeats is a place referencing the first beat of all measures; #backbeats is a place referencing all beats right after a on-beat; etc. Many more places are defined: canvas displayplaces where the second 4/4 cell is interrupted. The canvas cells can also have arbitrary tempos: with a 104 bpm tempo for the 3/8 cell, the canvas looks like: 6.1 Rhythmic canvas places It is easy to get access to the ticks of a rhythmic canvas by using "places". Let's consider the following canvas: canvas := #(2 ((2 2) 4) 3 (3 8)) sig Many ways to iterate over places are implemented. The more generally useful are provided by methods #on:mix:, #on:scaleandmix: and #on:place:. We detail their usages in the following. 1) canvas on: someplace mix: amusicalelement copies amusicalelement for every instance of someplace in canvas: canvas on: #offbeats mix: 'c!' knote It is made of two measures in 4/4 followed by three measures in 3/8. Places are symbolic locations within the canvas. For example #measures is a place referencing all measures 4 In short: because it is a MusicalElement, a rhythmic canvas must have a starting time and a settable duration, even though it is in effect infinite in both time directions. For one-cell canvases, starting time and duration are taken from the cell; for manycells canvases, the starting time comes from the first cell, the duration is the starting time of the last cell. 2) canvas on: someplace scaleandmix: amusicalelement copies amusicalelement for every instance of someplace in canvas: and scales the copy so that it fits exactly within the corresponding beat. 4

canvas on: #offbeats scaleandmix: 'c!' knote Here is how one could play a major chord on each downbeat in canvas, and a dimished chord on each up beat: ph1 := canvas on: #downbeats scaleandmix: 'c:maj' kphrase. ph2 := canvas on: #upbeats scaleandmix: 'c:dim' kphrase. ph1 ph2 3) canvas on: someplace place: something is used to create a BolPhrase. A BolPhrase is a MusicalCollection of consecutive arbitrary objects, each one wrapped into a BolWord. Originally it has been implemented to represent actual bols, which are syllables used by tabla drummers in Indian classical music, but it has many more usages; basically it allows to structure arbitrary information in a time-wise manner. We could for example define a chord progression this way: canvas on: #downbeats place: #(I IV V) Discussing further details about bol phrases in this paper would lead us astray from its topic, so we will stop here. In the above 1) and 2) syntaxes, amusicalelement can also be a block, or a collection. If a block, it should return a MusicalElement and it will be evaluated for each occurence of the place: mode := Mode harmonicminor. canvas on: #downbeats scaleandmix: [mode noteat: 7 atrandom] 6.2 Grooves Groove subclasses implement another way to populate specific canvas places; they define full-fledge drum patterns. For example HalfTimeShuffle: HalfTimeShuffle busy on: #(4 ((2 2) 4)) sig If a collection, its elements are used in turn to populate the corresponding beats, until either the end of the collection or the end time of the canvas is reached: canvas on: #downbeats scaleandmix: {'c,e' kphrase. 'a' knote. 'c:min' kphrase} The Groove subclass GrooveOnDemand implements a domain-specific language allowing a very compact representation of arbitrary grooves: groove := GrooveOnDemand with: #((onbeats addlouder: bass) (downbeats erase: bass) ((beats TDb2) add: ridecymbal) (downbeats erase: ridecymbal) (downbeats add: hihat) (TDb1 addghost: snare) (TDb2 onmsieve: 2 2 add: bass) (onbeats atcounts: 2 add: bass) (TDb1 atcounts: 3 erase: snare)). 5

groove on: #(4 ((2 2) 4)) sig When the musical elements have to be scaled to the beats lengths, one can use #interpretin:scaledwith: 'ohxhohxhohx.h' interpretin: #(1 (4 4) 3 (3 8)) sig scaledwith: ({$o -> 'ao2' knote. $h -> 'a' knote. $x -> 'c' knote} as: Dictionary) 6.3 String representation of rhythmic patterns A common way to represent simply a rhythmic pattern is to write it down as a string such as 'o o_o o_o o_', where a _ would stand for a rest and a o for a drum stroke. It is easy to use this kind of notation in muo. We just have to provide the string with a dictionary associating each character with a musical element, and a base rhythm. Any undefined character will be interpreted as a rest: 'o o_o o_o o_' interpretin: #(4 4) sig with: ({$o -> #bassdrum1 asstroke} as: Dictionary) 7. Metered musical elements Any MusicalElement can be associated with a rhythmic canvas. The resulting object is a CompositeMix of the element and the canvas 5.... to be continued #withmeter: #withmeterlayout: 'o...x.o...x.o...x.' interpretin: #(4 4) sig with: ({$o -> #bassdrum1 asstroke. $x -> #snaredrum1 asstroke} as: Dictionary) 5 See "Usages of CompositeMix in µo" 6