Rhythm Tutor  Rhythm Tutor

go to home page Student Projects full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish by Roedy Green ©1996-2008 Canadian Mind Products

This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. It does not describe an actual complete program. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; I have too many other projects of my own.

I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project any way you please.

In 4/4 musical time, if you only use 8th notes, quarter notes, half notes, or whole notes there are only a limited number of possible rhythms. At each time slot there can be sound or silence. The previous note can be tied/joined to the previous or not.

It is thus possible to enumerate all possible rhythms and display the traditional music notation for them. All you need is a Unicode font that has glyphs for the four notes, or you can use png images, and combine them on a Canvas.

You can also make the sounds, either with MIDI (which Java now supports), or with mathematically synthesized sound.

You let people chose the rhythms and then hear them. You can make it into a game. You play the rhythm, and they have to guess which musical notation corresponds.

You make the first note of each monotonous bar a little louder.

Other than 4/4 time you could do 3/4 or 5/5 or 6/6 etc.

You could use 1/3 notes, 1/5 notes. You could superimpose two rhythms on top of each other. What does a 6 beat rhythm sound like on top of a 7? The idea is to give a musician a tools to become exhaustively familiar with all the possibilities rather than sticking in familiar ruts.

Here is another similar projects you could tackle: play scales in tunings based on different numbers besides 12, e.g. where each note is the 16th root of two larger than the last, rather than the 12th root. You calculate the twelfth root of 2 as Math. pow( 2, 1.0d/12.0d ) in Java.

Experiment with what the analogous chords and arpeggios sound like.

Try transposing some public domain music such as Bach’s counter point to your new tunings to see what it sounds like.

Your program could be an application, and Applet or a JWS app.

Applet
Canvas
Font
JWS
MIDI
Name That Tune
power
root
sound
Unicode

CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.18] The information on this page is for non-military use only.
You are visitor number 914. Military use includes use by defence contractors.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/project/rhythmtutor.html J:\mindprod\project\rhythmtutor.html