How the THX sound was made…
Friday, May 27th, 2005Andy Moorer’s story on how he created the THX sound. He did it the old fashioned way: he wrote 20,000 lines of C code!
Andy Moorer’s story on how he created the THX sound. He did it the old fashioned way: he wrote 20,000 lines of C code!
Courtesy of (you guessed it) the Make Blog, check out Tonepad, a website which offers all sorts of PCB patterns for DIY music effects. Ring modulators for your Dalek project, anyone?
One for the Make blog for Tom: Nintendo controllers as musical instruments
Thiago has created a Coin Sampler, basically a loop based synthesizer that is programmed by moving coins on a rotating turntable. As each coin passes under an IR sensor, it triggers the playing of a particular sound.
Addendum: Check out what this MIT guy did with two turntables and a similar idea.
Courtesy of the MAKE blog, here’s a link to Terry Smith’s Player Piano Rebirth page. Terry takes old player piano rolls, scans them and converts them to MIDI files. He has over 2600 rolls scanned already. Wow. Very cool.
Courtesy of Make magazine blog, here is a whacky DIY site on building your own Cigar Box Guitars. It seems like the kind of thing that my friend Tom would approve of, and he turned me on to Make in the first place.
Those clever BoingBoing-ers found another cool item for you “music” loves: a Hormel can ukelele. It doubles as a lunchbox. It’s a pity that they don’t include a link to how it sounds. This is just the kind of impromptu folk instrument that I’m beginning to find fascinating.
Slashdot links to a story about the music industry using AI to choose hit songs. I can’t help but shake my head in shame. I’m reminded of a scene in the movie Dead Poets Society (excerpted here):
Keating gets up from his desk and prepares to draw on the chalk board.
Keating draws a corresponding graph on the board and the students dutifully copy it down.
Neil sets the book down and takes off his glasses. The student sitting across from him is discretely trying to eat. Keating turns away from the chalkboard with a smile.
My real problem with this isn’t that it is snake-oil. I suspect that this software works very well in finding records that maximize the success of record companies in producing music which sells. I merely think it is a tragedy to limit the music we hear to those few that some computer (or even a few record executives) thinks they can make a buck in promoting. It becomes a self-perpetuating cycle of the banal, where generations of individuals grow up hearing only the most banal, market proven music imaginable and therefore don’t understand that music is more than that.
Tear that page out of your book, and stretch your own personal boundaries to find you own understanding of music.
Need a ballad dedicated to Willebrord van Roijen Snell? Look no further than the Snell’s Law Song. Found via the MASSIVE search engine.
In case you weren’t impressed by the 8-bit Christmas music, how ’bout these Christmas Carols generated on a PDP-1. Ah, square waves.
Holiday-themed chiptunes from 8bitpeoples, link courtesy of BoingBoing. Kind of makes you want to dust off your Gameboy (not the DS, or the Advance, or even the Color) and play some Teen Age Mutant Ninja Turtles.
Imagine Herb Alpert and the Tijuana Brass playing Christmas Carols. They might sound like this.
Try especially God Rest Ye Merry Gentlemen and tell me it doesn’t put you in mind of Taste of Honey.
For some of my do-it-yourself musicians, Boing Boing ran a link to this $22 kit to build a ukulele. I’m developing an intellectual if not aesthetic appreciation for inexpensive musical instruments. Can anyone recommend outstanding examples of music for the ukulele?
Addendum: I found something brilliant.
Every once in a while, I want to generate some pure sine waves for audio purposes, and I have to go digging around to find this simple technique, so I thought I would write it down here. Suppose that you are trying to generate a 440Hz (middle A, if memory serves) sine wave sampled at 44.1Khz. The expensive way would look like this:
double t = 0.0 ; /* time begins at zero */
double omega = 0.0 ; /* angle is zero */
double dt = 1.0 / 44100 ; /* each sample advances time by dt */
double domega = dt * 440.0 * 2.0 * M_PI ; /* the angle advances by domega */
for (;;) {
output(sin(omega))
t += dt ;
omega += domega ;
}
(Yes, yes, astute readers will note that t isn’t needed. So sue me.) This requires a single call to sin for each sample. On my little Via box, a call to sin takes about .584 microseconds, so you can generate over 1.7 million samples per second with this technique. Not bad, but we can do better. Much better.
The key is to remember this recurrence relationship:

(Formula courtesy of Don Cross)
You can compute samples of simple sine waves very fast using this technique, since it takes only a multiply and a subtract per sample. On my machine, that turns down to about 7 nanoseconds per sample. That is a speedup of over 84x.
Unnecessary? Perhaps, but it is still cool.
Why am I looking at this? Stay tuned.
Anyone who can mix eigenvalues and eggnog gets a thumbs up from me.
Bonus brainwagon tip:
wget -r -A.mp3 -l1 -H -np -nd http://eigenradio.media.mit.edu/christmas_2004.html