CAMI (Part 1)
Pitch Training On The BBC Micro
A new pitch trainer for the BBC B
"I even think that sentimentally I am disposed to harmony. But organically I am incapable of a tune. I have been practising 'God Save The King' all my life, whistling and humming of it over to myself in solitary corners, and am not yet arrived, they tell me, within many quavers of it." Charles Lamb
The aim of this series of articles is to show how the micro is emerging as a powerful medium for solving many a problem in music education. We start with the bane of many a student's musical education, namely ear-training.
The basic objective of this invariably disliked subject is obviously to provide the developing musician with a built-in framework for pitch perception, key recognition, and rhythmic fluency. However, teachers of ear-training are frequently faced with the problem that students come to their courses with very differently developed skills. This makes class teaching unworkable, but the alternative of individual attention is uneconomic. Where this leaves systematic ear-training is in the doldrums, and it's here that CAMI can step in.
'CAMI' stands for Computer-Assisted Musical Instruction and is really all about making life easier for teachers trying to teach music or for those attempting to teach themselves. The programs that will be presented in this series hopefully go one step forwards by providing an ever-patient teacher that doesn't rap you over the knuckles when you play the wrong note or make an incorrect response. Also, a computer is in many senses an ideal vehicle for the training of musical rudiments because of the comparative ease with which the necessary systematic presentation of both visual and aural stimuli can be accomplished. Moreover, when such drill and practice is done in a self-paced, computer-based environment, learning seems to be a good deal more efficient and a lot faster.
Most of us can make a pretty good stab at tapping a finger in time with music, so the teaching of practical rhythmic skills isn't too much of a problem. The development of pitching abilities, on the other hand, is nowhere near so straightforward. There are basically two forms of pitch perception: 'absolute pitch' and 'referential pitch'. Absolute pitch refers to the ability of the lucky few to be able to pluck any pitch from thin air, whether it's sung, played, or whatever, as well as being able to accurately recreate it on demand. Stories abound of prodigies like Mozart with exceptional pitch-sensing abilities, but the description of the absolute pitch demonstrated by the young Frederick Ouseley (later becoming the professor of music at Oxford University) is probably more like the average trained musician's abilities. At five, the young Fred was apt to remark, "only think, papa blows his nose on G". He also apparently saw music in the wind (whistling in D) and weather (thundering in G).
The good news is that absolute pitch can be taught, and one of the best ways of acquiring pitch sense is to have a micro randomly present pitches and then analyse your responses for statistical significance, ie. the degree to which your pitch sense is random rather than absolute! In 'Creative Sound', there is a program which does just that, but, as it's a very basic tool, this article will jump on to a program one stage up the ladder that trains both your absolute pitch sense and your ability to work out intervals.
Now, one advantage of using a computer to generate pitches is that one's not limited to the notes of the diatonic scales. In fact, courtesy of the BBC Micro's operating system, playing around with eighth-tone scales is quite permissible (though rather on the out-of-tune side of things). So, the Pitch Tuner program coming up is designed to stretch the student's accuracy of pitch perception by asking him or her to assess the degree by which two pitches differ. These may fall on the standard notes of the chromatic scale or they may fall in between.
The hapless individual encountering the program is presented with two pitches, between which he's expected to make some sort of value judgement, ie. how far apart they are. The vertical scale on the left of the display indicates the potential range of differences — from plus a major 3rd to minus a major 3rd, depending on whether the second pitch is higher or lower than the first. To make a choice, the UP and DOWN cursor keys are used to move the arrow to what is thought to be the correct pitch difference between the first and second tones, and then RETURN is pressed to lodge that decision with the micro.
Remember that we're talking about multiples of eighth-tones, so don't despair if it's tough going at first! Should the first attempt prove vaguely disastrous, the program will then offer a helping hand in the shape of an arrow head hint in the right direction. After the fourth attempt at the same two pitches, you'll be directed onto a new set of tones. Pressing COPY allows you to replay the pitches as many times as you want before making a valiant attempt at answering. ESCAPE gives you your score, both individually for those trials successfully answered on the 1st, 2nd, 3rd, and 4th tries, as well as overall. Bon chance!
When it comes to writing CAMI programs like this one, the job is often made much easier by drawing out a simple plan of the loop structure beforehand. With anything up to half-a-dozen loops, including some that are nested, handling sound, user input, and scoring, the plan-it-as-you-go approach can soon end up with a perfect example of spaghetti programming — a tangle of unfathomable GOTOs and IF statements. However, if you take the trouble to set the program out with commented REPEAT... UNTIL loops, using logical variables where it makes the conditional functions clearer, you'll probably save the extra time it would have taken to fix the bugs incurred by adopting the first approach!
The Pitch Tuner program is actually pretty simple in this respect, having just three major nested loops. The outer one (lines 450 to 790) repeats indefinitely, presenting a different test each time. Inside this, the pitch is chosen randomly (line 470) and played (line 480), before entering the answer loop (lines 500 to 740). This terminates after the right answer is given, or, failing that, after four wrong answers. The input loop (lines 530 to 610) deals with cursor key presses, moving the selection pointer up and down, until RETURN is pressed to register an answer.