SongTrellis
Music, Musical Know-how and Music Technology For You

Members
Join Now
Login

Home | How-Tos | Directory | Our Composers | The Rhythms | Play Rhythm | Rhythm Web | Tonematrix | The Changes | Song Discussions | Public Ideas | SongTrellis Recommends... | Video Links | Great Performances | SongTrellis Music Editor | The Lessons | Jukebox | The Animations | Our Contributors | Latest Topics | Tunetext | Workscore Chord Entry | Chord Entry By Grid | Workscore Composer | Harmonic Interval Palette | Harmony Projects | Chord Grid | Search | Video Demonstrations | Playlists | What's a Songtrellis? | FAQ | Feedback


SongTrellis Features..

The Changes

Hundreds of chord progressions here. Jazz, rock and blues people call them changes! Enter and we'll explain. Check the latest postings here.

Harmony In Detail

As we write or discover articles that explain how the harmony works for a tune listed in The Changes, we list them in this department.

Backing Tracks For Sale

Like having a combo or small big band ready to accompany you. Downloadable tracks in MIDI and mp3 format. Complete accompaniment with bass and drums. Piano or guitar comp behind your performance, frequently with orchestral comments. Arranged by Bernard Chinn. Complete collection of 120+ arrangements for $35.

The Jukebox

This site has a jukebox that will play you the best tunes recorded on the Songtrellis site . Press here to start it. When a tune ends, a new one will load a few seconds later. To change to a new tune at anytime, press the Jukebox item on the menu bar.

Blues Tunes

Here's a puzzle for you. Figure out why all of these varied compositions are called blues. What are the common features?

The Lessons

If you stand in exactly the right place lots of musical knowledge can be learned very quickly. Take some lessons here and see for yourself.

The Rhythms

Tens of amazing rhythm loops. You'll want to dance!

The Animations

We know how to play musical scores as QuickTime movies. These are fun to watch and listen to!

 

Thursday, January 12, 2012


Damn it Dave, what have you been doing recently?

Since my last home page posting, a good part of that time I spent developing a cool music composing tool for SongTrellis visitors to use called a Tonematrix.

What's a tonematrix?

A Tonematrix is a kind of music creation web interface that plays a small looped musical composition. It displays a square grid on a web page, with clickable grid squares, whose columns represent ticks of a metronome or the succession of durations of a rhythm pattern, and whose rows represent one pitch out of a harmonious collection of pitches.

Clicking on a blank tonematrix grid square causes that row's pitch to play starting at that column's metronome tick within the tonematrix loop's tick sequence.
Permalink

How do you play with a tonematrix?

This URL will display a newly created, pristine but silent tonematrix, waiting for your first composing action:

http://www.songtrellis.com/tonematrixAnimate

You'll launch this URL whenever you follow the "Tonematrix" link that appears now in the middle of the top row of the link bar at the top of pages on the SongTrellis site.

You'll hear it play musical sound and perhaps see it animate that music (provided a capable animation-ready web browser is running) a second or two after you click inside any grid square within the matrix with your mouse. The time to respond to a click action at any instant reflects the current computing workload of the SongTrellis web servers.

By default, each matrix column corresponds to one tick of a metronome that clicks at a fixed tempo, and the pitches that play for a column are assigned from top row to bottom row using pitches of a specified chord or scale that are replicated over several descending octaves.
Permalink

How does a tonematrix work?

As soon as a user clicks on a blank grid square in a matrix, they are taking an action that adds a sound to the music loop that the Tonematrix software plays. The instant a user clicks on a square in an empty Tonematrix, it's color changes to red, the pitch corresponding to that square's row at the instant specified by its column is added to the matrix loop, and the Tonematrix player begins to loop through the matrix performing it.
Permalink

A tonematrix can animate a musical idea in an instant

On web browsers that run HTML5's Canvas animation package (Firefox, Safari and Chrome), a tonematrix will animate to show the pitches that are playing at any instant in the matrix loop. If animation is permitted, as soon as the next metronome tick occurs, all of the the red colored squares in the corresponding matrix column turn to green to show that they are sounding their pitches.

As soon as the next click takes place, all of the green colored grid squares in the last column are changed back to red, to allow the next column begins to play and show green. As an animation takes place you will see a vertical band of green squares that will loop repeatedly across the matrix from left to right.

If a person doesn't like how a particular square makes their piece sound, they can click on that square again to toggle it off, thereby silencing the pitch that this square added to the tonematrix performance.
Permalink

What makes a tonematrix loveable?

I love this most about a Tonematrix: using one it's possible to show a person, who does not possess even one word of prior music vocabulary, how to compose, depending only upon the tiniest initial instruction and their own innate sense of musical rightness.


Permalink

I love how quickly I can find new musical ideas when I use a tonematrix.

When a person clicks within a grid square, the SongTrellis server prepares a new, changed version of their loop. When that new version of the piece is delivered to their web browser a second or so after their click action, the new music plays and the animation restarts, to let them hear how their music sounds and see how it looks. If they discover that they've made an unpleasant change to their piece, they turn that square off with a mouse click and and click on another square that may please their ears more, and again they'll hear the audio reflection of their editing action, almost instantly.
Permalink

Shape shift an idea into something better

Because the tonematrix is looping away playing the current version of the music, waiting for another user mouse click to change the music that's playing, it's easy for a tonematrix user to quickly decide if the new version of the loop satisfies.

Frequently, they'll feel that they had gotten the pitch of the next sound right, but that it might sound better if it happened at a later or earlier tick than their first try. They can make that pitch sound earlier by clicking a square to the left of their original choice in the same row. They can make it sound later, by clicking a square to the right of the original.

It will also happen that they might like the contour of their idea, the way that it rises an falls, but feel that their exact pitch choice is not precisely the right one for their ear. It's easy to toggle off the less effective grid square and listen to the grid square neighbors that reside in the rows above or below that first experiment.

If you compose at a piano or with a guitar, you must precisely remember the pitches and timings of the idea that you've just stumbled across, so that you can write them down. That skill develops while exercise it. A tonematrix though is a musical ratchet tool that precisely remembers your current best idea as you grow your piece, allowing you to compose even when your musical memory is still under development.
Permalink

Intuition gained from tonematrix can motivate learning the musical lingo and concepts that will allow one to compose easier and with better control (my belief)

Once folks have acquired some intuition about how musical shapes work in a tonematrix, I believe it will be much easier for them to learn vocabulary that will allow them to develop their musical ideas ever faster, at whatever time they decide that such learning has value for them.

Remember this is a site dedicated to providing and tools and musical know-how for folks. Now that I've introduced the tool, I intend to help you develop your know how.
Permalink

Perhaps parallel kinds of music animations can help

There's a "Launch Tunetext" button in the interface, which will launch a viewer to show the music notation translation of the current matrix in a new window. From the Tunetext window that launches, you can ask the SongTrellis server to prepare an animation that draws each note and chord on an initially empty music staff at the instant each of those objects sound in the score.

This kind of animation cannot be instantly produced like a tonematrix animation, but the server instantly returns the URL where the new animation will be delivered one or two or a few minutes later, and continuously posts a status report at that URL until the moment the animation replaces the status report and starts to play.

A tonematrix composer, who doesn't read music notation yet, can look at a notation animation and quickly appreciate that the rising and falling note series on a music staff shows the contour of a musical idea in the same way that the up and down transition of sounding squares in a tonematrix animation charts a melody's contour.
Permalink

When a tonematrix is used, there's enough musical safety built in that it's hard to roll into an instant train wreck, which nearly always happens when a beginner touches a new instrument or music production tool.

Because the matrix pitches are assigned using a particular named chord or scale whose pitches harmonize with one another, it's relatively hard to find pitch successions in the matrix that are musically senseless, so long as only one chord is dialed in for the matrix, which is the default setup for a newly created tonematrix.

This is the opposite experience that beginning musicians have when they try press a succession of keys on a piano or strum strings on a guitar while fretting for the first time. Unless they are quite lucky, they nearly instantly run into a musical train wreck.
Permalink

Your webmaster Dave Luebbert's Tonematrix testimony

Testimonial hat on:

As soon as I started to use this interface, I began to easily invent musical ideas that I don't believe I could have crafted previously. Finding chord accompaniments that satisfied me for the melodies I invented, became especially easy to do. Before I began to compose with a tonematrix, I had found that this was extremely hard work, given my level of skill.

I started to find new ideas with varied shapes in a few seconds time that would have been a laborious slog to discover using almost any of the other music invention methods I know how to invoke.

I'm thrilled whenever I can create software that turns nearly impossible to accomplish tasks into something that's easy to do and easy to teach, so working to better the capabilities of the tonematrix interface has been a thrill.

Testimonial hat off.
Permalink

An amazing thing I discovered once I had a Tonematrix available to play with

Nearly always, once you've found an idea in a matrix that sounds good for a chosen pitch set, when you change the matrix controls to use a different chord or scale for its pitch assignments, you'll likely find that the matrix still plays a pleasing idea, albeit with a different emotional complexion. With this capability available, you can vary an idea in hundreds of ways and quickly find a variation that you can use to extend your composition in an interesting new way.

Once I've found an idea that I like, there's likely hundred's of different sensations and emotions that can be expressed by applying different pitch sets to that base idea which has been recorded in a tonematrix.
Permalink

The Demos

Just to show what's possible, here are some example Tonematrix compositions

1) a loop that plays an idea composed in less than a minute that plays through a D6 chord. This loop has a cheerful, consonant sound.

2) this example performs the last tonematrix through a different chord, a Bb7Alt, which has a darker, more dissonant feeling to it. To create this, all I did was to change the Chord Root and Chord Type menus in the controls to the right of the tonematrix, and press the "Change Performance Now" button. After 15 seconds of effort I was able to audition this new music.

3) this two measure tonematrix is used to perform a 4 measure chord progression. This generates music that performs the tonematrix pattern using the first two chords of the progression and then plays a different but similar melody by interpreting the tonematrix using the pitch sets of the last two chords of the progression. This music took about 5 minutes to find.

4) this shows a 4 measure tonematrix that is played through a 12 measure chord progression. The tonematrix pitchset is stretched to fit each new chord at the instant it begins to sound resulting in a melody that accommodates each chord change. Composing this was a ten minute effort, with most of the time devoted to choosing the chords to include in the progression.
Permalink

Sunday, April 24, 2011


There's a small demonstration available now that shows how to interpret and perform Rhythm Skeleton Counts when they appear on Play Rhythm pages or are listed in the Rhythm Web.

You'll know that you're dealing with skeleton count notation on rhythm pages, when you see a square bracketed sum of integers preceded by an integer, similar to this: 4[2+5+4+3+2]

Friday, April 22, 2011


Rhythm Web larger than The Changes now

Yesterday around mid-day, the SongTrellis Rhythm Web had grown to list 1238 distinct rhythms, exactly the same size as the list of chord progressions scores listed in The Changes department of the site.

The Rhythm web has already grown 9 rhythms larger since that moment.

Concepts that can help one make sense of rhythms

In the design of the SongTrellis Play Rhythm service and of the site's Rhythm Web, which collects listener-recommended rhythms that were auditioned via Play Rhythm, I made distinctions between rhythm orchestrations (or rhythm performances), rhythm signatures, and rhythm skeleton counts.

Rhythm signatures and skeleton counts are not standard concepts taught by those who practice music analysis, but concepts that I invented to aid my own understanding of the rhythms that are played in rhythm traditions that inherit from Africa.

Rhythm Orchestrations

Orchestration in the context of musical composition is the process of deciding when particular instruments will play parts in a musical composition and which pitch ranges those instruments will use to realize their parts.

A rhythm orchestration, as I use the term, is a rhythm description that precisely describes the percussion sound of every hit in a rhythm cycle.

The description character string in the rhythm= parameter of a Rhythm Orchestration played by a Play Rhythm request, will contain alphabetic symbols such as B to specify when a Bass drum tone should sound, a O (capital oh) to specify when a drum Tone should sound. (The symbol for the hand drum sound called Tone is an O, because that character is a diagram of where you strike a drum to make such a sound, on the hard outer edge of the drum that lies underneath a circular drum head's outside edge). S means that a slap drum sound should be performed.

There are several other one and two character symbol sequences that could be invoked within a rhythm performance that invoke other characteristic drum and percussion sounds that should be played (H, T, r, So, Ss, X).

Without appropriate mental tools, I always needed to consult printed notation laying in front of me to perform a rhythm that I wanted to play

When I first took hand drum lessons 20 years ago, for my first year, no rhythm that Bill Matthews taught me stuck. I could not remember a rhythm and play it from memory. I was totally chained to my notation book, Bill's Conga Joy, to follow the rhythms that I needed to play when I practiced with my drum group. If I forgot my book, I was lost.

Building the tools

I had to learn to analyze and abstract the rhythms I was learning to play so that I could identify ideas that were used as the building blocks of different ensemble rhythms, and that were shared inside of seemingly different rhythm parts. Once I could do this, and I could think of their constituent chunks, rhythms became memorable. Then I could start to retain them and play them and flow from one rhythm to another during performances. For me, this was the key to learning how to play fluently.

Two concepts were my handles for remembering rhythms; my keys for playing fluently

First concept: the Rhythm Signature

The first thing I had to realize was that the actual sequence of different drum sounds in a rhythm is not what felt strongest in my muscle memory and what held most firmly in my ear when I played a rhythm or listened to it.

Instead it was the pattern of hits, the knowledge of when to move my arms and hands, and when to stay still that was most memorable.

Before I could learn to accurately play the sequence 'bass-rest-tone-slap', I had to have the idea 'hit-rest-hit-hit' firmly in mind first.

I would learn the rhythm as though it were played using only a single drum pitch, hitting the drum at the correct instants in a cycle, before I would learn to move my hand around the drum to slap out a particular series of drum pitches.

When it was time to design the rhythm descriptions that Play Rhythm would understand, I designed Play Rhythm's little rhythm description language so it would be easy to first think of rhythms as a series of hits encoded via 1 and 0 symbols. Then I could relate to that hit series many different performances and many different orchestrations of that rhythm.

To orchestrate a rhythm, I would replace 0 symbols with '*' symbols, and 1 symbols with specific drum pitch symbols.

A Rhythm Orchestration that has been flattened down to a series of timed hits I call a Rhythm Signature. Within the Rhythm Web, all of the many different ways that signature can be orchestrated are recorded as members of that signature's family.

The symbols in a Rhythm Signature are always some punctuated sequence of 1 and 0 symbols, like this:

001-111-1010-1001-1001-010

In the notation of a rhythm signature, 1 symbols are instructions to make a sound and 0 symbols are instructions to stay quiet in particular beat subdivision. The dash symbols delimit beat boundaries. The first symbol of a beat group is played on its beat.

In the Rhythm Web, when we look at the report for a particular performance of a Rhythm Orchestration, it will list its rhythm signature.

When you look at the report of a rhythm signature it will include a link to a list of all of the Orchestrations that have been submitted that share that Rhythm Signature.

What are the Skeleton Counts that the Play Rhythm service reports?

Skeleton Counts were the most important handle I needed to remember rhythms.
Perhaps you'll find that they help you also.

After I had played for awhile, I could sense that certain rhythms that had different signatures still produced similar sensations that made it seem that they were part of an even larger rhythm family.

What I finally figured out was that rhythms are heard as periods of sound interspersed with periods of silence.

When I was learning a rhythm that had an African heritage, each beat was subdivided the same, usually by 4 or by 3. Most rhythm cycles were sequences of 4 beats that were either subdivided by 4 or by 3. A 4 beat rhythm with beats divided by 4 would have 16 subdivision slots and a 4 beat with beats divided by 3 would have 12 subdivision slots.

If there were a sequence of hits that sounded on a sequence of these smallest rhythm cycle subdivisions with no rests between hits, I would hear this string of hits as a unit and it would seem that any rest subdivisions that followed were added on as the ending punctuation for this aural unit.

When a hit sounded after one or more rest subdivisions, that would mark the beginning another section of the rhythm.

Using this idea, I could partition any rhythm cycle in a series of sections. If a rhythm had total of 16 subdivisions, I would hear a sequence of sections that each lasted a certain number of subdivisions. I could then mentally notice that a rhythm might have a pattern of sections whose count went 3+3+3+2+2+3 or 3+5+5+2+1.

Then I realized that the rhythms that sounded like closest relatives were those that had the same shaped cycle of sections. I call these shared sequences of subdivision counts that define different families of rhythms, the Skeleton Counts for those rhythm families.

In a Skeleton Count, extraneous hits were left out of the rhythm, leaving behind only the single hits that started each unit of the rhythm. This would skeletonize the rhythm, allowing you to sense the common feeling of a particular rhythm family in its clearest form.

Once I knew the feeling of a particular Skelton Count, I could easily figure out in my heads other rhythms from that family that had busier rhythm signatures but which affected listeners similarly, because they shared the same Skeleton Count.

And then by gluing together adjacent sections of a Skelton Count, or breaking a Skeleton Count section into smaller parts. I could figure out other rhythm families that were more loosely related to an particular rhythm family.

Using Skeleton Counts, you could mentally build a family tree for rhythms that let you predict how they and their relatives would likely feel if you decided to play them.

I found that Skeleton Counts were even more memorable than a rhythm's signature. Once I could remember rhythms and mentally organize them by Skeleton Count, I could start to solo as I would perform a rhythm with a particular count, and follow it with rhythms that were relatives or that were great contrasts, sculpting my own rhythms as I played.

You'll notice that for every rhythm reported in the Rhythm Web, the Skeleton Count for the rhythm is also reported.

To summarize, think of a Skelton Count as the sparsest possible rhythm of all of the rhythms in a Skeleton Count family. All hits have been left out except for the single hits that signal the starts of new groups within a rhythm.

When you feel like you need to play a more active, dense version of a skeleton rhythm, you can hit on additional adjacent subdivisions after the one that begins the group. You can add as many additional adjacent hits in the group as long as you do not eliminate the very last rest of a group.

Filling up every subdivision slot with a hit has the effect of gluing two groups together and erases the rest that serves as punctuation between groups, thereby producing a rhythm that is a little less related than if you had respected the rhythm's Skeleton Count boundaries.

If you can ensure that the hits in the next group are going to be performed using a different instrumental pitch, then you may fill in the final rest of a nearly full group, because then the pitch change serves to mark the beginning of a new group as we listen.

Wednesday, April 6, 2011


Watch This!

Yesterday, the Tunetext superuser of IP address 221.80.184.189 showed that they are also a master of the Excerpt Service and know how that can feed material for study or composing into a Tunetext window.

There's a small tune that I wrote in 1996, Tumbler, that's posted on SongTrellis under my listing in the Our Composers department. It's only 8 measure long, and has a busy active melody, with an unusual harmonic sequence as accompaniment.

The superuser used the Excerpt Service link that's available on the "Tumbler" page and used that to grab two repetitions of the harmony and melody from the published score. They would have set the First bar setting in the Excerpt Service form to 1 and the Last Bar setting to 16, like this.

Excerpt Service pages have a link that will copy an excerpt into a Tunetext window. He used that and shot that excerpted score over to a Tunetext window. Opening the Tunetext form for that new score, he erased the melody from that form and resubmitted it to produce a score that only contains the "Tumbler" changes.

Then he used the "Publish Tunetext Button to SongTrellis Public Ideas" link that is available on Tunetext pages, to publish that chord arrangement to the Public Ideas yesterday afternoon at 3:20:31 PM.

I saw that my harmony had been published as a Public Idea, and thought, sheesh, let's write a new song that uses that harmony, just as anyone else has a right to do.

There are operators built into the Tunetext language that can help a composer (this could be you, it's pretty easy) invent a new melody over existing harmony extremely quickly. I used those to build the phrases of my new tune. After 45 minutes I had it complete and posted the new composition, which I decided to call Tumbleweed, in honor of its "Tumbler" heritage, to today's Public Ideas.

Monday, April 4, 2011


Coolness in Public Ideas

Check out this neat submission that was sent to Public Ideas yesterday.

This is a score of tall extent, so if you scroll to the bottom of the score image, you can press the Play button on the controller that is visible there to hear what they did.

Whoever sent this in did a better arrangement for "The Girl of Ipanema" than the one I've had listed in "The Changes" for years.

The arrangement that I posted exactly followed the changed that were published in Volume 1 of the Berklee Real Book, the source for harmony that I had at the time.

These new changes are better than that. They are not Jobim's changes for the song (for reference, here they are), but they are closer to what a jazz musician would play for the song today.

I like these enough that I've replaced my original arrangement with the one posted in Public Ideas. This person, who submitted from IP address 221.80.184.189, also did a nice looking arrangement of Richard Rodgers' The Last Time I Saw Paris that matches the changes we already have posted. The printed version looks beautiful by comparison with the original posting in "The Changes", because the layout code that serves Tunetext is so much more capable today.

They also did an untitled third arrangement that sounds like it must be a chord arrangement of a well-known tune, but I can't figure out which one yet. The bridge sounds like Ellington's "It Don't Mean A Thing (If It Ain't Got That Swing), but the A sections don't match.

If anyone can recognize (or if the author is willing to email me), I'd love to ID the song that owns that harmony.

Those postings tell me other things - I'm no longer the only Tunetext master at SongTrellis

For example, that the person who did those arrangements has completely mastered the use of Tunetext for creating chord arrangements.

That means by hook or crook, the person has figured out that part of the Tunetext specification format pretty completely.

In one of those arrangements posted yesterday, they used a form of chord specification which allowed them to precisely specify the voicings of each chord in their arrangement. This is a sign of mastery of the format.

By default, when those voicing specifications are left out, in the interest of variety, the Tunetext service works out a slightly different way to voice a progression every time it's played.

They could have discovered what they needed by inspecting Tunetext buttons that I've posted to Song Discussions and Public Ideas and looking into the notation that was revealed when they double clicked on those buttons.

They may have also found instructional posts that I've done on the site.

Those of you who feel like you know Tunetext: it would be very helpful to know what your experience has been with it. I'd like to know what worked best for you as you learned to use it.

You are pathfinders. I'd like to direct others down the paths you've broken for yourselves.

If there's things can are still confusing, I think can clear those up for you.

Websites can improve quickly if folks tell the designer how the design works for them. This is still a site designed, constructed and programmed by a single person. I really depend on and am grateful for your feedback.

If there are elements of the Tunetext interface that are getting in the way of your work, I can teach workarounds or change the Tunetext code if that's necessary. With feedback, I'll likely be able to improve the software, which will let others join the party, and make easier use of these tools for their own projects.

See the Feedback link and drop me a line, or else reply to the request via the Comment link below.

Sunday, April 3, 2011


Public Ideas - Credited or Anonymously Credited

There's a lot of code running on the SongTrellis site that I've put into play in the last year and a half but haven't really documented. The Public Ideas section of the site, so far has been a pretty much unexplained territory.

It gratifies me to see that despite the lack of documentation or encouragement, some visitors to SongTrellis have figured out how to use the feature.

If you follow the previous link you'll hear the results of an experiment that a SongTrellis person made using polychords, stacks of two or three different chords built on different roots, many times of differing chord types, that are meant to be played at the same instant in a composition. These kinds of chord combinations cause a lot of unusually colored, frequently dissonant, harmony to sound.

I've experimented a little with these ideas myself, but haven't mastered them by any means. It tickles me when someone sends in polychord ideas that expand my concept of what this kind of harmony can do.

I'm going to write about Public Ideas, in the hope that if more folks understand its use, we'll see more sharing of musical discoveries here.

The purpose of Public Ideas is to have a publicly shared repository of musical ideas, that can used to publish new harmonic, rhythmic or melodic discoveries.

Anyone who visits SongTrellis has access to the site's Tunetext service, an environment where it's easy to do musical exploration. Once a new idea is discovered with Tunetext, it's extremely easy to post that to the Public Ideas.

If you type http://www.songtrellis.com/tunetext into a web browser or follow the Tunetext link that's listed in the middle row of links on the linkbar that appears at the top of most SongTrellis pages, a web page with an entry form will be displayed.

I'm going to document how to do your own harmony experiments here. Rhythm and melody experiments I'll document in future posts.

When a new Tunetext page opens, the tunetext entry form is empty, and you'll see that the topmost, large text entry field is titled "Tunetext Entry For Score's Chord Voice". If you can type a list of chords into this entry field (a chord root name followed by a chord type name), and press the form's Submit Score button, the Tunetext service will play that chord sequence for you. (The chord roots and chord type names that appear in a Chord Grid, define the proper spellings of chord roots and chord types).

In the page that plays the music so that you can audition it, you can press the "Edit Tunetext Parameters" button, to reopen the entry form, so that you can change the sequence to be played and resubmit that.

If you eventually find a new sequence that you really enjoy listening to, Tunetext pages provide many different ways that you could package your new music so that it could be shared on SongTrellis or on your own websites.

There is a link provided that you can use to download a MIDI rendering of your harmony.

There's a link that will animate your score so that you can easier follow the score as it plays, in case you have a hard time reading music,

There are three link groups that package up the score MIDI sequence with a MIDI player and a printable score of the music in a web apge, so that you can document your idea by posting it on a web page.

It's also possible to package the music as a Tunetext page, that transforms the score for your music into a clickable button. Clicking on a Tunetext button score, launches the tunetext page that was used to create that score.

Tunetext buttons are beautiful ways to share music in an instantly editable form. Once the score for the tunetext is playing, you can edit its parameters and customize in many different ways: alter the notes, chords or rests in the score, change the tempo, its instrumentation, change which voices of the score are visible in the score, color code the notes and chords to mark those elements harmonic or melodic meaning, etc.

Right after the links that prepare the HTML of a Tunetext so that it can be posted, and the link which demos what the Tunetext of the current score would look like, there is a link to "Publish button to SongTrellis Public Ideas".

The pages that are listed in the "Public Ideas" link that's available on the SongTrellis link bar, point to a separate page for each day since the institution of "Public Ideas" where a SongTrellis visitor has decided to publish a new idea for other visitors to see. The list shows the ideas for those days in reverse chronological order (newest days listed first).

If a visitor is logged into SongTrellis at the instant they submit a new public idea, the tunetext button that is logged will show their user name below the button. Here are two ideas that were attributed to me on March 1st, because I submitted those while I was logged in.

If they are not logged in and the submission is anonymous, the button will show the IP address of the computer that submitted the idea. For example, here's a really nice harmony ideas that the author titled "bioassay" published on January 24th, that I think has a very attractive sound. As I point to this tunetext posting, I would very much like to give credit to the person who composed this idea.

If you are proud of the work that you've done, when you've found an idea that you'd like to see in Public Ideas sign on or sign up with SongTrellis so your posting will be properly attributed in Public Ideas.

That'll make it easier to start conversations about these kinds of posts so we can ask folks who generated interesting ideas about how they made their discovery.

You can easily copy the permalink for a Tunetext or the copy the entire Tunetext button and paste it into a new Discussion Group topic and ask a question about it. If it's properly attributed, you can copy that attribution into the message you post.

New Rhythm Premier 4-2-2011

I'm publishing a new 8 beat, two part ensemble rhythm, that uses mixed beat subdivisions (some beats divided by 4, others by 3). I composed this in the late hours last night before midnight struck.

You may audition it here.

It's got kind of a lopsided feeling to it, but I've grown to like how it feels the more I've listened to it. If it doesn't make sense to your ears at first, focus your attention to the cymbal sound that mixed into one of the parts.

Wednesday, March 30, 2011


The idea behind the SongTrellis Rhythm Web

I've decided I want to creat a collection of interesting rhythms analogous to the harmony collection that I've built for The Changes department of SongTrellis.

I've just announced software, the new Play Rhythm service to make it easy to specify rhythms and play them, and to invent rhythms and audition those inventions.

Along with that, there's now an ever-growing glossary of rhythms available on SongTrellis, a Rhythm Web that collects and categorizes rhythm recommendations that are submitted from Play Rhythm pages.

As of this evening there are 720 rhythms recorded there.

My reasons for collecting such a rhythm glossary are the same as those when I started to collect harmony for The Changes: to collect interesting musical examples for practice, for study, as an idea reference and for composition.

Just as harmony can be excerpted and composed with using SongTrellis web services, I believe that visitors will be soon be able to select rhythms from the Rhythm Web and paint pitches over the rhythms they select to compose their own melodies.

Once a SongTrellis visitor has manually entered a rhythm for Play Rhythm to perform, or else has asked Play Rhythm to invent and perform a new rhythm, they'll likely see a set of three buttons appear in middle of the Play Rhythm webpage that performs their their rhythm.

That button group appears in the page when ever the site's Rhythm Web software notices that the rhythm that is being played is novel (ie. is not currently recorded in the Rhythm Web). The descriptive text in front of the first button says "This rhythm is not listed in the Rhythm Web yet. Do you like it enough to recommend it?". The button label is "Yes". If you do think the rhythm is worth recommending to others, by pressing "Yes" you add the rhythm to the Rhythm Web database.

The label in front of the next two buttons asks "Can you hear a way to make it better?". The label of the second button is "Yes, Launch URL to edit it". If this novel rhythm was randomly generated, it's generated URL appears in a text edit box towards the bottom of the Play Rhythm page, but is not yet loaded into the web browser URL entry field. Pressing the button copies it there.

Then you can edit the rhythm tempo set by its bpm parameter or change it's definition in the URL's rhythm parameter, so that you can revise the rhythm and improve it. After you've changed the URL, you can resubmit the URL to hear how your revision sounds. You can continue to revise until you've perfected the rhythm to the point that you can recommend it.

If you reach that point (I nearly always find that whatever rhythm has been invented is a keeper and just needs its tempo adjusted), you can press the "Yes" button to recommend and record the rhythm.

If you think there is no hope for the rhythm recommended or the experiments you've made with it, you can press the button labeled "No, a New Rhythm Please". That tells Play Rhythm to invent a new rhythm for you to audition, which will appear in your page a second or three later, depending on the current website load.

Random rhythm generation iterated rapidly allows quick growth of the Rhythm Web

I find that auditioning randomly generated rhythms and recommending only the good-sounding ones to the Rhythm Web is an extremely fast way to grow the Rhythm Web database.

When a new rhythm is generated, the generation software creates all of the parameter settings that would otherwise have to be typed if I intended to only add rhythms that were already recorded in some other printed source.

A randomly generated rhythm's complete specification is ready to be submitted to the Rhythm Web, within a second or two after a random generation request is made. Accurately typing a URL can take more than a minute, so depending on random generation for new rhythms to populate the rhythm database is perhaps 30 times faster than manual entry, and is quite interesting to experience because a novel rhythm almost always results from running the process.

Even if I were to focus rhythm generation, on randomly generated 4 beat rhythms whose beats are subdivided 4 times, there are roughly four billion individual rhythm signatures that are waiting to be evaluated for that case. There is an overwhelming amount of rhythmic variation that is available to be sampled.

It does amaze me that the random generation process I use rarely produces a boring or malformed rhythm. Nearly everything that comes up is a keeper. I seem to reject only 1 rhythm out of every hundred or two that are generated.

I can usually request, audition, revise and submit two or three rhythms in a minute, using this process.

If I were able to devote an entire day to the generation of new rhythms, I suspect that I would be able to grow the number of rhythms on offer past the the high water count of 1237 chord progressions that is currently offered in The Changes. It took several years labor to surpass the goal that I set for myself of collecting at least 1200 chord progressions in The Changes.

I think we can easily grow the Rhythm Web so that tens of thousands of informatively categorized and easily accessed rhythms are recorded there.

I don't want to do that though. I want other visitors to the site to have fun also and receive credit for its construction.

Logged in members of the site who recommend rhythms, are given credit in the listings for the rhythms they contribute. Their rhythm contributions are also individually indexed under the Rhythm Web's "Rhythms By Contributor" subheading.

If a person is not logged in when they make a recommendation, the credit line generated shows that the rhythm was added anonymously.

Monday, March 28, 2011


Premier: A new orchestrated ensemble rhythm. You can watch as it's built a part at a time

Here's a fully orchestrated three part rhythm loop that uses two drummers and a bell player, a five beat cycle which I wrote in about 90 minutes time when it was still Sunday evening a few hours ago.

I liked what I was hearing so I recorded the intermediate stages of the rhythm in the Rhythm Web. If you look in the Sunday night Rhythm Web log starting with the 10:07:27 pm log entry, you can see the rhythm being built a part at a time and then see how I revised the bell part as the last change to the rhythm at 11:22:35 PM to complete the ensemble.

The first part of the loop was invented for me by Play Rhythm. That first pattern was expressed using only 1 and 0 symbols and wasn't logged. The Play Rhythm request that invented that pattern for me, I submitted around 10:03 pm.

After I heard it and decided I liked it, I prepared the rhythm for orchestration by first replacing all 0 characters in the description with asterisks. Then I substituted different combinations of B (for the drum sound that drummers call Bass), O (for the drum sound that drummers call Tone. The symbol used is O because that symbol is a diagram of where you hit the drum outer rim with your fingers to make that sound), and S (for Slap)

Because the default drum pitch assignments for B,O, and S sounded good to my ear, I had the orchestrated version for the first part ready four minutes later.

I invented the second part by ear and by hand, by finding a hit pattern that fit with the first, that was expressed only using 1 and 0 symbols, using only the generic rhythm sound that a 1 symbol causes to play. Then I figured out the specific drum hits I wanted to use.

Finally, I decided to use a 3-2-3 pattern twice during the first four beats of the bell pattern, and then figured out what needed to play in beat 5 to make the bell pattern wrap back to the beginning in a pleasant way.

I wasn't so lucky with the way the second drum part and the bell part sounded using the default drum pitch assignments, so I had to choose the sounds by hand that would be played for those parts. I added inst2 and inst3 parameters to the rhythm URL to explicitly specify drum sounds that would be heard as Bass, Tone, and a bell stroke.

The process of deciding exactly what drum pitches I should use that would be properly interpreted as Bass, Tone and Bell, was the hardest part of writing this loop. That gap in the log between 10:07 and 11:03 was devoted almost entirely to that experimentation to make sure the second rhythm part was properly enunciated by good sounding rhythm instrument pitches.

The MIDI drum kit that's provided in the Standard MIDI instrument sets that web browsers use is a little deficient of sufficient tones to make it seem that separate drums of the right type are playing. It's also a little harder to do because these different kinds of drum sound are assigned to MIDI note names without any apparent pattern, making it necessary to do experiments to figure out the correct MIDI pitch names to use.

As we have more experience with Play Rhythm, we'll eventually settle on default orchestrations for second and third voices that will rarely require tweaking when you want to slap out a new rhythm.

Even after I thought I was finished, I had to exchange the bass and tone assignments of the hits in the second part so that the drum pitches used would be properly identified in the box notation that is produced. I didn't change the sound of the loop, just changed how the rhythm was notated.

Sunday, March 27, 2011


Quick, what's the concise description of the Play Rhythm service?

If you follow the Play Rhythm link that appears at the top of most SongTrellis pages or type its URL into your browser, http://www.songtrellis.com/playRhythm, and submit the service URL without adding any parameters to it, Play Rhythm invents a new rhythm that plays over a varying number of beats, from 2 beats to 16 beats long, chooses a random tempo to play it, performs a MIDI format loop of the rhythm and generates two different kinds of notation to show what's being played.

If you enter the Play Rhythm URL, and add to its end a rhythm= parameter to it followed by a rhythm description, a symbol string that follows simple rules, you've described a rhythm that Play Rhythm can perform and notate for you.

If you further add a bpm= parameter followed by an integer between 1 and 999, you can vary the tempo of the idea that is performed, with the tempo measured in beats-per-minute units.

High speed rhythm discovery - Play Rhythm helped me do this

Take a look at the log of the 16 rhythms that were registered in the SongTrellis Rhythm Web yesterday.

Now take a look at the time stamps of the log entries. Until the last six minutes of the day only 3 new rhythms were registered. The last 13 of those rhythms were discovered and registered in the Rhythm Web during the last 5 minutes 35 seconds of the day (from 11:54:26 PM through 11:59:59 PM). The last one was recorded in the last second of the day.

I did all of that that using this site's new Play Rhythm service.

Believe me, my imagination for inventing new rhythms does not work with that kind of speed, fluency or variety. And I'm an extremely slow and inaccurate two-finger typist. If I had to type parameters to specify these new rhythms, perhaps I could have done one in five minutes time, certainly not 13 of them.

What I CAN do quickly is to listen to a series of ideas that are presented in quick succession and quickly decide if I value the presented ideas. If I like how a new idea sounds but don't like the tempo that it's played with, I can quickly reach into a URL that describes the new idea and change it's tempo to something I enjoy.

I can quickly audition a new version of a rhythm, because Play Rhythm usually responds to requests in a second or two. If I finally like what I hear, I can submit it to the Rhythm Web, which catches new rhythm ideas that SongTrellis visitors recommend, a second or so later.

From the evidence of yesterdays Rhythm Submission log, I can discover and log an entirely new rhythm structure, suitable for practice, composition or study, two or three times per minute.

What shows up on a Play Rhythm page?

Start one up and you'll see.

Right below horizontal rule that marks the bottom of the SongTrellis link bar, you'll see a section that presents the hand drummer's box notation for the rhythm that's playing in the web page.

That section begins with the label "Box notation for Rhythm:" which is followed by a string of 1 and 0 characters delimited with dash characters. This symbol string completely describes the rhythm that is playing.

If the rhythm is orchestrated so specific hand drum hits are notated for the rhythm, 1 symbols will be replaced by alphabetic characters such as B,O,S,H,X,T,Ss,So which select particular kinds of drum sounds, and '*' symbols may substitute for 0 symbols.

You will see a long horizontal grid of squares with grid squares containing X and * symbols. This is the box notation, perhaps the dead simplest to interpret music notation known to man. The asterisks are instructions to stay silent, the X characters are instructions to make a noise.

Starting with the first square of the notation, you make a noise (clap, slap a close by object or your own skin, click with your tongue, say a one syllable word) or stay silent as specified, and then visit each next square to the right at whatever comfortable fixed tempo that you choose for yourself. You will hear yourself produce the sounds of the rhythm specified.

If the rhythm is specified using 1 and 0 symbols, you'll notice that * grid squares correspond to 0 symbols in the specification string and that X squares correspond to 1 symbols in the specification.

You'll see an ascending sequence of numbers that show up in their own square above certain squares in the grid row. Those mark the beat in the rhythm. The sound directly below a beat count square is synchronized with the beat in the rhythm performance, with the sounds and silences of the following squares up to the next beat played inside of the beat on subdivisions of the beat.

Right below the box notation you'll see a MIDI player controller, which is preset to loop the rhythm that's on display. If you press the Pause button in the controller you can halt the performance. Following the box notation, there are several lines that vary. If your rhythm has not yet been recorded in the Rhythm Web, a line is showed that ask you if you enjoy the rhythm enough to recommend it for others to listen to it, as it's currently performed, followed by a "Yes" button. If you decide to press "Yes", the rhythm as you recommend it will be registered in the Rhythm Web.

If you decide not to recommend it as it's currently performed, the following line asks if you can hear a way to make the rhythm that is being performed sound better. If you can, there is a button that says "Yes, launch the URL for the rhythm" so you can edit it. Your other option is to press a button that says "No, a new rhythm please". If you follow the "No" option, an entirely new rhythm will be invented and displayed on the page.

If you do decide to recommend a rhythm, this section will display the credit line for your submission followed by a "New Rhythm" button. Press that and the old rhythm will be erased and a new one will be generated for you to audition.

Below this decision section on the page, you'll see a smallish music score, which shows the music notation which produces the rhythm's MIDI performance.

Below the score there will be a link that will allow you to download a MIDI rendition of the rhythm for yourself. Below the MIDI downlaod link, you'll see a link to "Launch a Tunetext for the Rhythm". Following that link will launch a music editing page that will let you customize the rhythm for your own purposes.

Finally there will be the URL that fully describes the rhythm that's being performed. You can save this to your own computer so that you can play the idea whenever you wish, and you can email this to others to share it.

What does 1100-000-0011-0010-011-011-0011-0000 sound like?

Click here to find out.

But actually, you can tell a lot about the rhythm that's specified there just looking at that one-and-zero-y notation.

The rhythm is an 8-beat cycle. You can tell by counting the groups between the dashes.

If you count to 8 along with the click track that accompanies the rhythm performance, you'll hear the rhythm idea restart again on the next beat. Since that's a restart, you should start counting up from 1 again as the cycle starts up again.

The loop starts with a double hit that begins with the first beat of the rhythm cycle.

There are double hits, four of them, and even a single hit later on, but those all start in the middle of a beat and never wrap around to cover the start of the next beat. We can tell that hits start in the middle of beats in every beat but the first, because each group after the first starts with a 0.

So we know that we'll feel like we're tripping along in the later part of the rhythm and then regain our footing and hit our marks perfectly precisely as the rhythm restarts.

On beat 2 and beat 8, we're not supposed to hit at all.

We start out dividing the beat by 4 on the early beats, but we divide by 3 on beats 5 and 6, which gives us the impression that the rhythm flow is slowing down there. We move back to subdivision by 4 in beat 7, which gives us a sense of accelerating that will help us jump back onto the beat, when 1 comes around.

This string specifies a rhythm sound and we can figure out a lot about what we'll hear if we perform the rhythm by just paying a tiny bit of attention.

Usually, a string of 1s and 0s is just noise that has no meaning in itself. My eyes glaze when I see something like that. I usually find that something of this size, I can't memorize.

Interpreted as a sound, it means something, so I bet I'd have a much better shot at memorizing it.

Friday, March 25, 2011


A new Play Rhythm service and its rhythm description language

I 'm going to describe here a simple language for describing rhythms that hand drummers play. I think this language can be extended to describe any metered rhythm that is used in music.

There is a new service on SongTrellis, the Play Rhythm service that performs and notates rhythms that are described using this rhythm description language.

If you enter the Play Rhythm URL, without any additional parameter specifications, like this:

http://www.songtrellis.com/playRhythm

the service will invent a new single voice rhythm, show it's notation and perform it, with a click track marking the beat. You'll launch this form of the Play Rhythm service if you follow the Play Rhythm link that appears in the link bar at the top of most pages on SongTrellis.

The rhythm examples that are shown below all have links attached that will play the example with accompanying click track using the Play Rhythm service.

If you have comments or questions about any of this, use the following comment link.

SongTrellis Rhythm Descriptions - the simplest building blocks

A lot of rhythmic information can be captured by writing down strings of symbols consisting of the numerals 1 and 0. In this description scheme, a 1 is an instruction to make a sound and a 0 is an instruction to remain silent.

If we can assign separate one syllable word translations for 1 and 0 and then speak those translations in order, we can speak a verbal representation of a rhythm. Since we are trying to describe hand drum patterns, lets agree to say the word "hit' whenever we encounter a 1 in a rhythm symbol string and say "don't" whenever we encounter a 0 in a rhythm string,

So if we saw the rhythm description

10010101

we could verbally translate that as "hit-don't-don't-hit-don't-hit-don't-hit" Similarly when we saw

011101

we could verbally translate that as "don't-hit-hit-hit-don't-hit".

Now if you think of each word as a instruction to perform a particular action with a rhythm instrument, "hit" instructs a musician to strike a drum with your hand or a stick. "Don't' means that during the period of time that word is spoken, no action should be taken to produce sound with the instrument, leaving a gap, which musicians call a rest, in the sequence of rhythm sounds produced.

We can make these lists of rhythm symbols arbitrarily large. 0111010111011000101

would have the verbal translation "don't-hit-hit-hit-don't-hit-don't-hit-hit-hit-dont-hit-don't-don't-don't-hit-hit-don't-hit"

Yikes, we need punctuation

It's good that rhythm symbol lists can be arbitrarily large. This means that long ideas of any length can be represented by this language.

The downside: as symbol strings lengthen they become increasingly difficult to interpret accurately. Reader's eyes get lost in the middle of large strings, and are unable to keep track of the symbol that should be interpreted next.

In printed text, spaces are left between words to mark their boundaries, and punctuation marks mark the boundaries of larger units of text such as phrases and sentences. This accommodate a reader's need to deal with large ideas using right-sized smaller chunks.

There is natural punctuation - rhythms do pulse

Is there a punctuation scheme that works well for rhythms?

Fortunately yes. Nearly always, rhythms pulse. When a musician plays a succession of evenly times hits in a rhythm or notes in a melody, they will regularly emphasize hits or pitches of a sequence at measured intervals. They'll access such hits or notes by playing a sound louder or otherwise distinguishing the emphasized sound from those that come before or after.

Regular pulsation is a phenomena that humans experience second by second as they live. A person's breathing automatically demarcates the flow of their mental life every few seconds as time flows by.

When people sit extremely still or when the exercise vigorously, they frequently can experience the regular thumping of their heartbeat. If they touch a finger to their wrist or neck arteries they can measure their own pulse.

We also experience regular pulse sensations as we move about in the world. When we walk at a fixed rate of speed, our feet hit the ground at a fixed tempo, which we can hear as a bump or thud as our feet touch the ground. If we walk on a noise producing surface like gravel or leaves, we hear a small burst of sound each instants hay we step.

The pulsations we feel in rhythms and melody model our mental life and our experience of the passage of time. Musicians call those pulsations beats

The rhythms and melodies that are played by musicians model a person's mental life. A rhythm that pulses us thought to be lively and becomes memorable because the pulse boundaries allow a person to experience a rhythm as a succession of chunks.

The pulses that listeners hear in music are called beats, because when a percussion player performs a hit in a rhythm to make it pulse, they beat their instrument a little louder to make the sound that marks a pulse.

When musicians hear the sequence of beats that thread throughout a performance, they hear space between beats that they can fill with other sounds following their own imagination and taste. Within a piece of music, you'll frequently hear that the beats of the piece are uniformly subdivided by a certain pre-arranged count through the entire piece.

Rhythm hits and note beginnings always are synchronized to one of the beat subdivisions of the piece. Beats are most frequently subdivided 2, 3, 4, 6, or 8 times but any arbitrary integer subdivision count can be used by a composer or improvising musician.

In the rhythm descriptions that produce rhythms that you are most used to hearing, dashes mark the boundaries between beats and a fixed subdivision count is used for every beat of the rhythm

In our rhythm descriptions, we'll place the dash character between symbols to mark the beginnings of beats in a rhythm:

1011-0111-0101-0111 (each beat divided into four subdivisions)

or

101-110-011-111 (each beat divided into three subdivisions)

The hit following a dash is always interpreted with an accent or emphasis to demonstrate that a new beat is starting. The first symbol of string is accented to show that it marks the very first beat of the rhythm.

The textual interpretation of

1011-0111-0101-1001

would be "Hit-don't-hit-hit-Don't-hit-hit-hit-Don't-hit-don't-hit-Hit-don't-don't-hit"

The textual interpretation of

101-110-011-111

would be "Hit-don't-hit-Hit-hit-don't-Don't-hit-hit-Hit-hit-hit"

The pulse marked hit and don't syllables would be spoken a little louder to mark the presence of the beat in that rhythm interpretation.

Performing musicians would anticipate that any other instruments that sound during the accented beat subdivisions would be played with a slight accent or a little louder on emphasized hits or rests.

Rhythm patterns repeat

You have a choice when you see this kind of notation, you can interpret the list of sounds encoded by the pattern string and stop after interpreting it once or, more often, you can loop the pattern by jumping back to it's beginning and repeatedly running it over and over in your mind, repeating it verbally, or repeating it in actual performance.

So verbally looping

0110 would cause you to speak the words

Don't-hit-hit-don't-Don't-hit-hit-don't-Don't-hit-hit-don't-Don't-hit-hit-don't

If 1011-0111-0101-0111 were looped,

each repetition of the pattern would mark out a repeating cycle of four distinguished beats like this:

Hit-don't-hit-hit-Don't-hit-hit-hit-Don't-hit-don't-hit-Don't-hit-hit-hit-Hit-don't-hit-hit-Don't-hit-hit-hit-Don't-hit-don't-hit-Don't-hit-hit-hit-Hit-don't-hit-hit-Don't-hit-hit-hit-Don't-hit-don't-hit-Don't-hit-hit-hit...

Frequently, any sounds that synchronize with the first instant of a rhythm cycle would be accented more strongly than any of the other beat counts with the cycle.

The number of subdivisions played within beats can vary from beat to beat

For example, we can have beats in a rhythm that all divide differently, like this:

11-101-1111-11011-101101-1001111-11111111

which plays one additional subdivision in each beat. The increasing subdivision sequence here is 2,3,4,5,6,7 and 8, which gives an impression of an ever accelerating sequence of hits in the rhythm, until it restarts.

When this kind of scheme is used, the beats of the rhythm fall in fixed tempo as always, but the beat subdivisions can vary, leading to the sensation of a rhythm speeding or slowing momentarily for particular beats. A musician's time sense has to be more finely developed to accurately perform these kinds of rhythms.

To verbally perform this rhythm, a musician would still follow the sequence of hits and rests that is notated but would speed or slow the tempo at each subdivision change to ensure that the first sound of each beat grouping is played precisely on the beat, and that the subdivisions occur at the correct evenly spaced intervals with the beat.

Polyrhythms

When polyrhythms are played, rhythm sequences that count their beat at different tempos are played at the same time. The sequences all begin with a synchronized beat that serves as the 1 beat for each pattern, but then diverge at different speeds until they reconverge when they all return to their common 1 count.

If you have a rhythm that plays over a certain count of beats like this four beat pattern, which clicks along with each click of the accompanying click track:

1111

you can ask the Play Rhythm service to stretch it to play over a different number of beats by bracketing the entire pattern with square brackets, and writing an integer number that is different than the pattern's beat count in front of the left square bracket, like this:

3[1111]

or like this

7[1111]

Polyrhythms that play only over certain beats of a pattern

You can add specifications for beats in front or in back of a polyrhythm specification. For instance adding a beat in from of and in back of the three beat pattern

3[1111]

we can create the five beat pattern

1111-3[1111]-1111

where a polyrhythm is experienced on beats 2, 3, and 4 as the background click track is performed.

Subdividing a single hit inside of a beat

In a busy rhythm, we might want to play several hits within the time of a single hit of the outer pattern.

We can create this effect by replacing a single hit (a 1 or 0 symbol) with a square bracketed pattern of hits, like this:

10[1011]1-1[110]10

This plays a sequence of the four hits 1011 during the time of the third hit of beat 1, and plays the triplet 110 during the time of the second hit of beat 2.

We can play a sequence of hits over the time of a certain number of hits in the outer pattern - polyrhythms over beat subdivisions

If we place an underscore character and an integer in front of a bracketed pattern that takes the place in the time of a single hit, we can stretch the bracketed pattern so that it plays over the time of several hits, like this

10_3[1011]1-1_2[110]10

This causes the first beat to be subdivided into six hits with the pattern 1011 played over the time of hits 3,4, and 5, and causes the second beat to be subdivided into five subdivisions, with the pattern 110 played over the time of subdivisions 2 and 3.

Thursday, March 25, 2010


Score Animations Rendered in a few seconds by a new SongTrellis Animation Service

I'm working on an Animation Service that any visitor to SongTrellis can use to generate an animation that shows precisely how a musical score they specify should be interpreted at any tempo. If you don't know how to read music, these animations will precisely demonstrate for you how a score is performed, show how music notation is translated into audible musical sound.

The process of rendering the animation as a QuickTime movie for small scores usually completes in less than 20 seconds. Frequently it completes before 5 seconds have elapsed. Rendering large scores can take a minute or two.

Since the animation rendering process does not complete instantaneously, animation requests can stack up during busy periods, so requests are queued and a progress report is returned so that users can anticipate when their animation will be ready to watch.

I believe that early users of the service will find that animations render quite quickly.

Initially, you'll be able to use this facility even if you are not signed in a member of the SongTrellis site, in the interest of getting folks to kick the tires on this new feature of the site.

What does a score animation look like?

When a score animation begins to play, a blank music staff is displayed onscreen in the animation video's display area as its soundtrack starts to sound. At the instant each new note or chord sounds in the score or when a rest initiates a period of silence in a score voice, those score elements are added to the staff, showing a visual equivalent of each musical sensation that you hear in the performance.

As a piece plays, you see a traveling wave of notation that grows to the right. When staff real estate is exhausted on the bottom right of the score image , the page is turned, and a blank staff is drawn for the next measures of the composition to play onto. The animation continues in this manner until the performance of the music ends.

Here are several animations I created while I tested and debugged the Animation Server:

Click on the links to play them. You'll see a download progress indication shade the animation's scroll bar from left to right as the animation downloads to your computer. On most web browsers, the performance of the animation will stutter until the download completes. If you decide to press the play button on the movie controller early to experience the stutter, you can restart the animation after download completion by pressing play a second time or slide the scroll bar thumb to the left to experience it properly without playback hesitations.

Luebbert, why are you working on this?

I originally implemented this animation facility in my music editor thinking that viewing scores properly animated would help me in my musical studies and would give me better feedback and help develop better intuition as I composed new music.

Animated scores have proved to extremely useful to me in my own musical development, so I want to see if they make a difference for visitors to the SongTrellis site when I deliver them via a commonly used video format.

Besides that, I have some pride that perhaps I've created something before anyone else in the world has thought to do it. So far as I can tell, no one has tried to provide such a service on the Internet before now.

Can I claim the prize? Eventually I'll find out. If I'm not the first, I'll be one of the first.

You can make score animations for yourself using the SongTrellis site right now

Here's a newly composed score presented by Tunetext service that's available on SongTrellis: Slow Melody 2-23-2010
Click on music to play

If you mouse click once on top of this music, this music will play and a Tunetext page will launch.

A Tunetext Service response page is a kind of factory for building music examples that you can publish on your own websites. In a second or two's time, the service builds a MIDI sequence and score image for a piece of music encoded within a music description that's recorded inside a URL, whenever such a URL is submitted to the SongTrellis site. The server decodes Tunetext URL score descriptions and builds the score that was specified in the URL.

To respond to a Tunetext request, the service builds a page that performs the music as a background sound and displays the score image for the music, both of which you can download to your own computer.

Below the score image on that page, several sets of links are listed that generate HTML code so that you can present this newly created music on your own websites in a number of different formats. There's a link included with each set to email the HTML to your email mailbox.

It's also easy to submit your music to SongTrellis so that you show up in our SongTrellis Composer listing, if you care to present your work here.

Watch for the "Create an animation" link on Tunetext pages

Immediately below the Tunetext score image I've included a new link titled "Create an animation for this tunetext". If you click on that link an animation corresponding to that score will be built by the site's Animation Server. As soon as the animation is added to the service's rendering queue, a web page is shown that shows you the link that you'll use to access your animation when it's ready to play.

While the animation is being rendered, if you click on that link you'll see a progress message that reports its position in the queue if it needs to wait for rendering or the number of seconds since rendering started if the rendering process has started. You refresh the progress page to get a new progress report.

When the animation is ready to ship to your web browser, the progress report is replaced by the actual animation which will start to render in your browser, if the browser is set up to play QuickTIme movies. If you like what you saw and heard, you can press that Back button on your browser and use your browser's download process to save your own copy of the animation on your machine.

You can customize a score a great deal by tweaking Tunetext parameters before you send it to be animated.

If you press the "Edit Tunetext Parameters' button on a Tunetext page, a page will launch that will contain many different parameter settings that you can change. You can change instrumentation or the score tempo. You can choose how many staff systems should be visible in the animation and the width of the animation. You can choose to play the score with a click track that metronomically marks the beat in your piece. You can color pitches in the score differently to help you identify the melodic or harmonic meaning of a particular note in the score.

Any other easy ways to get hold of a Tunetext page so we can start an animation?

A high percentage of the tune pages in "The Changes" department of SongTrellis, include a link towards the bottom to the SongTrellis Excerpt Service. This provides a form that lets you take a slice out of score that has been posted on SongTrellis and play it, loop it or customize it for yourself.

Once you set the bounds of your excerpt and press the Play button in the Excerpt Service form, a link will be displayed on the line immediately below the Play button ithat's titled "Launch tunetext page for this excerpt". Clicking that link will launch a Tunetext page, which will include the "Create an animation for this tunetext" link that you can use to request generation of a new animation.

Can I animate an existing musical composition that I have music for?

If you have sheet music for it, it can be a pretty fast operation to transcribe that into a tunetext stream that describes your music. You can type the tunetext description directly into Tunetext Entry form that you can access via the URL http://www.songtrellis.com/tunetext.

Once you press the "Submit" button on the entry form, the music specified by the tunetext will be synthesized and displayed as a score image. The "Create an animation for this tunetext" link will be provided below the score image.

Can I animate a score that I've composed using SongTrellis Workscore Composer page?

Sure. Right above the image of your score in your composer window, there's a link titled "Create Tunetext URL for Workscore". Follow that, and you'll see the "Create an animation for this tunetext" link on the tunetext page that launches.

Saturday, August 22, 2009


New Public Ideas Department

SongTrellis now has a Public Ideas department. If you follow the link, you'll see a list of the days on which new ideas have been submitted.

If you click on the link for a particular day, like this one for August 8th, you'll see a list of tunetext buttons.

When you click on one of the score images, the music specified by that chord image will be launched into a tunetext window and will begin to play. If you press he "Edit This Tunetext" button, the tunetext specification will be loaded into an editing form, along with a set of controls that can be used to customize the score specification.

There are controls to change the score tempo, instrumentation, display format, color code the notes in the score in different ways, among others.

If you change the settings of these controls. the score will play with the changes you've requested once you press the "Submit" button.

Thursday, April 23, 2009


New hardware and software for the SongTrellis site

I'm upgrading the MacMini that handles music editing requests on SongTrellis.

If you use the Excerpt Service, the Chord Grid, Tunetext, or any of the Workscore editing pages (Workscore Composer, Workscore Chord Entry, or Chord Entry By Grid), all of those functions now execute on that Mac Mini. As a result, you should notice that just about any operation you execute on those pages will respond a quarter second to a half second faster.

If I've done my job right, that's really all you should notice about this change. If you find any feature of the site that's not working the way you expect, let me know, and I'll see if it's happening because of the changes I've made to the server setup. I should be able to fix such problems pronto.

I'm also right on the verge (tomorrow, if all goes well) of making a big change to the way SongTrellis is hosted. Ever since I opened the site, the site's server software has run on Dell Power Edge servers that run a Microsoft Small Business operating system.

That new MacMini is powerful enough to do everything the Dell servers did, and will be much less of a hassle to maintain and less costly to run.

Unless I hear of terrible problems, tomorrow I'll make the change that will cause SongTrellis to be entirely hosted on the new MacMini. This means that I'll change the site's configuration so that when a user asks to see a page on songtrellis.com, that request will be directed to IP address 216.168.47.12, the address of the Mac Mini, rather than 216.168.60.220, the IP address of the Dell server.

This configuration change will be noticed by all of the name server computers in the world over a 24 hour period. When the name server that provides your web browser with the IP address for songtrelis.com finally notices this change, your web requests will begin to be handled by the new MacMini server.

Earlier this afternoon, I copied every member Workscore from the Dell server to the Mac Mini. Around 4pm PST, I changed all of the music editing links on the SongTrellis linkbar to use URL's that run on the MacMini server.

If for example, you followed the "Workscore Composer" link, you would find that it now loads a URL that reads as http://216.168.47.12/workscoreComposer2 rather than http://www.songtrellis.com/workscoreComposer2. That way when I change the name service record for the site, there will be no possibility that you'll make edits to your workscore that will be forgotten when all processing shifts over to the MacMini.

24 hours after I make the name service change, I'll change the music editing URLs on the site again so that they all point to www.songtrellis.com.

This whole website migration process should be complete sometime late on Saturday.

If you run across any problems, let me know via email at davidlu at songtrellis.com. You can also call me via Skype. My Skype ID is daveluebbert.

 

 


Click here to see an XML representation of the content of this weblog.

Calendar of latest submissions
May 2012
Sun
Mon
Tue
Wed
Thu
Fri
Sat
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Apr   Jun

Recent Comments

Powered by Disqus
Our contributors, our methods..

Our composers

Introducing the composers who have contributed songs for the Tune Cellar. We hope eventually thousands of folks will present their work here.

Your work can have a home here. Here's how..

We can teach you how to compose. It just requires ears and a cool piece of software. Learn more here.

Technorati profile




Last update: Friday, January 13, 2012 at 12:24 PM.