Home > Misc > Piano diaries

2014-11-22: Music Box Dancer

The first instalment of my piano diaries. Probably not of broad interest; perhaps a mildly useful example to other people who never took music lessons as a kid and don't want to take lessons now but still want to play an instrument in an almost-mediocre kind of way.

For most of the past fifteen years, my favourite piano piece has been Frank Mills' 'Music Box Dancer':

I grew up with a keyboard in the house, but while I learned my chords pretty well (at least in keys which didn't have too many sharps or flats), I never learned how to break up the chords with my left hand so that the piano would have a recognisable beat coming out of it. Instead I just let the electronic settings tap out a perfect tempo, or switch the instrument to 'flute' and play solid chords which didn't need breaking up. I never took lessons and my keyboard play pretty much stagnated from the age of ten.

I made an effort to learn the piano again around 2006, and again in 2009. And on both occasions, if I looked at the sheet music to 'Music Box Dancer', I'd produce something worse than this:

and give up within an hour. I just had no idea how I was supposed to have both hands doing complicated things. The above track is me trying to sight-read (ignoring '8va' instructions), having previously spent four hours practising an easy-play arrangement. Unlike my earlier efforts, though, this time I was determined: I know I'm capable of spending many hours on dull and repetitive work if I think there'll be some good gifs at the end of it, so what if I harnessed that willpower to just keep practising 'Music Box Dancer'?

The answer was, I'd give up after about two hours. But I came back the next day and put some more hours into it, and, crucially, I took a recording of my play every hour or two. This meant that I could actually hear that I was making progress: despite stumbling for three minutes trying to play a verse that should take about 52 seconds and feeling generally unco-ordinated, I could see that yesterday I was taking four minutes for the same.

This pattern continued: sometimes I'd be able to hear improvement in my play without comparing recordings, and sometimes I only heard the improvement after the comparison, but it turns out that practice does actually help you learn an instrument.

I had the odd bad day, but for the most part the curve is monotone decreasing until I was playing at around the right tempo. The bump at 27 hours' practice is when I figured I should actually pay attention to the '8va' markings and I had to re-learn some muscle memory. After around 30 hours' practice, I was playing at pretty much the right tempo, and the only issue was that I'd make a lot of mistakes. I still make plenty of mistakes, though not as many as I used to (I'd graph them, but extracting notes from a sound wave is ridiculously hard).

Fortunately, I'm not playing for an examination board. I'm playing to satisfy myself, especially my October-2014-self, who had to take a moment to add two to anything written on a bass clef before playing it. I miss some notes in here, and my right-hand arpeggios aren't anywhere near as smooth as Frank Mills', and probably there are subtler problems which hopefully one day I'll be able to discern, but this performance justifies my purchasing of a digital piano (so soon after I'd sold my old one after years of neglect):

This is a whole new level of mediocrity for me, and one I'm pretty happy with. A little under forty hours went directly into that, with a similar amount of time spent playing other songs, mostly easy-play arrangements. I don't do any drills – scales or arpeggios or whatever.

If I could give advice to my 2006- and 2009-selves, when they were just starting new efforts to learn the piano, I would say:

I had earlier had grand visions of extracting notes from my sound recordings, plotting histograms of the time between notes, and so forth. But it is surprisingly difficult (Google 'audio onset' for a taste), and so instead the R code which follows simply works out how long it took me to get from start to finish in each recording.

library(tuneR)
library(ggplot2)

setwd("C:/path_to_progress_recordings")

png_print = function(out_file, img_width, img_height, ggplot_img) {
  # Function to print a ggplot object to file
  png(filename=out_file, width=img_width, height=img_height, units="px")
  print(ggplot_img)
  dev.off()
  return(TRUE)
}

list_files = list.files()

# My first few hours were on an easy-play arrangement, and once I started
# on the real version, I put "_proper" into the file names:
list_files = list_files[grep("dancer_proper.*mp3", list_files)]
file_hours = gsub("dancer_proper_", "", list_files)
file_hours = gsub("_hours.*", "", file_hours)
file_hours = gsub("hours.*", "", file_hours)
file_hours = as.numeric(file_hours)

num_files = length(list_files)

files.df = data.frame(list_files, file_hours)

files.df$play_time = 0

for (ct in 1:num_files) {
  sound = readMP3(list_files[ct])
  y = sound@left
  y = y/max(abs(y))
  
  sr = sound@samp.rate
  
  start_play = min(which(abs(y) > 0.001))
  end_play = max(which(abs(y) > 0.001))
  
  play_time = (end_play - start_play) / sr
  files.df$play_time[ct] = play_time
  print(sprintf("%.1f hours practice, %.2f seconds", file_hours[ct], play_time))
}

improvement_plot = ggplot() + geom_point(data=files.df, aes(x=file_hours, y=play_time)) +
  ylab("Play-through time (s)") + xlab("Hours of practice") +
  theme(axis.text = element_text(size=14),
        axis.title = element_text(size=18))

png_print("dancer_improvement.png", img_height=600, img_width=600, ggplot_img = improvement_plot)

Written and posted 2014-12-01; recorded 2014-11-22.


Home > Misc > Piano diaries