30 August 2010, 1:15 UTCClass notes from St. Vitus Dance and Music weekend 2010
Dancing the buffens or bouffons or buffoons or however you wish to spell it:
Woodwind instrument making (see also my instrument design software):
16 August 2010, 11:03 UTCWoodwind design program rewritten
I've completely rewritten my woodwind instrument design program. It uses a more accurate model of the instrument, and it allows a variety of new design constraints to be applied, such as even spacing of finger holes.
Using this, I have made flutes that are in tune over two octaves while allowing many cross-fingerings. The trick to this is a carefully calibrated bore area deviation between the mouthpiece and finger holes, which I achieve by the simple expedient of drilling extra holes and covering them with sticky-tape.
Feels like cheating, really. There's a Chinese flute that perhaps uses the same trick. The Western concert flute instead uses a tapered headpiece, and the recorder uses a cylindrical headpiece and tapered body, to similar effect.
29 June 2010, 2:36 UTCScripting-language JIT compilation as data compression
Idea: the fundamental source of slowness in scripting languages (Python, Perl, Ruby, etc) is inefficient representations of data.
It is straightforward to convert Python bytecode into C, however this yields little speedup. It still has to do all the same reference counting and hash-table lookups.
Replace the garbage collector with a data compressor that looks for common patterns (eg key-value stores with the same keys / types / values) and replaces them with a new more compact type. It will also look for multiple copies of the same value and convert them into a single copy. Of course it will still also throw out garbage.
Language will look and feel like a modern scripting language. However, underneath it will be a functional, lisp-like language. Perhaps point-free style to facilitate compression. Simulate all the usual mod-cons with a stack of monads -- which you won't need to know about, unless you want to do something funky.
The code will be data too, hence compressible too.
30 May 2010, 12:00 UTCMusic
I made up the rhythm, notes are by some Frankish dudes, 400-800AD roughly. They probably had a rhythm for it too, dunno what it was.
Here's another version. This version uses not just prefix constructions but suffixes too. In the face of uncertainty, diversity!
By the way, don't do this:
Dude, it's gone. There is no canonical version. It's just gone. There may never have been a canonical version <glares a Notker the Stutterer meaningfully>. No committee process will bring it back. Just make something up.
21 May 2010, 23:57 UTCFluency
To be fluent is to flow. To be able to achieve a Csíkszentmihályian state of flow (cheek-sent-me-hi-lian). I suspect this to be more than a coincidence of terms.
Therefore, perhaps, to teach creativity, teach fluency. The ability to think natively in the terms of the field. To operate on concepts directly, without having to pop out to some alternate language to perform derivations. The flow state is said to be associated with reduced consciousness, but perhaps more accurate would be to say that it is consciousness made up of different terms and rules.
Applications: programming (I know several languages, but am fluent in Python), dance (eg fluency in galliard, canario, charleston, etc), music (improvisation and ornament), etc.
But how to teach fluency?
14 May 2010, 1:59 UTCRhythm and emphasis in early Gregorian chant
Note durations and emphasis patterns in early Gregorian chant were not notated. This does not mean that they were not present. It further means that singers were not limited by what notation could express. There is potential here for creative reconstruction.
Guido of Aressa, 11th century, in Micrologus, writes:
I speak of chants as metrical because we often sing in such a way that we appear almost to scan verses by feet, as happens when we sing actual meters--in which one must take care lest neumes of two syllables persist excessively without an admixture of some of three or four syllables. For just as lyric poets join now one kind of foot, now another, so composers reasonably juxtapose different and various neumes. Diversity is reasonable if it creates a measured variety of neumes and phrases, yet in such a way the neumes answer harmoniously to neumes and phrases to phrases, with always a certain resemblance. That is, let the likeness be incomplete, in the manner of the outstandingly lovely chant of St. Ambrose.
The parallel between verse and chant is no slight one, since neumes correspond to feet and phrases to lines of verse. Thus one neume proceeds like a dactyl, another like a spondee, and a third in iambic manner; and you see a phrase now like a tetrameter, now like a pentameter, and again like a hexameter, and many other such parallels.
Let the subdivision [partes] and phrases of both the neumes and the words end at the same time, and do not let a long stay [tenor] on any short syllables or a short stay on long ones create an impropriety, though this will rarely demand attention.
Let the effect of the song express what is going on in the text, so that for sad things the neumes are grave, for serene ones they are cheerful, and for auspicious text exultant, and so forth.
We often place an acute or grave accent above [the vowels in the text for] the notes, because we often utter them with more or less stress, so much so that the repetition of the same note often seems to be a raising or lowering.
Towards the ends of phrases the notes should always be more widely spaced as they approach the breathing place, like a galloping horse, so that they arrive at the pause, as it were, weary and heavily. Spacing notes close together or widely apart, as befits, is a good way to indicate this effect [in writing].
Translation from "Hucbald, Guido and John on Music: three medieval treatises", Warren Babb, 1978.
Update: As you might expect of something involving the Catholic Church, this has been the source of a rather bitter debate for the last 100 years or so. The quote above supports the "mensuralist" position. The alternative is the "equalist-accentualist" position, which supposes notes to all be of the same length, differentiated by emphasizing certain notes. The style most people associate with Gregorian Chant is equalist-accentualist. Even within the equalist-accentualist camp there is bitter division.
Chant does seem to have degenerated into notes of the same length, at about the same time as polyphony was rising, and indeed "plainchant" or "plainsong" came to mean exactly this. The early neumatic notation seems to have been somewhat able to represent duration. This came to be replaced by systems that could precisely specify the note within the scale, but did not specify duration. It also seems that the simple polyphonic style of "organum", which was slower than the original monophonic chant, made it harder to maintain durations.
See eg "Gregorian Chant: a history of the controversy concerning its rhythm", John Rayburn, 1964.
17 April 2010, 23:25 UTCProsodic hierachy in classical music
You can play any music like this. You can dance like this. You can sing like this, or just talk like this.
27 March 2010, 15:02 UTCSoftware to position the finger holes on a wind instrument
I wrote some software to calculate the positions of finger holes on a cylindrical wind instrument. If this is something you want to do, check it out.
This is to accompany a lesson I am giving on medieval and renaissance wind instruments at Suth Moot II this easter.
Update 10/4/2010: New version, with cross-fingering optimization.
14 March 2010, 20:54 UTCType Error
I just read "The Limits to Growth". According to their reference model we hit peak humans around the middle of this century (give or take a little due to technological advance), with the death rate going exponential somewhat before that.
Why wasn't this covered in school? It seems like an important thing to be planning for.
Anyway, the book has an interesting example of a type error. Here is a characteristic quote:
"Man possesses, for a small moment in his history, the most powerful combination of knowledge, tools, and resources the world has ever known. He has all that is physically necessary to create a totally new form of human society--one that would be built to last for generations."
This is obvious nonsense in an otherwise good book, facilitated by an archaic use of "man" that has fortunately slipped out of common usage. Man, or mankind, or humanity, is of type class. An individual instance of mankind is of type mankind. You can not reason about instances of class the same way you reason about instances of mankind.
$ python >>> class Man: """ Instances of this class are homo sapiens. """ ... >>> man_instance = Man() >>> isinstance(man_instance, Man) True >>> isinstance(Man, Man) False
Instances of class do not have behaviours in that same way that instances of mankind do. They do not perceive problems and work to avoid them. Merely pointing out the problem is not sufficient to begin a process of avoiding it. We are going to slide right along the reference model into population overshoot. You should probably take steps to prepare for this. Those steps might by accident ameliorate the problem as a whole to a tiny extent, but they are just as likely by accident to make the problem worse. Certainly you could decide deliberately to attack the whole problem. That would be nice, it sounds like a fun hobby, I might even join you. Instances of mankind do stuff like that. But even then we would not be pursuing this hobby with the same fervour that the meaty extensions of mankind would, were it somehow rendered rational and self-interested.
31 December 2009, 6:50 UTCLazy
71dbb30659a53f3d98dc7b9348db8ba7.mp3
Started by choosing the rhythm this time.
27 December 2009, 22:48 UTC(melodic] clojure
13 November 2009, 0:44 UTCMariology
6 October 2009, 0:13 UTCI made a music
28 September 2009, 22:29 UTCExperiment in music visualization
16 September 2009, 23:12 UTCI want to send a Robot to the Moon that trundles around making Statues out of Moon Rocks
13 September 2009, 0:13 UTCTed Talk: Temporarily disabling the ability to think about other people's motivations using Transcranial Magnetic Stimulation
7 September 2009, 8:44 UTCOh Yes I Kan
3 September 2009, 6:55 UTC"Is this person, in general, a sufficiently helpful sort?"
27 August 2009, 3:56 UTCRenaissance dance: 15th century Italian saltarello and quadernaria
5 August 2009, 11:14 UTCNew bioinformatics software: nesoni, and updated treemaker key-value store
25 June 2009, 13:52 UTCA nasty story pattern
18 June 2009, 6:57 UTCDo I win a prize?
6 June 2009, 22:38 UTCA key-value data warehouse
5 May 2009, 22:37 UTCTordion and Galliard beat patterns
11 April 2009, 14:04 UTCOld Measures
8 March 2009, 8:34 UTCMusic synthesis by physical modelling: ChucK
21 February 2009, 6:24 UTCQuerying intervals efficiently in SQL + Python revisited
18 February 2009, 6:17 UTCQuerying intervals efficiently in SQL + Python
18 January 2009, 20:50 UTCSketchifier
12 January 2009, 8:51 UTCThis is not a tilt-shift photograph
