ThumMusings

Bringing the user interface of music-making into the 21st Century, and changing the world... one note at a time.

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

Thursday, July 12, 2007

Abstraction: A Parable

One of the most powerful tools in science is abstraction, which Wikipedia defines to be “the process of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose.” The story below is a parable on the power of abstraction.

1998: Redmond, WA
In 1998, Microsoft responded to a host of competitive threats and internal opportunities by undertaking the development of a language-neutral runtime engine (.NET Runtime), application framework (.NET Framework), and Integrated Development Environment (or “IDE,” Visual Studio.NET). Such a language-neutral Runtime, Framework, and IDE would have to implement all of programming functions that were shared across languages. That is, the Framework/Runtime/IDE had to provide an abstraction of programming language functionality. At this higher level of abstraction, all programming languages would look essentially the same.

However, at this time, within Microsoft, “language neutrality” meant “supporting every language whose name began with ‘Microsoft,’” such as Microsoft C++, Microsoft FoxPro, Microsoft Visual Basic, Microsoft J++, etc.

Project 7 Is Born
On a late fall afternoon in 1998 while soaking up some uncommonly-bright Redmond sun (and some uncommonly-good Pyramid Hefe Weizen) on my back deck, my brother Peter and I were discussing this strategy. I worked in Microsoft Research’s University Relations Group at the time, handing out cash to researchers at MIT and other universities, and Peter worked in Microsoft’s Developer Relations Group, helping independent companies develop great software development tools for Windows. Despite being “leaf-node” employees with no strategy-setting authority whatsoever, we decided to re-define “language neutral” to include non-Microsoft languages – specifically the dozen or so most academically-interesting or commercially-important programming languages. Then, in true Microsoft style, we gathered the support and resources we needed and Made It So. (I understand that Microsoft isn’t like this anymore, which is a terrible shame.)

Project 7….Scores!
Cutting to the chase… Project 7 was wildly successful, swatting home runs on all of its objectives and becoming a model for many subsequent technology evangelism efforts inside Microsoft. (This article mistakenly refers to my efforts as “Project 42,” but the rest of it is basically correct.) There are now over 40 programming languages for .NET. While the success of Project 7 is a testament to the power of technology evangelism, the success of .NET is a testament to the power of abstraction. By abstracting the notion of programming languages to a higher level, .NET made it possible for previously-isolated programming languages to interoperate seamlessly, providing new opportunities for discovery and innovation.

The LINQ Project
Project 7 also yielded some significant ancillary benefits. Among these, one of my personal favorites was that Microsoft was able to identify and hire some of the brightest minds in programming language design. One example of this (out of many – please forgive me, guys, for not listing you all here) is Erik Meijer, whose breakthrough work on data access has recently been incorporated into the .NET Runtime as LINQ (Language INtegrated Query).

Erik started the work that became LINQ by abstracting data access to a higher level. At this new level of abstraction, (a) all data sources look the same, (b) a small number of simple algebraic operations can perform all necessary data access tasks, and (c) these operations can be integrated into any programming language.

As a direct result of LINQ’s abstractions, LINQ is...
  1. so easy to use that programming tasks that would previously have required expensive, specialized database programming skills are can now be accomplished, using LINQ, by any competent computer programmer.
  2. so powerful that data access tasks that would previously have required separate, specialized code for different kinds of data sources can now be accessed with a single, simple piece of code.
  3. free with Visual Studio (including its free express editions).

LINQ’s abstractions are based on ideas from the fringes of mainstream computer programming practice: lambda calculus. The vast majority of software developers working today have never even heard of lambda calculus – except for the odd programmer (often considered to be very odd indeed). LINQ uses lambda calculus to solve the perennially vexing problem of data access so elegantly – and through such a ubiquitous vehicle as the .NET Runtime – that mainstream programmers simply cannot continue to ignore it. Because all mainstream techniques had previously failed to solve the perennially-vexing problem of data access, the eventual solution had to come from the fringes.

So, what does this have to do with Thumtronics’ musical innovations?

Thumtronics and Abstraction from the Fringe
Thumtronics’ musical innovations also arise from applying the tool of abstraction to ideas from the fringes of mainstream practice. Whereas traditional approaches to the display, control, and synthesis of musical information are focused on pitch, Thumtronics’ innovations:

  1. Abstract musical information to the higher levels of

    1. Musical Intervals: the relationships between pitches, rather than the pitches themselves, and

    2. Temperaments: the relationships among intervals, in which (for example) the major third is defined as being the same width as four tempered perfect fifths minus two octaves (syntonic temperament), or in which the diminished fourth is defined to be the same width as five octaves minus eight tempered perfect fifths (schismatic temperament);

  2. Abstract the structure of the Harmonic Series and Just Intonation to the higher level of pseudo-harmonic timbres and their related tunings; and
  3. Organize the display of musical information using the geometry of an isomorphic keyboard (also known as a “generalized keyboard”).

Thumtronics’ abstractions are based on a collection of ideas – generalized keyboards, tonic solfa, the chromatic staff, Euler’s tonnetz, tuning theory, etc. – that the vast majority of musicians know nothing about (aside from the odd microtonal musician or aficionado of alternative musical notations, considered by his peers to be very odd indeed). Thumtronics’ abstractions use ideas from the fringes of the mainstream music-making community.

However, just as LINQ’s fringy abstractions solve the perennially-vexing problem of data access, so do Thumtronics’ fringy abstractions have the potential to solve the perennially-vexing problems of (a) music education’s high failure rate, (a) the music products industry’s commoditized products, (c) the exhaustion of the resources of tonal harmony (also known as the “crisis of tonality”), and (d) the failure of any one music theory to adequately explain the many different tuning systems used around the world.

Can Thumtronics’ innovations really solve all of these problems? Maybe. I know a powerful abstraction when I see one, because I’ve seen them and driven them to success before. I’ll do the same with these.

The Moral
The moral of this story is simple: abstraction of ideas from the fringe can solve perennially-vexing problems and change the world. Never bet against an abstraction whose time has come.

Labels: , , , , ,

Friday, June 15, 2007

Tuning Invariance and the Brain

I had a great "first contact" meeting with Bob Duke yesterday. He’s the Director of UT/Austin's Center for Music Learning, and Google suggests that he's very well regarded by the music education world, with an international profile.

We're meeting again next week.

Bob wanted more information on two points I raised in my presentation, so I sent him links to two papers: the first describing Bill Sethares' work on the relationship between tuning and timbre, and the second (Burgoyne, 2005) showing the brain's perception of tonal pitch-space. This posting is an extended answer to the issues Bob raised.

Tonal Pitch Space & the ThumMusic Note-Layout
Figure 3d in Burgoyne's paper is the result of using Maximum Variance Unfolding (MVU) instead of Multi-Dimensional Scaling (MDS) to measure & display the relationships in Weber, Krumhansl, Kessle, & Lerdahl's tonal pitch space.

Why use MVS? To quote Burgoyne:
Like MDS, this algorithm produces an embedding from a matrix of pair-wise distances, but while maximizing the variance of the output embedding, it seeks to preserve only the distances between nearest neighbors. This subset of distances is locked, and a nonlinear optimization technique is used to expand the data as much as possible given these locks, analogous to stretching a ball-and-stick model in which the balls correspond to harmonies and the sticks correspond to the locked distances.

What Figure 3d shows, then, is one slice through the relationships among nearest neighbors in tonal pitch space – and along that slice, the relationships match those of the ThumMusic note-layout.

Relationship of Tuning & Timbre
The Indonesian gamelan, Thai renat, and Mandinka balafon are all traditionally tuned in an inharmonic manner. Bill’s research shows that the tuning of these instruments is closely "related" (his term) to the timbres produced by those instruments. Clearly, then, the human ear/brain/mind can accept a wide range of tunings as being "musical," as long as those tunings are "related" to the timbres in which they are played (or vice versa – same thing). The X_System's use of X_Spectra is based on this insight.

Bill's work supports the argument that the ear/brain/mind's hardware and software can process, as tonal music, a wider set of tuning relationships than has been investigated by Krumhansl, Lerdahl, etc. as above, so long as the tuning and timbre are "related."

Tuning and the Brain
Importantly, the geometry of the ThumMusic note-layout is tuning invariant – i.e., the pattern of notes is the same no matter what the tuning (with some caveats). Since the perception map shown in Burgoyne’s Figure 3d is identical to the tuning invariant ThumMusic note-layout, then it seems likely that the brain's perception of tonal relationships ought to be tuning-invariant (with related timbres), too.

I hadn't made this connection before.

Cool!

Labels: , , ,