iGetIt! Music

Online music education courseware for non-musicians who want to learn how to write their own rock songs.

My Photo
Name:
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.

Monday, June 14, 2010

HTML5 vs. Flash/Silverlight/JavaFX

Given that I've invested many months in teaching myself Flex, and have a professional background in technology evangelism, I'm fascinated by Apple's decision not to support Flash/Silverlight/JavaFX/etc in the iPad.

Why did Apple ban Flash (among other things) from the iOS?

John Gruber's insightful blog post, Why Apple Changed Section 3.3.1, cuts right to the heart of the matter, to wit, that this is a tactic to help Apple establish the iOS API as a de facto standard for mobile apps.

This is a very dangerous tactic for Apple. Tactics that are perfectly legit for a non-monopolist (such as Microsoft's Windows pricing policy) are retroactively illegal for monopolists.

Apple's market share of the mobile handset market, at just 2.7%, is far from monopolistic. However, in 2009, 94% of mobile apps were sold into the iOS market. That is, if you want to profit from sales of your mobile app, then you must release it on iOS, and therefore you must develop it according to Apple's dictates. That is pretty much the definition of monopoly power. Once Apple is determined to have monopoly power, tactics such as Apple's banning Flash/etc. are likely to be found to be retroactively illegal. (I cannot over-stress the importance of the word "retroactively" in this discussion.) This is the market that will capture the attention of anti-trust regulators.

An anti-trust inquiry into Apple's tactics has already been launched in the US; I would not be at all surprised to see one follow rapidly in the EU.

Apple's actions impose two new costs on itself:

  1. Direct costs: Anti-trust defense costs a fortune, in legal bills, fines, and―most importantly―executive focus.
  2. Indirect costs: Acting in a monopolisitc manner, as Apple is now doing, makes it appear to be evil. Apple has profited enormously from its warm and cuddly reputation, which it has now started ruining. This indirect cost is very likely to far outweigh the direct costs of anti-trust defense.

If Apple's actions succeed in establishing it iOS API as the de facto mobile app standard, however, then these costs can be easily borne out of the immense profits that it will make from the resulting vendor lock-in. Apple would be far more powerful than Microsoft ever was, because it would control

  • the central processing unit (A4, like Intel's x86)
  • the hardware (iPhone/iPad/iWhatever, like Dell+HP+everyone else)
  • the OS (iOS, like Microsoft Windows)
  • the app distribution channel (AppStore, like everyplace you ever bought software), and 
  • the software development tools (XCode, like Microsoft's Visual Studio and the open-source Eclipse tools platform). 

Apple would have proprietary control over the entire value chain...except for mobile apps, from which it would nonetheless extract a 30% tax via the AppStore. It would have the most comprehensive computing monopoly since IBM's.

Here are some relevant links:
Apple is attempting to cover two bases at once:

  • First, it is using the license restrictions on the iOS SDK (and related AppStore approval) to focus independent developers on the iOS API, thereby building a critical mass of support for it, and locking it in as the de facto standard API for mobile app software development, as described above.
  • Second, it is preparing for a future transition away from native (iOS or Android) apps to open-standards-based Web apps, in case its iOS-focused strategy either fails or dies a natural death due to the maturation of open standards such as CSS, HTML, etc. Hence, its aggressive support for those standards the open-source WebKit browser, on which Apple's Safari is based. WebKit is intended to ensure that if web apps emerge as the new de facto standard, no one else, outside of Apple, controls that API.

In short, Apple's "banning Flash" has absolutely nothing whatsoever with the technical merits of Flash; it is purely a platform play by Apple. All of Steve Jobs' comments regarding the technical merits of Flash are just smoke and mirrors, to distract attention from the core issue.

To further execute this strategy, I would expect Apple to take two steps:
  1. Implement the iOS API on top of Android, allowing Apple to sell its developers an iOS-to-Android app-porting tool. If this tool were expensive enough, the profit from it would more than make up for any "sales of iPhones lost to Android phones due to the availability of iOS apps on Android," while further locking in the iOS API as the de facto mobile standard. Establishing the iOS API as the de facto API for Android apps would emasculate Android as a competitive threat, by ensuring that any new APIs developed for Android would be ignored by developers...until wrapped by new iOS APIs. If Apple could also extend its mobile advertising restrictions to iOS-based apps running on Android, then the porting of the iOS API to Android could be even more profitable. Alternatively (or in conjunction), Apple could license the iOS to other handset vendors, and license the iPhone as a reference design. This alternative is extremely unlikely, however, given Apple's corporate culture and business model.
  2. Release, and feature, Apple-branded mobile apps in the best-selling and most-stable categories. Most casual users will favor the Apple-branded products simply because they are Apple-branded (so long as the apps don't suck). This will not only earn Apple additional revenue, but also give it a stable of in-house applications which can help drive future new iOS APIs to critical mass, and with which non-Apple apps will need to interoperate.



Both of these steps would increase the value of the iOS API standard to developers and consumers, thereby increasing its value to Apple and also locking it in even further.

So, what does all of this mean for Flash/Flex developers such as myself?
  • In the short run, Apple's having banned Adobe's Flash-to-iOS deployment tool is a pain. If I needed to sell my app to iOS users (which, thankfully, I do not), then I would have to use Apple's tools, framework, language, etc. for that version...which would not then be portable outside of Apple's universe. That is, I would be compelled to develop and maintain two codebases.
  • In the medium term, I would expect to see Adobe find workarounds (such as proxying Flash content onto the iOS as Opera Mini does), which will work just fine for many kinds of content (streaming video, for example), but not so well for some kinds (games and RIA's, for example).
  • In the long term, anti-trust action will almost certainly compel Apple to drop its development-tool restrictions.

And throughout this run, the only affected deployment platform is iOS―that is, Apple's mobile products. Flash continues to work great on Macintosh computers, and on all other computers; just not on Apple's mobile products.

Apple's tactic has slightly devalued Flash/Flex's cross-platform value proposition, but the demand for Flex developers has been rising so rapidly that Apple's tactic is a blip, not a barrier, to the monetization of Flex development skills.

Labels: , ,

Monday, June 7, 2010

Starbucks Via Ready Brew: taste-test

Yesterday, I received a sample of Starbucks VIA(tm) Ready Brew Colombia in the liner of my Dallas Morning Newsso I set up a blind taste test.

Bottom line: Starbucks VIA Ready Brew tastes like battery acid. We'll stick with Community Coffee Dark Roast.

The three contenders were:
- Our regular coffee, which is Community Coffee's Dark Roast (brewed in a Bunn BTX Thermo-Fresh Brewer)
- Nescafé Brasero, an instant coffee I bought on a recent consulting trip to Norway
- Starbucks VIA Colombia Ready Brew

The taste-testers: my wife Patti, her mother Gretta, and myself.

I knew which coffees were which, but Patti and Gretta knew them only as coffees A, B, and C.

First, we tried all three coffees black.
- Patti's preference order: C most preferred, then B, then A least preferred, with the comment that B was bitter, but A was worse.
- Gretta's preference order: C most preferred, then A, then B least preferred, with the comment that B was the most bitter.

Then, after adding sugar and half & half, they sipped again, were polled again, and gave the same preference orders.

They result: they liked their regular coffee (Community Coffee Dark Roast) best (coffee C), and were split on whether Starbucks (B) or Nescafé (A) was the worst.

So, we won't be switching anytime soon.

Scientific? Not even close.  Fair?  Absolutely. We were comparing the coffee we drank everyday to an alternative, which is exactly what Starbucks intended people do with its free samples.

If anything, our informal little taste-test made me look forward to trying the instant version of Community Coffee's Dark Roast. We already know that we like its basic flavor.  The VIA packet contains 3.3g (0.1164oz) of instant coffee, and they cost about a dollar per packet in bulk online, so VIA costs about a dollar per cup.  The instant Community Coffee Dark Roast, however, has a list price of $5.69 for a 7 oz jar, which (all else being equal) would make 60 cups, hence costing less that 10¢ per cup -- one-tenth the cost of Starbucks VIA. And, of course, Community Coffee's ground coffee costs even less per cup than that.

Apparently, Starbucks is continuing its business model of selling overpriced coffee to people with more money than sense (or taste).

Thanks for the sample, Starbucks! Now we know that our Community Coffee Dark Roast is not only less expensive, but also tastes better, than Starbucks.

Wednesday, June 2, 2010

Model, Conjecture, Hypothesis, Theory, Law

In science, what is the difference between a conjecture, a hypothesis, a theory, and a law?

The best answer I was able to find, through Google, I found here, written by Jeffrey Glassman (who was apparently paraphrasing Michael Riordan).  Here's the relevant section:

Science is all about models of the real world, whether natural (basic science) or manmade (applied science, or technology). These models are not discovered in nature, for nature has no numbers, no coordinate systems, no parameters, no equations, no logic, no predictions, neither linearity nor non-linearity, nor many of the other attributes of science. Models are man’s creations, written in the languages of science: natural language, logic, and mathematics. They are built upon the structure of a specified factual domain. The models are generally appreciated, if not actually graded, in four levels:
1. A conjecture is an incomplete model, or an analogy to another domain. Here are some examples of candidates for the designation:
“Ephedrine enhances fitness.”
“The cosmological red shift is cause by light losing energy as it travels through space.” (This is the “tired light conjecture.”)
“The laws of physics are constant in time and space throughout the universe.” (This one is known in geology as “uniformitarianism.”)
“Species evolve to superior states.”
“A carcinogen to one species will necessarily be carcinogenic to another.”
2. A hypothesis is a model based on all data in its specified domain, with no counterexample, and incorporating a novel prediction yet to be validated by facts. Candidates: 
“Mental aging can be delayed by applying the ‘use it or lose it’ dictum.”
“The red shift of light is a Doppler shift.”
3. A theory is a hypothesis with at least one nontrivial validating datum. Candidates:
Relativity.
Big Bang cosmology.
Evolution.
4. A law is a theory that has received validation in all possible ramifications, and to known levels of accuracy. Candidates:
Newtonian mechanics.
Gravity.
Henry’s Law.
The laws of thermodynamics.
Each of these candidates can stir arguments worthy of a paper, if not a book, and no model is secure in its position. Weak scientists will strengthen their beliefs and stances by promoting their models while demoting the competition. Some familiar models fail even to be ranked because they are beyond science, usually for want of facts. Candidates:
Creation science or notions of “intelligent design.”
Astrology.
Parapsychology.
UFO-ology.

One of the positive outcomes of the extremely public debate about anthropogenic global warming (and evolution/creation, for all that) is that it has compelled thoughtful scientists to re-acquaint themselves with the Scientific Method.  The Scientific Method is like democracy: the worst possible system, except for all of the others (paraphrasing Churchill).

I don't know whether Glassman (quoted above) is a credible scientist or not, but the whole point is that that's not the point: experimental results are the point, not the personality, pedigree, or popularity of the person who produced them (to be arrestingly alliterative).

JiMS proposes an alternative model for displaying, controlling, and understanding musical information. It is based on the Matrix's hypothesis that human cognition uses an isomorphic note-layout to classify and track tonal relationships over time.

The Matrix's hypothesis is, in turn, based on Sethares' theory that consonance arises from the alignment of tuning and timbre.

JiMS' hypothesis predicts that the cognitive map of tonal space observed by Janata, Krumhansl, etc. will prove to be tuning-independent across the syntonic tuning continuum—but to experiments have yet been performed to test/falsify/confirm this claim (which is why it's a hypothesis, not a theory).

I have every confidence that JiMS will prove to be the fastest path to deep musical understanding. But, what do I know? Until the courseware exists, no experiments using it can be conducted, so I have no supporting evidence...yet. Only time—and the application of the Scientific Method—will tell.

Labels: ,

Sunday, May 30, 2010

Whoa: Major and minor 4th and 5th

(At the time of this posting, JiMS inline interactive courseware brings up this page when students press the "Whoa!" button for more information on the naming of the qualities of the diatonic 4th and 5th.)

In the fundamental scales of Western music (pentatonic, diatonic, chromatic, etc.) each generic interval occurs in exactly two qualities, called specific intervals.

This property is generally called Myhill's property after John Myhill, who co-discovered it with John Clough and Gerald Myerson, as described here.

Many of Westen music's most salient features have been shown to arise from this property.

Hence, it is extremely important to expose, through musical nomenclature,
The difference between diatonic intervals that have
- one width, and
- two widths.

The similarity among diatonic intervals that have
- width, and
- two widths.

The English language's traditional interval-naming scheme fails on both counts. Instead of dividing the diatonic intervals into two kinds (one-width and two-width), naming the kinds consistently, and naming the two qualities of the two-width kind consistently, it divides the diatonic intervals into four categories:
One-width: perfect unison and perfect octave
Two-width, smaller perfect: the 4th (smaller perfect; wider augmented)
Two-width, larger perfect: the 5th (smaller diminished; wider perfect)
Two-width, major and minor: the 2nd, 3rd, 6th, and 7th (smaller minor; wider major)

Furthermore, the English language's traditional interval-naming scheme fails to make an important distinction between
diatonic qualities, and
chromatic alterations.

For example, it uses
"diminished" to refer to both
- the narrower diatonic 5th and
- the chromatically-narrowed cersions of the other diatonic intervals.
"augmented" to refer to both
- the wider diatonic 4th and
- the chromatically-widened versions of the other diatonic intervals.

In summary, the English language's traditional interval-naming scheme
Fails to distinguish among entities that are different:
- By using the term "perfect" to describe both one-width qualities and two-width qualities
- By using the term "augmented" to describe both diatonic qualities and chromatic alterations
- By using the term "diminished" to describe both diatonic qualities and chromatic alterations
Makes false distinctions among entities that are the same:
- By using the different terms "perfect," "minor," and "diminished" to describe the same "narrower version of a two-width diatonic interval"
- By using the different terms "perfect," "major," and "augmented" to describe the same "wider version of a two-width diatonic interval"

JiMS does not break with tradition lightly. However, JiMS' goal of being the fastest path to deep understanding requires that it break with tradition in this case. By making a clean distinction between the one-width and two-width kinds of diatonic intervals (perfect and imperfect, respectively), and naming the imperfect intervals' narrower and wider qualities consistently (minor and major, respectively), JiMS not only exposes Myhill's Property—arguably the most fundamental pattern in all of Western music—but also reserves the names "diminished" and "augmented" to refer to chromatic alteration of those intervals.

 JiMS-trained musicians are expected to (eventually) learn the traditional interval-naming scheme, in addition to the (more logical) one used by JiMS. However, because JiMS is expected to help students learn music's concepts at roughly three times the speed of traditional methods, JiMS-based students will have ample time to learn the traditional interval-naming scheme, too, and still be way ahead.

Labels: ,

Monday, May 10, 2010

Lesson Feedback

Catherine Schmidt-Jones, author of Understanding Basic Music Theory, was kind enough to offer her feedback on JiMS (lessons 1-6) in a recent email exchange.

-------------------
I suspect that what you have so far goes way too fast and too far without being grounded in what the student wants to do. In other words, the average person who can get through that much theory without getting to play anything and without losing interest has probably already learned traditional music theory. You introduce a lot of concepts very quickly, and this could get to be very intimidating for the beginner.

If you want to go for the people who want to make music but want an "easy way" to do it (and I agree that that is the ideal target population for you right now), you need to make sure that you show them as soon as possible that figuring out what you are talking about is going to "pay off" in terms of being able to reach their goals as musicians.

I would introduce the "you can play your computer keyboard" idea much sooner (as soon as is reasonable, actually), and have more exercises that let them get comfortable with doing that. If you can relate the exercises to the theory, so much the better. If you don't do this, then when they do get to the keyboard, that whole long string to play "Twinkle, twinkle" might also look very intimidating and hard to actually play. Don't scare them off; make it fun and engaging to hook them, and I believe they will sign up for more. Keep me posted!

-------------------

To which I responded (in part):

-------------------

I am toying with the idea of writing a Guitar Hero-like game using (a) the computer-based JiMS note-layout for a controller, and (b) piano-roll notation on the JiMS staff. With stickers on the appropriate keyboard buttons, color-coded (as in Guitar Hero) to match the corresponding staff-locations, students could start playing music pretty quickly -- without understanding any of it, of course, just as with Guitar Hero. Still, the game would allow me to introduce JiMS' piano-roll notation "under the radar," so to speak.

With such a game in place, the lessons could bounce back and forth between "lectures" (like the lessons I've already got) and "labs" in which one plays songs that illustrate the concepts presented in the lectures.

Writing such a game is a non-trivial programming challenge, so I've been putting it off until after my programming skills improve sufficiently. Your comments have ratcheted up my perception of its importance, though.

In short: everything you wrote was right on target, and I will change my priorities to take your feedback into account.

-------------------

Her response:

-------------------

I do think the guitar-hero-type playing-lab is a really good idea, even if the main musicianship goal is composition, since being able to play the "instrument" well makes the composition process go much more smoothly.


In fact, I believe that the reason composers tend to play piano or guitar is that being able to easily play and hear your own explorations of harmony theory is really important to developing the musical intuitions of a good composer, which suggests that your approach should work really well for composers. Improvisers too, if you can ever get somebody to build and sell an actual instrument. Maybe if your lessons develop a loyal following! Keep me posted, Kitty

I appreciate her candid feedback, and look forward to receiving more of it.  Yours, too!  ;-)

Labels: ,

Sunday, May 9, 2010

Lesson 7

Here's Lesson 7, on interval nomenclature (kind, quality, degree, naming, and abbreviation).


The main file for this lesson includes over 2,000 lines of code, for a 10-minute lesson (200 lines/lesson-minute). That's more code than I would have expected. There must be an easier/faster way to generate these lessons.

Wiktionary defines "nomenclature" as "a name; a set of names or terms; [and/or] a set of rules used for forming the names or terms in a particular field of arts or sciences." While I've tried to keep the nomenclature of JiMS iGetIt! Music System (JiMS) as consistent with Western music's traditional nomenclature as possible, there are some cases in which improvements can recoup the cost of incompatiblity, with interest.

An example occurs in this lesson. In traditional Western musical nomenclature, intervals are assigned to the "perfect" or "imperfect" categories ("kinds") for no good reason that I can identify.

In JiMS, on the other hand, the differentiation between perfect and imperfect "kinds" of intervals is logical and meaningful: if an interval (of a given degree) occurs in the diatonic scale in one and only one size, it's perfect; if it occurs in two or more sizes, it's imperfect. Hence, the unison and octave are perfect, while all other diatonic intervals are imperfect...including the intervals traditionally named the "perfect fifth" and "perfect fourth."

This nomenclature is simple and logical. It also sets the stage for diatonic set theory, by making Myhill's property much easier to see, understand, and apply.

Is it reasonable for JiMS to use non-traditional names for these intervals? Well..."The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." (George Bernard Shaw, 1903, Maxims for Revolutionists)

Labels: ,

Wednesday, May 5, 2010

Lesson 6

Here's Lesson 6, on modes and mode degrees.


I finally replaced the previous lessons' state-controlling button bar with a simple "Next" button, which only shows up at the appropriate time. This is much simpler and more intuitive, but restricts the user to a single path through the lesson, with no backing up. Good enough for now.

This lesson is, I think, an excellent example of the advantages that animations bring to online music education. The animation of the mode degree labels is impossible to replicate in a book, on a static web page, or even in a live lecture. (Compare it to this, for example.)

JiMS iGetIt! Music System (JiMS) doesn't use the traditional mode names -- Ionian, Dorian, Phrygian, etc. -- because those names are meaningless, and therefore must be memorized, which increases the cognitive load of the overall system.

Instead, JiMS names a mode after its scale and starting note-class -- "diatonic Do-mode," for example, or simply "Do-mode" if a diatonic context can be correctly assumed. This mode-naming system requires no memorization because it "says what it means." The name and the meaning are the same thing. Why require students to memorize the fact that "Phygian" means "diatonic Re-mode," when you can just call the mode "diatonic Re-mode" instead?

Furthermore, this same mode-naming pattern can be applied to any scale, whereas the traditional mode-naming scheme requires a unique name for every combination of scale and degree -- yet there is no standard for such unique names for non-diatonic scales.

A fundamental premise of JiMS is that using its non-standard nomenclature will increase students' learning-efficiency by a factor of at least three (and perhaps much more), producing a time-savings that will far exceed the time-cost of learning, in later lessons, to translate between JiMS and traditional nomenclature. As yet, of course, I have no hard data to support this premise, but the winds of cognitive science are at my back.

Next up: Diatonic intervals.

Labels: ,