Wrong notes and syntax errors: The joy of improv in music and code



My son just loves to noodle on the piano, and he’s grown to a point I’ve wished for all my life, but will never achieve. The craziest dissonant jazz chords make perfect sense to him, and he can build a song out of them. Me, I got lost after I-IV-V-I, but he knows when to add a seventh to a diminished chord and have it not sound like a wrong note.

It’s really fun to listen to him play.


I prefer designing hardware to coding. Hardware also has that improv thing. There is more than one way to design a circuit, and finding a really good one takes a lot of practice, obtained by designing lousy circuits.

As for whether it’s art or not, OF COURSE it’s art. They even call circuit board layouts “artwork”.


From what I read, it’s even more of a black art to designing Antennae, yes?

1 Like

Back when I was building pirate radio gear, I had to design a Yagi antenna for the UHF band. I found that after staring at a bunch of existing designs and their response curves, and practicing with a spectrum analyzer and some assorted-length elements, I could make an antenna whose geometry I determined by eyeball, and it would have the response curve I wanted.

1 Like

Having designed several dozen circuit boards with the trusty old DOS program ‘smArtwork’ years back, I found it more like solving puzzles.
Musical joke:
What do you get when you drop a piano down a mine shaft?
A flat minor.


And when you drop it from a plane over an army base, you get… A flat Major. :stuck_out_tongue:



This post is wonderfully written.

1 Like

I am not disagreeing with the author in any sense, just adding my own color.

When learning to read music, there are multiple stages. I am not gonna use the Theory words for this, but more descriptive words.

First you learn notes. Then you learn transitions (note a to b). Then you learn phrases (c f g f c). Then you learn structure (scales, arpeggios, trills, etc). Then, you learn the secret.

It is what I call Arcs.

It is the structure of the piece, and you can anticipate even if you have never heard it where it is going. It is literally reading a page ahead in your music, because you have already temporarily memorized the next 60 seconds of music. Even if you are sight reading it. It feels magical, and may be the biggest endorphin rush on the planet.

I used to do that with classical music, but that skill has faded through disuse. However at my americo-celtic band practice I could feel it coming back for simpler structures and arcs.

Two excellent, difficult as nails tunes to explore this idea are the Coltrane songs Giant Steps and Countdown. Every note seems to be unrelated, every transition unrelated, every arpeggio unrelated. Until you look at the big, big picture of the tune.

A nice piece that lovingly subverts common Arcs and tropes in classical music is Copland’s fanfare for the common man. Buy again, once you listen/play enough Copland and his contemporaries when you get a new piece you can almost see into the future.

(Have I ever mentioned how much I despise conductors that conduct 1/4 second ahead of the beat? Yes, I understand the principle behind it, but please stop! :smile:)

When it comes to improv, can anyone top Bird?

Wonderful article, thanks so much. Given your Rails experience, you should totally check out Sonic Pi (http://sonic-pi.net) it’s a free Ruby-based live coding system for music. It’ll be right up your street :smile:

Well, one often elaborates on A flat Major with “Gee, diminished!”

Wow, great post. Writing music and writing code (particularly code for games) have always felt linked or similar to me, but I’ve never been able to quite articulate the connection.

Oo! I just thought of another way that music’s a bit like coding: it has interesting constraint optimisation challenges. E.g. “I’m in this new key for the bridge, and I want to get back to my chorus key in two bars. How am I going to do that without it sounding too abrupt?”

Take 3-4 bars…

I’m actually serious. Sometimes you need to examine the premises behind your constraints. There may be times when, for instance, you need to plow right back into the home key with lots of momentum. Consider landing on a chord that allows pivoting into the home key, and elide the cadence or dovetail the phrases.

Or perhaps you do need a not-too-abrupt segue into the key, in which case consider something like extending the phrase with a 1-2 bar sequence. Sometimes you can retain regularity at a higher level of hierarchy, lengthening or shortening phrases so that it all comes out on, say, 16-bar boundaries. Sometimes irregular-length paragraphs work fine.

My point here is that, even in popular music with a regular beat, you can find yourself writing phrases that are bit arid and straitjacketed in rhythm. On those occasions, a reappraisal of your premises can lead to phrasing that allows the music to breathe.

And that is also something that has analogues in programming: sometimes the best solution in both fields is to move the goalposts.

1 Like

This topic was automatically closed after 5 days. New replies are no longer allowed.