Online music education courseware for non-musicians who want to learn how to write their own rock songs.
About Me
Name: Jim Plamondon
Location: Austin, Texas, United States
This blog documents the development of JIMS iGetIt! Music System (JIMS). JIMS' goal is to help you Understand Music in 24 Hours™, if you are (a) a non-musician (b) who wants to learn how to write your own rock songs. Requiring no instrument other than your own computer, and without using traditional notation, JIMS is being designed to deliver a deep understanding of tonal structure...in just 24 hours.
The Kodály music education Methodstarts young students with pentatonic songs, then slowly introduces them to the "extra" diatonic intervals, and then eventually to the "extra" chromatic intervals.
Now, imagine that the youngest students were presented with a "pentatonic keyboard" in the Wicki/JIMS note-layout, like the one shown in the (non-interactive) image at right.
For the pentatonic songs used initially by the Kodály Method, this pentatonic-only keyboard would be ideal. It would contain only the notes (intervals) that the students were currently learning. (Other keyboard controls, not shown, would be used to indicate the tonic and define its pitch.) Also, it would give students a visual, tangible metaphor for tonal space, hence (potentially) accelerating their development of audiation skills.
Then, when they were introduced to the "extra" intervals of the diatonic scale, they could get a new diatonic keyboard.
As you can see, it's the same as the pentatonic keyboard, with the addition of Fa and Ti along the left and right edges, respectively. In effect, the diatonic keyboard's extra notes expand the "tonal space" to which the student is exposed.
Again, by containing only the notes in the scale currently being studied, such a keyboard has the potential to sharpen student's focus.
Later, as the student progressed to learning about chords, they could be presented with a two-handed diatonic keyboard, suitable for self-accompaniment. (The note-layouts are mirrored for cognitive convenience, and angled for ergonomic convenience.)
...which would, in turn, be superseded by a two-handed chromatic keyboard:
...and eventually, a two-handed enharmonic keyboard, featuring all 19 intervals of the enharmonic scale:
The latter keyboard looks rather overwhelming, and it probably would be, if it were the first keyboard a student encountered. However, after starting with the simple pentatonic keyboard and working progressively up through the diatonic an chromatic keyboards, the enharmonic keyboard wouldn't seem like such a big deal. It just adds a few extra notes at the outer edges of the keyboard, leaving its pentatonic/diatonic/chromatic core unchanged.
The main advantage of this approach is that the student always uses a keyboard that has precisely enough note-controlling buttons to achieve the required pedagogical goals, thus encouraging proper focus and minimizing distraction/confusion. Of all of the isomorphic note-layouts, the Wicki note-layout is best for this purpose. Each successively-wider Wicki keyboard enables the student to see farther into tonal space, literally expanding their tonal horizons.
The main disadvantage is that the student must trade-up keyboards rather frequently.
Perhaps this disadvantage could be ameliorated by using a virtual multi-touch keyboard, such as the much-rumored Apple iSlate (see article here):
Such a multi-touch sensitive display would perhaps lack the tactile feedback needed in a true performance instrument...but that's not the point. The Kodály Method stresses the use of one's voice as one's performance instrument. Hence, in a Kodály context, the Wicki note-layout keyboard would be used not for performance (absent the Thummer [sigh]), but rather for pedagogy -- i.e., in helping students apply additional senses (sight, touch) to the development of proper audiation skills.
Using a virtual keyboard would enable new intervals to be introduced not just one scale at a time, but one note at a time -- first just So and Mi, then also Do, then Re, then La, etc. -- following the standard sequence of the Kodály Method.
Apple's iSlate is likely to be to expensive for K-12 music instruction. Give it 10 years, however -- maybe less -- and iSlate clones will be cheaper than traditional band instruments.
Let’s apply Andy's next-highest-cardinality-MOS-scale-calculating algorithm, starting with the pentatonic scale.
First, here's an animation of the pentatonic scale on a Wicki note-layout (source code here):
As you can see, the pentatonic scale has two large steps (m3’s) and three small steps (M2's). Name L S Cardinality Pentatonic 2 3 5
So far, so good.
Remember, a well-formed scale is drawn from a stack of tempered perfect fifths; the stack has the same number of notes in it as the scale does: the cardinality of the scale. The pentatonic scale's stack of P5's (laid on its side) looks like this: -2 -1 0 1 2 Do-So-Re-La-Mi
Now, let’s apply Andy's algorithm to these values of L and S to get the L and S of the next-higher-cardinality MOS scale, i.e., L’ and S’ respectively.
Cardinality’ = 2L + S = (2 * 2) + 3 = 4 + 3 = 7, which agrees with our expectations for the diatonic scale, which is a god sign. ;-)
X = L + S = 2 + 3 = 5
Y = L = 2
Therefore, the next-higher-cardinality-than-pentatonic MOS scale will have either 5 large steps and 2 small steps, or vice versa.
The diatonic scale has five large steps and two small steps, with cardinality 7, so that seems to be the “right choice.”
However, I am confused. Does this mean that there ALSO exists some “Bizarro-Diatonic” scale of cardinality 7 which has five small steps and two large ones? If so, what is that scale? If not, why not?
This process gives us the following result:
Name L S Cardinality Diatonic 5 2 7 Bizarro-Diatonic 2 5 7
Hmmmm, it’s a little weird to have the Bizarro-Diatonic scale as a result of this algorithm, but what the heck, let’s press on.
[Edit: Andy Milne was kind enough to point out that the Bizarro-Diatonic scale is more properly named the Mavila scale, following Erv Wilson. I haven't been able to find out much about it on the web. When I understand it better, I'll put up an appropriate animation of its interval pattern.]
The diatonic scale described above looks like this (source code here):
The diatonic scale's stack of tempered P5's is just like the pentatonic's, but it has one additional note at each end (Fa and Ti): -3 -2 -1 0 1 2 3 Fa-Do-So-Re-La-Mi-Ti
Now, let’s apply the stated algorithm to the diatonic scale’s L and S values, to find the next-higher-cardinality MOS scale (which OUGHT to be the chromatic scale, if all goes well).
Taking the values L' = 2 and S' = 5 from the diatonic scale...
Cardinality’’ = 2L’ + S’ = (2 * 5) + 2 = 10 + 2 = 12, which is the cardinality of the chromatic scale, which is encouraging.
X’ = L’ + S’ = 5 + 2 = 7
Y’ = L = 5
Therefore, the next-higher-than-diatonic MOS scale will have either 7 large steps and 5 small steps, or vice versa.
Hmmmm, that's odd. Can there be two different versions of the chromatic scale?
Yes, it turns out that there can, and the existence of the two different versions answers a question that's been puzzling me for the last couple of weeks.
Here's an animation of the first version of the chromatic scale (source here):
There are 12 intervals in the chromatic scale, so any drawing of them is going to look complicated, and this animation's drawing is no exception. But if you look closely, you can see a lot of structure in its pattern of intervals.
Firstly, the scale has only two interval sizes, as predicted: minor seconds (m2's, in red) and augmented unisons (A1's, in pink).
Second, there are five A1's (smaller intervals) and seven m2's (larger intervals). In 12-tone equal temperament ("12-tet"), the A1 and m2 happen to be equally wide (at 100 cents), but they are still different intervals, so they have different shapes on the Wicki note-layout.
Third, all the interval lines are parallel to each other. Among them, they outline a chromatic staff (well, kinda sorta).
One of the note-buttons, Le, isn't used in the animation above, however -- none of the interval-arrows ever reach it. You might well ask, "why did Jim include Le in the animation, then?"
To answer this leading question, let's look at an animation of the other version of the chromatic scale (source here):
It looks very much the same, as you would expect. The only difference is that, after the scale goes up an m2 from Fi to So, it goes up another m2 from So to Le, rather than turning back towards Si with an A1 as the previous version of the chromatic scale did.
We can call the first version "Chromatic Si," and the second version "Chromatic Le." In 12-tone equal temperament, there is no difference between them, but there would be a difference in (say) 1/4-comma meantone tuning, which had a leading role in Western music for many centuries (and which appears to have been used in the tuning of ancient Chinese bells).
In the stack of tempered perfect fifths that forms the chromatic scale, Le and Si are on opposite ends: -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 Le-Me-Te-Fa-Do-So-Re-La-Mi-Ti-Fi-Di-Si
...which is the same as the diatonic stack, but with extra notes added at the ends (in boldface).
This chromatic stack has 13 notes, but only 12 can be included in the chromatic scale. One must choose whether to include Le or Si; you can't have both, because then you'd have a scale of cardinality 13, not 12.
If you choose to include Le, you get the Chromatic_Le scale.
If you choose to include Si, you get the Chromatic_Si scale.
[Edit: I got all excited when I first saw this, because, after about 4am, my counting skills decline precipitously -- so I thought that Chromatic_Le had 5 small and 7 large intervals, and Chromatic_Si, vice versa. They are just transpositions of each other, and nothing to get excited about. One should never trust (or at least, never post) late-night epiphanies.
As further evidence of the decline in my late-night counting abilities, I also declared the down-and-right-pointing intervals (e.g., from Do to Di) to be "diminished seconds," when they were clearly augmented unisons (how "clearly"? In both chromatic animations, the A1 arrows ALWAYS connect notes that begin with the same initial consonant -- that is, chromatically-altered versions of the same note. Hence, the interval MUST be a variation on unison. What an idjit I am!). I have relabeled them accordingly, and updated this blog post's text accordingly. Thanks to Andy Milne for giving me the heads-up on these errors; see his comment below.
I realy should have changed the color of the A1 arrows to be cyan, while I was relabelling them, to follow my convention that all augmented intervals are colored cyan...but I forgot, and now I'm too tired again. Later, perhaps.]
I've been up all night working on this blog posting (and its animations), so now, at 6am, I'm off to bed. Soon, I'll put up another post that continues walking up the cardinality chain to 17-tone scales, 19-tone scales, and beyond.
But, why these cardinalities, and not others? Why are there not well-formed scales of cardinality 6, 8, 9, etc.? Also, what cardinalities come after 12, that are well-formed?
I asked this of Andrew Milne, who gave a great answer, which I have appended below (with hyperlinks and occasional [editorial comments] added for your convenience...).
The quick answer is that the next couple of well-formed scales fter the chromatic have cardinalities 17 and 19.
------------------------------------------------------------
From: Andrew Milne [mailto:andymilne@tonalcentre.org]
Sent: Wednesday, December 30, 2009 11:10 AM
To: 'Jim Plamondon'; 'Bill Sethares'
Subject: RE: well formed scales, cardinality: next after 12?
Hi Jim and Bill
A lot of these concepts – well-formedness, Myhill’s, etc. are mathematically related and their definitions are hard to separate. But this is the method I use to determine the cardinality and tuning range of MOS/well-formed scales.
First you need a Farey sequence of order N. Then any Farey triple (three consecutive terms of the sequence), whose middle member has a denominator of N (i.e., j/k, M/N, p/q) gives the tuning range for an MOS scale of N tones. For example, Farey(12) has the triple 4/7, 7/12, 3/5, which tells us that there is a 12-tone MOS (the chromatic scale) which occurs for tunings where 4/7 < beta/alpha < 3/5. We know this method works, but Bill and I still haven’t worked out quite why.
By generating successively higher-order Farey sequences, you can find triples with higher denominators, and hence the tuning ranges of higher cardinality MOS scales. Note that as the cardinality goes up, the tuning range gets smaller. (This is all illustrated in the MOS labyrinth picture [for which, see Figure 5 in this paper]).
For your example, the next well-formed scale after the 12-tone chromatic is 17 if 7/12 < beta/alpha < 3/5, and 19 if 4/7 < beta/alpha < 7/12. You can either calculate this yourself or, more easily, just read it directly off the MOS labyrinth diagram.
Actually, I’ve just remembered, there’s another easy way to do this. If your MOS has L large steps, and S small, the next higher MOS has cardinality 2L + S with L’ large steps and S’ small where EITHER
L’=L+S large steps and S’=L small OR
S’=L+S small steps and L’=L large; and so on.
For example, the 7-tone diatonic has L=5, S=2; the next higher MOS has 2L + S = 12 tones.
If this 12-tone MOS has L’ = L+S and S’ = L, then the next higher MOS is 2L’+S’ = 2(L+S)+L = 3L+2S = 19 tones.
If this 12-tone MOS has S’ = L+S and L’ = L, then the next higher MOS is 2L’+S’=2L+L+S = 3L+S = 17; and so on.
I presume that this rule is a direct result of well-known properties of the Farey sequence.
Every MOS/well-formed scale has a tuning range over which it is also proper (Rothenberg’s term, or “coherent” in Balzano’s terminology). There is a method to find this using the Farey sequence of a higher order (or Stern Brocot tree – which is the same thing but arranged into layers), which was explained by Thomas Noll, in one of the emails he sent when reviewing our JMM paper [see draft here]. I can’t quite remember what he said (I do have a copy, so I can check), but it amounted to something like stepping up to the next higher MOS scale and using that tuning range, or similar. For example, the diatonic scale has a tuning range of 4/7 to 3/5, but is proper only over 4/7 to 7/12.
Presumably there are also ways to generalise these things for 3-D tunings producing “pairwise well-formed” scales, and higher-D tunings. This would certainly form the basis of a groundbreaking paper...
Andy
------------------------------------
More to follow.
Here's the first lesson in JiMS iGetIt! Music System (source code here):
It's not terribly impressive, of course, but one must start somewhere, both as a student of music and as a student of coursware development.
Well, it doesn't display correctly in IE/Windows, just as my last couple of test projects didn't. Works fine on Safari/Mac. Clearly, I can't continue to ignore this IE/Windows problem.
Here's a minor iteration to my recent state-controlling button-bar (source code here):
The main difference is that, in this version, whenever the application's state changes, the StateButtonBar's currently-selected state is updated to reflect that change.
Say, for example, that the user presses the StateButtonBar's State3 button, thus setting the application's currentState to "State3". Then, the user presses the stand-alone foo button, beneath the StateButtonBar. This sets the application's currentState to "foo", and because the StateButtonBar now listens for application state changes, it is notified of the state change and can update its own state (by selecting the ButtonBarButton labeled "foo") accordingly.
I'm too broke to pay a patent attorney to "prosecute" (drive forward) this patent application -- heck, Thumtronics already owes patent attorneys more than it (or I) can repay. However, if I can prosecute it myself for a couple of hundred bucks and a couple of dozen hours, I can probably do that, on behalf of iGetIt! Music.
The twist claimed by this patent application is not just the Wicki-to-QWERTY mapping, but rather, mapping each note of tonic solfa (in the Wicki pattern) to the QWERTY keyboard, and relying on the QWERTY keyboard's underlying computational power to map these intervals to the correct pitches, given a common reference pitch. Hence, "La" always maps to the same button on the QWERTY keyboard, but that button does not always map to the same pitch. It's a "movable Do keyboard," right there on your computer.
If I'd realized, before starting the Thummer project, that I could map Wicki's note-layout to an alphanumeric keyboard as described in this patent application, then I might have focused on a software-only product from the outset, and saved myself a fortune in hardware-development costs.
Based on my experience with Thumtronics, here's my advice to budding inventors:
One language, one market. If you're a native speaker of English, file only in the USA (although perhaps via WIPO's international process, because it gives you more time). If Japanese, in Japan only, and if Chinese, in China only. If you're European, file in the USA only, until Europe adopts a single unified patent system that enables prosecuting (i.e., "driving forward") a single pan-Euopean patent in a single language.
Don't hire a patent attorney. Instead, (a) carefully read dozens of patents related to the one you expect to file, paying particular attention to the specialized language used, (b) carefully compose your own patent description, claims, and drawings, based on what you learned from that study, and finally (c) buy the latest version of Patent It Yourself, and follow its instructions to the letter.
Thumtronics broke both of these rules, and the resulting expenses were an unsustainable drain on its finances. According to LegalZoom, "thousands of inventions are patented each year but only a minuscule amount actually generate substantial, if any, profits." Too true.
With such low odds of returning any value, the cost of patenting must be equally low for patents to be worth filing at all.
All of the patent attorneys in the world will tell you the same lie: that they cannot possibly estimate the cost of prosecuting your patent; that every patent is different; and that the best thing to do is to go ahead and get the process started. This is complete crap. Given all of the patents that have been filed, it is surely possible to find the average cost (and standard deviation) of patent filing by number of claims, number of descriptive pages, number of drawings, number of countries, number of languages, etc. This is basic data-mining.
However, if starry-eyed inventors knew in advance what the process might cost, they would be less likely to invest in it. Hence, it is in the patent attorney's interest to keep the costs of the process as opaque as possible, while leaving its early stages inexpensive. It's a scam, made worse by the high barriers to entry erected to limit entry to patent attorney's profession, thereby limiting competition and increasing the margins that patent attorneys can charge.
As with so many other aspects of modern global capitalism, the patent system has been skewed away from "defending the rights of the little guy" towards being a tool for their oppression. The big guys can afford to work the legislative/industrial system, in which legislators sell -- for "campaign contributions" and other graft -- the right to expropriate money from the little guys. The little guys just get screwed.
So, why bother to invent at all? Well, because -- as Canada Bill Jones is quoted as saying -- "Of course the game is rigged! But it's the only game in town, and if you don't bet, you can't win."
Rather than spending a fortune on patent attorneys, I submit that one should file one's own patents -- keeping the cost as low as possible. Then, once you've produced a product based on the patent that is generating a profit stream, buy patent insurance to defend those profits. A million-dollar policy currently costs around US$25K/year.
The most carefully-crafted patent is worthless if you can't afford to defend it, whereas even a poorly-crafted patent, backed up by a million-dollar defense fund, will deter infringers.
This app looks the same as the last one I posted, but it implements the transitions between states using Flex's 'transitions" mechanism, rather than just executing onEnterState event handling code (source code here):
Other differences include:
1) on entry to State1, the label for the current state is spun at the same time as the narration is played, and
2) on entry to State2, a second sound is played after "test narration two" completes.
It shows the same clipping problem in IE on Windows. I'm going to have to look into that.
One way to architect the code for a "lesson" is as a series of states. Flex 4 (now in beta) has improved its support for states, so this seems like a reasonable approach to explore.
Here's a program that demonstrates a trivial use of states in Flex 4 Beta 2 (source code here):
A ButtonBar at the bottom is initialized with the names of each of three states, and a label reflects the name of the currently-selected state. When the ButtonBar is clicked, the state is changed. Whenever a new state is entered, a short narration is played.
To use this approach in my courseware, I'll need to break each lesson up into a series of states, and define the actions to be taken whenever a new state is entered. Flex 4's new-and-more-general animation model should make it easier to define these actions than was previously the case.
I have no idea whether this is the "best practice" way to architect interactive courseware in Flex. I'm kinda flying blind here. Suggestions welcome.
[Postscript: All three ButtonBar-buttons display properly in Safari on my Mac, but the rightmost part of the StateTest1 widget, including most of the third ButtonBar button, is clipped off in Internet Explorer on my Windows machine. I don't know why. Welcome to the joys of cross-browser incompatibility, I guess.]
Here's a new version of SoundTest that sounds much better (source code here):
The difference is that this new version calls sound-generating code from a beta version of the SonoFlash library. Assuming that this library will be offered at a reasonable price once it is released in final form, I expect to use it for most of my courseware's lessons.
Adobe has a list of requested features that one can vote for, and MIDI is on the list, but apparently it has never made the cut. Perhaps Adobe should acquire SonoFlash, and use its team (and cross-platform sound engine) to implement MIDI in Flash.
Click either "Play" button; a note will sound, and the button's name will change to "Stop".
Click the same button again to silence the note; the button's name will change back to "Play."
Click the other "Play" button; a different note will sound (an octave higher than the first note); click it again to silence it.
So far, so good. :-)
Here's what doesn't work:
Click on either "Play" button, sounding a first note.
Click on the other "Play" button, sounding a second note while the first button is still sounding.
Bad things now happen. The sounds do not blend (as one would expect octaves to do), but instead grate against each other in a nasty alternating, overlapping grind. Also, the application's performance slows to a crawl. Click on either button, to silence its note, and you'll see that it takes forever for the button to respond to the click.
I'm not sure how to fix this. The code seems to be working as intended. The flaw seems to be in how I'm using Flex/Flash's sound architecture -- that is, my tactics are correct, but my strategy's wrong.