Thread started by davidlu on Tuesday, August 28, 2012.

Play Rhythm lore

The main job of the SongTrellis Play Rhythm page is to create and play a downloadable MIDI performance for a rhythm and generate two different kinds of printed rhythm notation for it, the box notation that hand drummers like to use plus a music score transcription of the rhythm's MIDI performance. As the page loads, it will display the notation for the rhythm, start the rhythm performance, and then animate the box notation by highlighting each time slice of the rhythm in the notation at the instant that it contributes to the rhythm that is performed.

You can share a rhythm with others, by creating a Play Rhythm page that demonstrates the rhythm, and then sending them the URL for that page

Towards the bottom of a Play Rhythm page underneath the rhythm's box notation and its score transcription, a URL is shown within a text field titled "Encoded URL for email and website posting", which completely specifies the rhythm that is playing. That URL can be copied into an email, web posting or Instant message so that it can be shared with others. You can also copy that rhythm URL, paste it into a text document and save the rhythm your own later use.

The Play Rhythm page is driven by a rhythm parameter, which describes the rhythm that is to be played and notated.

That rhythm parameter is supplied to the Play Rhythm service by the type-in field shown on a Play Rhythm page that's labeled "Box notation for Rhythm:" or by a rhythm= parameter value that is included as part of a Play Rhythm URL

Whenever a Play Rhythm request is submitted to SongTrellis that does not include a rhythm parameter, the Play Rhythm service invents a rhythm description for a new rhythm and plays that.

The rhythm that is invented will vary from 2 to 16 beats in length. The beats in the rhythm may be uniformly subdivided with each beat divided into either 4 or 3 subdivisions. Alternatively, the rhythm invented may have mixed subdivisions, where a random selection of the rhythm beats are subdivided into 3 equal parts and the remainder are divided into 4 equal parts.

The Play Rhythm link that's shown in the linkbar of most pages on the SongTrellis site submits a Play Rhythm URL without any parameters added. That parameterless URL is http://www.songtrellis.com/playRhythm

Whenever the Play Rhythm service receives such a parameterless URL from a web browser, it invents a new rhythm, which is displayed and animated by that web browser a few seconds later.

The performance parameters for the rhythm are shown using user alterable controls in the Play Rhythm webpage, which allow the listener to change the specification and performance parameters listed there and request a new performance of the changed rhythm. If a listener wants to play a rhythm of their own choosing, they can erase the notation of the rhythm that is currently being played, enter notation for their new rhythm and play that.

User's may alter the settings of parameters in a URL using a text editor and copy those into their web browser to produce a changed rhythm performance.

If you wish to share a rhythm that you've found with others, the Play Rhythm page will show a button that will allow you to submit your rhythm to the Rhythm Web, a compendium of publicly available rhythms accessible via the SongTrellis site.

You can ask a question about how the Play Rhythm page works or leave a comment to let me know how the page works for you. When you click on the black, circular right arrow button that appears in the upper right corner of this page, that will transfer you to the discussion page for Play Rhythm. Type your question or comment there, and I will try to respond to you quickly.

To return to this page from the Question and comment page, click on the black, circular left arrow that appears in the upper right corner of that page.

There are two modes of operation of the Play Rhythm page: Rhythm Invention and Rhythm Performance

Play Rhythm invents a new rhythm whenever it's sent a URL that doesn't include a rhythm= parameter. This is what happens when you follow the Play Rhythm link that appears in the linkbar of most SongTrellis pages.

A new rhythm is invented whenever the Play Rhythm URL is submitted without extra parameters

Example: click here to submit
http://www.songtrellis.com/playRhythm

This will request the invention of a new rhythm

The newly invented rhythm will vary from 2 to 16 beats in length.

Some of the rhythms will be subdivided uniformly, using either 4 or 3 subdivisions for each beat. Other of the rhythms invented will have mixed subdivisions of beats. Some random combination of beats will be divided by 3 or by 4 within the same rhythm.

Play Rhythm performs a specific rhythm when a playRhythm URL is sent that does include a rhythm= parameter.

Play Rhythm service will perform a rhythm, whenever the Play Rhythm URL includes a rhythm= parameter.

Example: click on link to submit
http://www.songtrellis.com/playRhythm?rhythm=1011-0101-011-0111,
which will perform a four beat rhythm, with beats 1, 2 and 4 subdivided 4 times and beat 3 subdivided 3 times

Interpretation of the first beat notation 1011

1, a hit at the start of the beat

1, a hit on the second subdivision of the beat

0, rest for the third subdivision of the beat

1, a hit for the fourth subdivision of the beat

Interpretation of the second beat notation 0101

0, a rest at the start of the beat

1, a hit on the second subdivision of the beat

0, rest for the third subdivision of the beat

1, a hit for the fourth subdivision of the beat

Interpretation of the third beat notation 010

0, a rest at the start of the beat

1, a hit on the second subdivision of the beat

0, rest for the third subdivision of the beat

Interpretation of the fourth beat notation 0111

0, a rest at the start of the beat

1, a hit on the second subdivision of the beat

1, a hit on the third subdivision of the beat

1, a hit for the fourth subdivision of the beat

URL parameters consist of a parameter name, followed by an equal sign, followed by the parameter value. A question mark separates the parameters from the first part of the URL which specifes which website service should run.

If more than one parameter is set for a URL, an ampersand character (&) is written to mark the boundary between each successive set of parameters

Other parameters that can be added to URL to control other features of the rhythm performance or presentation

A bpm parameter sets the tempo of the peformance measured in beats per minute. e.g. bpm=102 would cause a rhythm to be performed at a tempo of 102 bpm.

A fClickTrack prameter sets a flag determines whether or not the rhythm will be performed with a click track.

fClickTrack=1 instructs the service to play the rhythm with a click track. This is the default setting which will be assumed if this parameter is omitted from the Play Rhythm URL's parameter list.

fClickTrack=0 instructs the service to play the rhythm without a click track

fAnimateRhythm sets a flag which determines whether the box notation of the rhytthm will animate on its performance page or not.

fAnimateRhythm=1 instructs the service to animate the rhythm's box notation within its performance page. This is the default setting which will be assumed if this parameter is omitted from the Play Rhythm URL's parameter list.

fAnimateRhythm=0 tells the service that it should not animate the rhythm's box notation.

A pulse parameter determines what kind of note duration value will be used to mark beats within the rhythm. The pulse value will always be an integer fraction, such as 1/2, 1/4, 1/8 or 1/16.

pulse=1/4 sets the pulse duration to that of a quarter note, which will determine how beats are marked in the sheet music equivalent that is displayed for the rhythm.

The default value for a pulse= parameter is 1/4

Here's a Play Rhythm URL, which explicitly declares all of the parameter settings: http://www.songtrellis.com/playRhythm?bpm=100&fAnimateRhythm=1&fClickTrack=1&pulse=1/4&rhythm=000-101-0100-1000-111-000-1111

There is a simplest form of the Rhythm notation that a Play Rhythm page responds to. This variant of the notation is used when Play Rhythm invents a new rhythm.

The simplest form of rhythm notation that drives the Play Rhythm service consists of groups of 1 and 0 symbols (those describe how each beat of the rhythm is subdivided) that are punctuated by dash characters, which mark the beginning of a new beat in the rhythm.

Here are several rhythms notated using the simple form notation. Click on their links to watch their animations

This simplest rhythm notation will be used when Play Rhythm is asked to invent a new rhythm. All of the 1 hits in the rhythms will be performed using the same generic percussion sound. All of the 0 hits in a rhythm represent subdivisions of the rhythm that are rests, slices of time that are silent during that tick of the rhythm performance.

Your software developer, Dave Luebbert, currently lacks a theory that would allow him to write code that would be able to choose a variety of percussion sounds to orchestrate the rhythms for you in a manner that would be guaranteed to sound interesting.

In his judgement, it's better to recommend rhythms via automatic means, using only use a generic rhythm sound, that leave you free to use your own expertise or sense of experimental adventure to find rhythm orchestrations that are to your taste.

How rhythms are orchestrated? Short answer: symbols for specific percussion sounds are substituted to take the place of generic 1 hits in the simplest form of the notation

When a 1 symbol appears in a rhythm notation string, it is an instruction to play a generic percussion hit for the instant of the rhythm.

Symbols for specific percussion sounds can substitute for 1 symbols.

Play Rhythm responds to these specific percussion sound symbols:

B - bass

O - tone

This character choice graphically illustrates that the tone sound is produced by striking the rounded edge of a drum all at once using the padded row of fingers right above the palm

S - slap

H - heel

T - toe

r - rim hit

m - muffled tone

Ss - Side stick

So - Stick tone

X - bell tone

Ways to customize a Play Rhythm performance

To change the tempo of a rhythm performance: click inside of the "Performance Tempo" type-in field that appears towards the top of a Play Rhythm page, change the tempo, then click outside of the field. That will prompt the server to send a new performance of the rhythm to your browser that plays at the tempo you've set.

To turn off the click track in the rhythm performance, uncheck the "Play click track" checkbox at the top of the page.

To suppress the rhythm animation while the rhythm is played, uncheck the "Animate Rhythm" checkbox at the top of the page.

How to change the rhythm that Play Rhythm performs

To change the rhythm that's is being performed, click in the type-in field above labelled "Box notation for Rhythm:" and add or remove symbols from the notation string displayed there. You may completely erase the notation that appears in the field and type your own notation, if you know how to do that. Once you click outside of the field after you complete your edit, a performance page for your newly specified rhythm will be built and begin to play in your browser.

Effect of adding 0 or * character to the notation string

If you add a 0 or * to the notation string in one of the character groups between dash characters, you've added a subdivision to that beat and specified that it will be silent when the rhythm plays.

Effect of adding a 1 character or a B,O,S,H,T,M,So, or Ss symbol to the notation string

If you add a 1 character (which specifies a generic percussion hit) or a B,O,S,H,T,M,So,Ss symbol (which specify specific kinds of percussion sounds which will sound during their subdivision of their beat, you've added a subdivision to its beat and specified what kind of percussion sound will play during that subdivision.

Effect of removing symbols from within a beat group

If you remove symbols from the beginning group or a group between dash characters, you are removing a subdivision from your new rhythm.

Effect of removing an entire beat group from the rhythm notation

If you remove an entire beat group and its following dash from the notation, you will have shortened the rhythm by a beat.

How to perform Multi-voice rhythms

When separate notation strings are joined one after the other with a comma separator added to mark the boundary between notation strings, this is a multi-voiced rhythm specification.

If the number of comma delimited sub-rhythms in a notation string is n, there will be n separate type-in fields listed in the rhythm player page that will show the notation for each of the separate voices in the rhythm.

Example: http://www.songtrellis.com/playRhythm?bpm=99&rhythm=*BOB-***S-**OO-BO*O-****,*B*B-**O*-*B**-*OO*-*OB*,1001-0100-1001-0100-1011.

Perform this rhythm

Notice that the rhythm= parameter specifies a rhythm with 3 separate voices that are to be performed in synchrony, since there are three sub-rhythms specified whose boundaries in the specification string are marked with commas.

The voice 1 spec is *BOB-***S-**OO-BO*O-****.

The voice 2 spec is *B*B-**O*-*B**-*OO*-*OB*

The voice 3 spec is 1001-0100-1001-0100-1011

In the rhythm player page for this rhythm, each of these specifications is listed in its own type-in field. To the right of teach of the type-in field is a "Play Solo Part" button. Press the button for a voice to watch it play by itself. A most valuablr feature when you are trying to practice one of the parts of a multi-part ensemble rhythm.

How to add a voice to an existing rhythm

To add a voice to an existing rhythm, click at the end of the rhythm voice specification type-in fields to establish an insertion point there. Type a comma, and then type the notation for the new voice. As soon as you click outside of the type-in field, a performance of your rhythm with the new voice added will be generated and sent to your browser so that it plays.

A new type-in field will be listed amidst the other voice specifiaction type-ins that contains the notation for the new voice.

How to remove a voice from an existing multi-part ensemble rhythm.

Select all of the notation for a voice in one of the rhythm voice type-in fields, and delete it.

As soon as you click outside of the type-in field, a performance of your rhythm with that voice removed will be generated and sent to your browser so that it plays.

The type-in field for the voice that you cleared will be removed from the new performance page that is displayed in response to your change.

How the Play Rhythm textual rhythm notation is translated into sound and how it specifies the rhythm's equivalent graphical box notation:

When the Play Rhythm page is launched from the linkbar of a SongTrellis page, it is started without a rhythm= parameter, which is signal to the site's Play Rhythm service that it should invent a new rhythm to perform. That invented rhythm will vary in length from 2 to 16 beats.

The notation for that rhythm will consist of groups of 1 and 0 characters separated by dashes. That notation will appear in the type-in field below the linkbar whose title reads "Box notation for Rhythm: in the page that's returned.

The dashes mark the boundaries of beats in the rhythm. The number of dash-demarcated groups gives the number of beats in the rhythm. The number of 1 or 0 characters in a group determines how the beat corresponding to that group is subdivided. If there are three symbols in a group, that beat is subdivided 3 times.

A 1 symbol in a group means a hit occurs for that corresponding subdivision of the beat. A 0 symbol means that no sound is to be made during that slice of the beat. It marks a rest, using standard musical terminology. A 1 at the beginning of a group marks a hit that coincides with the beat for that group.

The box notation that is displayed for the rhythm is a one for one translation from the textual description into boxes in the box notation.

The notation string is scanned from left to right. When a symbol in a group is 1 an X is placed into the corresponding box notation box to show that a sound should be made in that time slice of the rhythm. If the symbol in a group is a 0, a star symbol (*) is written inside the box to show that for that slice of the rhythm, no sound is to be produced.

A row of boxes is drawn immediately above the hit marker boxes. A current beat count, initially set to 0, is accumulated as the notation string is scanned. Whenever a 1 or 0 is found which is the first in the string or follows a dash character, 1 is added to the current beat count, and that beat count value is written in the box above that symbol's hit marker to record the beat count for a new beat group. When the symbol does not begin a new group, the square above is left blank.

How a rhythm performance is encoded as a URL.

You can change rhythm performance parameter settings that are recorded in the URL for a performance. If you change one of these settings and resubmit the URL, you'll change how the rhythm will be performed by the Play Rhythm service.

If you scroll towards the bottom of a Play Rhythm page, you'll see a text field titled "Encoded URL for email and website posting". That contains a transcription of all of the rhythm settings for a performance as they are encoded as parameters of the URL.

Here's an example:

http://www.songtrellis.com/playRHythm?bpm=132&fAnimateRhythm=1&fClickTrack=1&pulse=1/4&rhythm=OB*-B*O-***-SO*-*S*-OOB-BO*-O*B,010-0X0-010-001-B*1-0X0-010-0X0

In this URL, you'll see a bpm=132 parameter. That sets the tempo of the rhythm performance for the URL to 132 beats per minute.

If you decide to change the bpm= value to some other numeric value between 1 and 999 and resubmit the URL, you'll change the tempo of the performnce.

The fAnimateRhythm parameter controls whether the box notation of rhythm performance will be anaimated or not. When fAnimateRhythm=1, as is true of this URL, that parameter setting instructs the Play Rhythm service on SongTrellis to animate the rhythm box notation once the Play Rhythm page is displayed.

A parameter setting of fAnimateRhythm=0 blocks any rhythm animation from appearing on the Play Rhythm page

The fClickTrack parameter setting controls whether the rhythm will be performed with a click track accompaniment that will mark where the beat falls in the rhythm. When fClickTrack=1, that parameter setting instructs the Play Rhythm service on SongTrellis to generate a beat-marking click track that will sound as the rhythm is performed.

A parameter setting of fClickTrack=0 ensures that the rhythm will play without a click track.

The pulse= parameter declares the duration of one beat of the rhythm in the music score notation of the rhythm.

The pulse=1/4 setting means that the beat will be represented by a quarter note durtation (1/4). Other valid settings for this parameter would be 1/1, 1/2, 1/4, 1/8,1/16, 1/32.

When you change the pulse setting for a rhythm, you are choosing the duration unit which will be used to represent one beat of the rhythm in the music score transcription that is generated for the rhythm.

This also has an effect on the tempo that will be used to generate the rhythm performance. By default, rhythms are rendered using a 1/4 pulse setting (ie. the pulse will be expressed using quarter note units). If you halve the pulse value to 1/8, the rhythm will be performed twice as fast. If you halve the pulse value again to to 1/16, the rhythm will be performed four times faster.

If you double the pulse value to 1/2, the rhythm will be performed twice as slow. If you double the pulse value again to 1/1, the rhythm will be performed four times slower than the original performance, and the beat of the rhythm will be expressed using whole notes.

Currently, there are no filelds provided on the the Play Rhythm page which will allow you to alter the pulse parameter setting for a rhythm performance directly. For that, you will have to copy the performance URL for the rhythm, paste it into a text editor, change the pulse= value, copy the changed URL and paste it back into a web browser window to submit it.

The rhythm=OB*-B*O-***-SO*-*S*-OOB-BO*-O*B,010-0X0-010-001-B*1-0X0-010-0X0 parameter setting, provides the rhythm notation for the rhythm that will be performed once the URL is submitted. This rhythm is a 2 part rhythm because there is a comma in the notation string that breaks the notation string into two subparts.

How to precisely control the sounds that are played for each of the hit specification symbols that are used in a rhythm voice

Consider this example URL:

http://www.songtrellis.com/playRHythm?bpm=132&fAnimateRhythm=1&fClickTrack=1&pulse=1/4&rhythm=OB*-B*O-***-SO*-*S*-OOB-BO*-O*B,010-0X0-010-001-B*1-0X0-010-0X0&inst2=1:(inst:16384,vol:92,2,use:g),X:(inst:16384,vol:108,3,use:d),B:(inst:16384,vol:100,2,use:c)

This URL includes an inst2= parameter. This parameter declares how every hit-playing symbol used in the notation of the second voice of the rhythm will be performed. The payload of this parameter tells the Play Rhythm service how it should interpret the 1, X, and B symbols used in the notation for rhythm voice 2 when the rhythm is performed.

The declaration for the 1 symbol reads like this: 1:(inst:16384,vol:92,2,use:g)

This tells the Play Rhythm service that the 1 symbol will be performed using sounds contained in the Standard MIDI drumkit (instrument number 16384) at a volume of 92 (can vary between 0 and 127). The rhythm pitch that will play is the g from the 2nd octave.

The declaration for the X symbol is X:(inst:16384,vol:108,3,use:d)

This tells the Play Rhythm service that the X symbol will be performed using sounds contained in the Standard MIDI drumkit (instrument number 16384) at a volume of 108 The rhythm pitch that will play is a 3rd octave d from the drumkit.

The declaration for the B symbol is B:(inst:16384,vol:100,2,use:c)

This tells the Play Rhythm service that the rhythm's B symbol will be performed using sounds contained in the Standard MIDI drumkit (instrument number 16384) at a volume of 100. The rhythm soundthat will play is the 2nd octave c from the drumkit.

How to mark which hits in box notation are to be played using the drummer's stronger hand when the rhythm is performed

In drummer's box notation, grid squares are underlined to indicate which hits of the rhythm are to be played using the drummer's strong hand (their right hand if they are right-handed; their left hand when they are left handed). Drummer's will generally produce a slightly louder hit with their strong hand than with their weaker hand, thereby producing a slight accent that calls attantion to strong hand hits.

A stronghand= parameter is added to URLs when this hand preference underline marking is to be shown in the box notation that is produced for a rhythm.

The parameter value is a comma delimited list of the indexes of 1-hits that should be emphasized, counting from the beginning of the rhythm with 1 being the index of the first 1-hit encountered.

Example: in the rhythm 1011-0101-010-0111, out of the the 15 subdivisions of that rhythm there are 9 1-hits that are played (which produce a sound) and 6 0-hits (which are rests that don't sound).

Counting from the beginning of the rhythm,

The #1 1-hit is on beat 1, subdivision 1

The #2 1-hit is on beat 1, subdivision 3

The #3 1-hit is on beat 1, subdivision 4

The #4 1-hit is on beat 2, subdivision 2

The #5 1-hit is on beat 2, subdivision 4

The #6 1-hit is on beat 3, subdivision 2

The #7 1-hit is on beat 4, subdivision 2

The #8 1-hit is on beat 4, subdivision 3

The #9 1-hit is on beat 4, subdivision 4

The strong hand URL parameter of stronghand=1,3,5,7,9 would cause an emphasis underline to drawn underneath 1-hit squares 1,3,5,7 and 9 (beat 1 subdivision 1, beat 1 subdivision 4, beat 2 subdivision 4, beat 4 subdivision 2, and beat 4 subdivision 4)

Why not use the actual hit number within the notation string to mark strong hits rather than the count of the 1-hits as the coordinate to specify which hits should be emphasized?

Because if we used the hit number rather than the 1-hit number, it would be possible to ask that an emphasis underline be drawn underneath a rest hit, an event that's impossible for a drummer to perform. Using 1-hit numbers as our stronghand coordinates, we eliminate the possibility of producing box notation whose emphasis marks are ill-formed.

To set emphasis marks for multi-voice rhythms, we write a strong hand coordinate list for each voice and mark the bounadries between these sublists using a semicolon.

Example: stronghand=1,3,5;2,4;2,5 would cause emphasis enderlines to be drawn beneath the 1-hits numbered 1, 3, and 5 of the first rhythm voice, the 1-hits numbered 2 and 4 of the second rhythm voice, and the 1-hits numbered 2 and 5 in the third rhythm voice

Rhythm complexity - How to notate a pattern that plays inside the time of a single subdivision of a larger rhythm

Lets consider this two beat rhythm:

11-1111

If we wish, we may play an entire pattern within the time of a single subdivision of the rhythm, by writing the pattern that's meant to be squeezed into the subdivision inside of squares brackets (e.g. [101]) and substituting that for a single subdivision symbol of the original pattern.

Doing such a substitution in our example rhythm, we could derive these rhythms, which suddenly shift into high gear for an instant to fit a 101 sequence in the tme of a singe subdivision (click on the links inside this outline level to hear example performances of this kind of notation)

Rhythm complexity - How to notate a pattern that plays inside the time of two or more subdivisions of a larger rhythm

Again let's use this two beat rhythm as an example:

11-1111

If we wish, we may play an entire pattern within the time of two or more subdivision of the rhythm, by writing the pattern that's meant to be squeezed into the subdivision inside of squares brackets (e.g. [101]) and writing and underscore followed by the nuber of subdivisions to stretch this pattern over in front of the left bracket. So if we wished to stretch the [101] pattern over the time of 4 subdivisions we would write _4[101]

Doing such a substitution in our example rhythm, we could derive these rhythms, which suddenly shift into not as high gear to fit a 101 sequence in the time of different subdivisions greater than 2

_4[101]1-1111 (this is a two beat rhythm that stretches a 101 triplet to play over the first four of the five subdivisions of beat 1)

1_2[101]-1111 (this is a two beat pattern that stretches 101 to play over the last two of the three subdivisions of beat 1)

11-_5[101]111 (this is a two beat pattern that stretches 101 to play over the first five of the eight subdivisions of beat 2)

11-1_2[101]11 (this is a two beat pattern that stretches 101 to play over the first two of the four subdivisions of beat 2)

11-11_3[101]1 (this is a two beat pattern that stretches 101 to play over the first three of the four subdivisions of beat 2)

11-111_2[101] (this is a two beat pattern that stretches 101 to play over the last two of the five subdivisions of beat 2)

Rhythm complexity - How to notate polyrhythms, simultaneous parts that each count different numbers of beats over the same span of time.

Given a rhythm pattern, you may stretch it play within the time of certain number of beats by placing square brackets around the pattern notation and then writing the number of beats in which that pattern will play in front of the left square bracket.

For example if you wanted to play the pattern 1111 over a duration of 7 beats, you would write 7[1111] as your notation string. If you play this with the click track turned on, you'll hear how the outer series of seven beats lays against the 4 beats of the inner rhythm.

Rhythm complexity - How to notate a sub-rhythm that is stretched to play over several beats of a larger rhythm

By substituting multibeat polyrhythm notation for several beats of a rhythm, we can notate a rhythm, that changes gear into a polyrhythm for a certain number of beats before returning to the beat scheme of the outer rhythm.

Consider the rhythm O*O-2[BOBOBOB]-BSB

This is 4 beat rhythm, that subdivides beat 1 and 4 into 3 subdivisions, but which plays 7 evenly spaced hits within the time of beats 2 and 3 taken together.

A notational difficulty for complex rhythms - what if we want to use the polyrhythm notation (the number of beats to stretch the subrhythm, followed by the subrhythm wrapped in square brackets, and we want to play the rhythm in the time of only 1 beat? What about notating a rhythm that stretches over ten (10) beats or eleven (11) beats?

Because the 1 symbol instructs Play Rhythm to play a hit within one subdivision of a beat, the notation 1[BOBOBOB]-11 tells us that the first beat is to be divided into two equal parts with a single hit occuring at the beginning of the first half, and the entire seven hit subpattern [BOBOBOB] is to be compressed to fit into the last half of the beat.

If we use the ^ character in front of the beat count of a polyrhythm notation, we can specify that the inner pattern is to be performed in the time of 1 beat like this ^1[BOBOBOB]-11

Note: we could simplify this notation for compressing a pattern to play inside the time of one beat by writing [BOBOBOB]-11

Similarly ^10[BOBOBOB]-11 specifies that the inner pattern should be played in the time of 10 beats and ^11[BOBOBOB]-11 specifies that the inner pattern should be played over the time of eleven beats.

^14[BOBOBOB]-11 specifies that the inner pattern should be played in the time of 14 beats. Without the ^ prefix in front of 14 (ie. 14[BOBOBOB]-11), the initial 1 in the number 14 is taken to specify a hit that occurs in the first subdivision of the first beat and we would have the inner pattern BOBOBOB stretched over the last four of five subdivisions of the first beat.

Can the box notation accurately represent rhythms with complex kinds of subdivisions, or nested or polyrhythmic rhythms?

Box notation starts to break down when inner rhythm patterns are stretched over the time of beat subdivisions. There's not currently a printable mark in the notation that shows how that the rhythm speeds up or slows across an inner subpattern. When such box notation is animated on a Play Rhythm page, each column is highlighted for exactly the correct time intervals, which does makes it possible to learn the rhythm by emulating the audible pattern of hits as it is played in synchrony with the moving rhythm animation highlight.

When a pattern is stretched over some number of beats in the rhythm, the beat labels for that section of the rhythm are condensed to show that the inner pattern is felt over a range of beats. Example: when 1-3 is hown as the beat label at the beginning of the subpattern, that means that the following boxes up to the next beat level mark a sub-pattern that is played over beats 1, 2, and 3 of the rhythm.

How can I download the MIDI performance for a rhythm?

Immediately below the music score transcription of the rhythm, a "Play/Download this score as a MIDI file" link is displayed. If you click on this link, the MIDI performance for your rhythm will launch in it's own page.

If instead, you right-click on the link on a Windows system or press the Control key while clicking on a Mac, a contextual popup menu will appear which will offer you an option that will allow you to download the rhythm's MIDI sequence.

Then you can load that into a music editor and use that as a rhythm track for a new composition. You could also load your MIDI sequence into a weblogging system and use it as a musical example for a web page that you are creating.

What does the "Launch Tonematrix For Rhythm" button do?

A rhythm can can be orchestrated using pitches played by an instrument that plays melody, rather than by different sounds of a rhythm instrument.

When you press "Launch Tonematrix", your rhythm is transcribed into a form where it will be hummed by one pitch of a melodic instrument, a music box to begin with. Your rhythm will be represented by a rectangular arrangement of squares, with the the hits that sound in the rhythm colored red. This array of squares is called a tionematrix.

The columns of the tonematrix, represent the columns of of the box notation representation of yoiur rhythm. The rows represent the pitches that are available in the matrix to play that time slice of your rhythm. By clciking in rows above and below the the red squares that are turned on in your tonematrix, you can choose other pitches, which allow you to transform your mono-pitch rhythm into a varied melody that follows your rhythm.

What does the "Launch Tunetext for Rhythm" link do?

Tunetext notation is a method for describing all of the features of a music score using parameters of a URL. There is a Tunetext service available on the SongTrellis site that responds to these kinds of URLs and renders the resulting music performance into different packages that can be published on web sites, transmitted to others using email or instant messaging, or saved in text files as a record of a musical composition.

When you follow the "Launch Tunetext" link on a Play Rhythm page, your rhythm is transcribed into a Tunetext URL, which is launched in a new window or tabbed view of your browser, where your rhythm will be performed, showing only a music score transltion of the rhythm.

If you follow the "Create an animation for this tunetext" link that appears below the music score on the Tunetext page, you will launch a process, which will produce a QuickTime animation of your rhythm's music score after a minute or two. This animation will draw a blank music staff and then draw the notes of the rhythm at exactly the instant that they cause a sound to be heard in the performance. You'll see a wave of notation drawn onto the staff from left to right.

The process of creating this kind of score animation is rather expensive and cannot be produced instantaneously because the process requires that millions of bytes of data be written rather than the scant thousands of bytes that arer necessary to generate a MIDI performance of a score.

By default, 4 repetitions of your rhythm are transcribed into your new tunetext. If you'd like to vary the number of repetitions that are generated in the tunetext, add a reps= parameter to your PlayRhythm URL. The value of the reps parameter is a integer number that specifies the number of times the rhythm should be repeated. Adding 'reps=1' to the end of your Play Rhythm URL, will ensure that only one repetition of the rhythm cycle will show in the Tunetext msuic score

The default number of rhythm repetitions is set to 4, because many of the MIDI players used by web browsers do not smoothly restart a MIDI sequence once it reaches the end. Frequently the last sound at the end of the sequence will be slightly truncated or slightly damaged. To make it clear that this damage is not actually part of the performance, it seemed wise to present three glitch free performances of the rhythm cycle before allowing you to experience this audio blemish at the rhythm end.

Play Rhythm uses a unique vocabulary to describe and classify rhythms

What's the rhythm signature for a rhythm?

When a rhythm is orchestrated, the rhythm signature is a performance of the rhythm that strips away all of the busyness of the specific rhythm sounds that are used for a particular rhythm orchestration, and instead performs the rhythm using a generic rhythm sound for each hit of the rhythm. Think of the rhythm signature as an undressed orchestration, which makes it easier to hear the common rhythmic idea that sits below the clothing of different orchestrations of the rhythm.

Rhythm signatures also us to keep track off all of the different way a particular rhythm signature rhythm has been orchestrated within the Rhythm Web.

What's a skeleton count?

A skeleton count is an abstraction of a rhythm (it removes complexity from a rhythm) that allows you to recognize the family resemblences between different rhythms, and classify them into families that share a common kind of rhythm feeling. Skeleton counts are also mnemonic shortcuts that can help you to accurately remember a rhythm.

What's a rhythm orchestration?

The process of deciding what musical instruments will play particular musical idea in a music composition is called orchestration. When one decides exactly which rhythm sounds will be used to produce each hit in a rhythm, you are producing an orchestration for your rhythm. For any particular rhythm signature (a rhythm performed using only a generic rhythm sound), it's likely that hundreds or perhaps thousands of different musically valid orchestrations can be produced.

What's a rhythm performance?

A rhythm performance is a particular rendering of the rhythm at a particular tempo, with a particular orchestration, performed with or without a click track, rendered with or without an animation.

How does a musician follow a rhythm notated using drummer's box notation?

When every beat of a rhythm is uniformly subdivided, box notation is one of the easiest to follow musical notations known to man.

One points to the first column of one line of the box notation, and then moves to the next box on the right until all columns are exhausted. Each time a box contains a symbol other than a star character, the symbol shown in that box describes what kind of sound you should make at that instant of the rhythm.

When you are first learning a rhythm, you can just make a click with your tongue or make a slap with you hand to mark the hit that is supposed to be produced for a particular square. Once you've heard the rhythm and can hold the idea in mind, then you can work to accurately produce the exact sound specified by each hit symbol in the rhythm.

What to do if the rhythm animation loses sync in your browser window

If your web browser is handling a large workload (lots of web pages, pages with continuously active JavaScript), you may find that rhythm animation will start to play out of sync with the rhythm's audio track after it repeats several times. 

If you see this happen, you'll likely be able to regain sync if you press the "Stop Animation" button followed by a press of the "Restart Animation" button. That will tear down the entire web page structure and rebuild it from scratch, presumably freeing resources for the browser to run more efficiently.

Also, before taking this more drastic action, which can take two or three seconds to complete, it frequently pays off to slide the progress button all the way to the left in the audio player controls. That will restart the animation from its beginning, and place it  back in its initial  'all synchronized at the starting line' state.

If you continue to have bothersome sync problems, close as many browser windows as you are able. This will reduce the probability that the browser will take an action that will interrupt the animation while letting the music performance proceed with minimal hindrance.

It's pretty easy to do useful things with the Play Rhythm page using its default mode of operation, but there are lots of ways to control the service that will allow you to vary a rhythm performance so that Play Rhythm produces exactly the kind of feel that you have in mind for a rhythm performance. If you can't see a way to express the rhythm you have in mind using Play Rhythm and you have not been able to find satisfaction among the currently published Play Rhythm lore, ask a question here.

If you're here and you know how to answer someone's question, jump in and give assistance. I'm notified when someone makes a comment, so I'll try to respond quickly when someone makes a comment.

Also, leave a comment here if you see ways that I can improve the service. Then we can have a discussion and see if we can figure out a good way to solve the issue that you've brought to my attention.

Thanks in advance for any feedback you send.

Dave Luebbert

XML