When Is A Computer?
Andy Honeybone keeps the beat with a BBC metronome program
The idea was simple: write a program which converts a beat tapped on the space bar into a display of the number of crotchet beats per minute. Predictably, the lure of Teletext graphics proved too much and hence a swinging but rather low-resolution metronome arm was conceived after many hours spent with squared paper, pencil and eraser. Convinced that there was a burning need to be able to set the tempo by entering the actual digits, the necessary provision was grafted on to the rapidly expanding program as was the option of hearing noise chiffs on each stroke of the arm.
The resulting software succeeds admirably in its original objective and is just the thing for working out tempo markings to enter into your Yamaha CX5 which Santa will no doubt be delivering this Christmas. As a straight metronome it has to be said that it has a slight touch of the Dr Who syndrome — doomed forever to wander in time. Advertising guys would probably describe this feature as human feel and it certainly is a trait of the majority of drummers that I know — bless 'em.
In order to air the rather well-worn joke above I've probably been a bit harsh on the program because the metronome seems okay to play along with but don't expect to be able to sync it with the clockwork, real-time, wooden variety.
The other success story of the program is the decidedly zippy One Two Testing logo in the top left corner sporting double height characters and snazzy cyan and magenta colouring. This makes the struggle with Teletext graphics seem more than worthwhile and just think of all that memory you are saving (7k over the next most economical display mode 6).
The software uses the BBC's internal clock for the timing function and the clock value which increments in hundredths of a second is accessed by the word TIME. The procedure PROCtimer times the gap between two taps on the space bar and converts the value from centiseconds into beats per minute. This done, PROCmetro is called to draw a metronome arm and keep it swinging in time. The VDU23 instruction turns off the curser which would otherwise be a distraction from the intrinsic beauty of the green display.
PROCtick produces a sound via the noise channel and then draws the left-hand image after writing blank spaces (ASCII 32) over the right-hand 'tock' graphic. PROCwait does nothing for the time remaining between completion of the graphics and the next beat. PROCtock is the compliment of 'tick' and needs no further explanation. Noise can be particularly annoying and hence the facility to shut it off is provided by an *FX210 call in PROCsoundon. PROCchoose switches between a tapped or numeric tempo setting and once the metronome is going it will continue until the space bar is pressed. Converting from beats per minute to centiseconds is the job of PROCset and finally PROCbanner is responsible for the 'One Two Testing' logo. Code 157 sets a new background colour and 156 sets it back to black. The double height characters are produced by code 141 and duplication of the PRINT state ment.
Tempo markings are generally written in Italian although Beethoven led an attack to have them changed to German and the French have had their moments of xenophobia as well. The trouble with English is that there aren't enough words like fast and slow to describe the inbetweens. Thus, with a fork full of fettuccini in one hand, learn the following:
|beats per minute|
Feature by Andy Honeybone
Previous article in this issue:
Next article in this issue:
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!