Well, enough chit-chat, back to programming language design. Suppose you’re building electronic piano software. As we’ve discussed before, the “equal temperament” tuning for a piano goes like this: the 49th note from the left on a standard 88 key piano is A, and its frequency is 440 Hz. Each octave above or below that doubles…
Tag: Music
Desafinado, Part Five: Getting Down Without Hitting The Bottom
Back in the 1960’s a guy named Shepard published a paper which described a way to create a descending scale of twelve notes such that every consecutive pair was perceived as being two notes, the second one lower than the first. That’s not hard — every descending scale has that property! The kicker is that…
Desafinado, Part Four: Rolling Your Own WAV Files
We’ve established why every just about piano in the world — in fact, every concert-pitched musical instrument in the world — is slightly out of tune. No one actually plays perfect fifths; every fifth interval is slightly flat. Why don’t we hear the difference? Is the difference even perceptible? It is very hard to hear…
Desafinado, Part Three: Too Many Fifths
Last time we established the diatonic scale which has the nice property that there are five tone intervals and six fifths: Note Frequency A 220.000 B 247.500 C 260.741 D 293.333 E 330.000 F 347.654 G 391.111 and then double for the next octave up and so on. But it’s a little weird in that…
Desafinado, Part Two: A Perfect Pythagorean Tuning
Last time we talked about the Pythagorean’s discovery that sounds with vibrations in the ratios 1:2 and 2:3 sound consonant to the human ear. Let’s explore the consequences of that a bit. Suppose we’re building a stringed instrument from scratch and we want to tune it so that it sounds good to human ears. Let’s…
Desafinado, Part One: Eric Continues His Obsession With The Greeks
Whew. That’s enough wacky VBScript for a while. As I said a long, long time ago now, I came up with the idea of doing a little “wacky VBScript” quiz in order to illustrate some of the weird corner cases in language design. I want to do a long — potentially very long — series…