HB3, the Organ Workshop’s PC-based Organ Generator
New album : ‘HB plays JSB on HB3’
In January 2019 we released an album of Bach organ music entirely generated by HB3. Further recordings are planned in the future as the system continues to be developed.
Sample or purchase here
HB3 started life as an attempt to replicate the workings of the Bradford Computing Organ System on a PC platform, early in 2017. It has now progressed well beyond that. Here’s some background …
The Bradford Computing Organ
The Bradford Musical Instrument Simulator was first developed in the mid-1970s by Dr Peter Comerford at Bradford University. As well as being a senior programming lecturer Comerford was an enthusiastic organist, and he embraced the opportunities offered by the first economic mass-produced microprocessor chip – the Z80 – to design a general-purpose computer music simulator, with particular emphasis on the sounds of a church pipe organ.
The Z80 microprocessor also powered famous 1980s home computers by Sinclair and Commodore, amongst many others.
Meanwhile in Pennsylvania in the USA, the Allen Organ Company developed what they claimed to be the world’s first ‘computer organ’. It did indeed use digital circuitry, and played back stored pipe-like waveforms – certainly a world first – but in its first incarnation it didn’t actually run a ‘program’ so the Bradford system can justly claim that particular prize.
The Z80 processor alone was never up to the task of generating music or audio waveforms on any significant scale, also back then computer memory was neither plentiful nor cheap, so the Bradford system employed additional custom hardware, in particular the so-called ‘Music Module’, to do all the digital signal processing. Meanwhile Z80s took care of the organ console interfaces and control systems.
The Bradford system was successful in the UK and throughout the world during the 1980s, being adopted by several manufacturers, who within the software were effectively able to ‘write their own organs’. It went through a number of hardware & software updates, but by the early 2000s the supply of parts for the latest Music Modules was becoming problematic and it was finally decided to call it a day with further development.
At Makin Organs and at the Organ Workshop I had been involved with at least a hundred Bradford instruments, with considerable success, and I soon asked the question “why doesn’t somebody now develop a PC program utilising the Bradford techniques?”. As things have turned out said ‘person’ is me!
HB3 PC System
I myself had little experience of writing programs, apart from early experiments with BBC and Atari home computers, but around 2014 I started playing with the so-called ‘Arduino’ boards, which feature a cheap microcontroller chip and a USB interface. They plug into your PC and are easy to program, and with these I have been able to develop some MIDI software and hardware. And hence (in semi-retirement) finally became bitten by the software-developers bug. (Swapping my soldering-iron for keyboard & mouse ..)
I also already had some familiarity with ‘Flowstone’, which is a graphics-based PC program designed to write MIDI software synthesisers, and had already wondered if it could be a suitable platform for an organ generator. In February 2017 I began experimenting, and by the summer I had successfully produced a rudimentary working Bradford-style sound generator, running on Flowstone.
The original concept of the Bradford system was roughly as follows :
Theory shows that any complex waveshape - any tone - can be produced by adding up, in varying proportions, sinewaves whose frequencies are multiples of the note’s basic pitch. The sinewave at the note’s pitch is called the ‘fundamental’ and the pitches above are called ‘harmonics’. The principle is known as ‘additive synthesis’.
The only actual stored waveform in the Bradford system is a basic digital sine-wave. Several points on the keyboard are declared to be ‘voicing points’, and upon each of these you can construct a complex waveform by means of adjusting graphical harmonic sliders, or even typing in numbers. The system then writes waveforms for each voicing point by summing sine-waves at the frequencies & levels dictated by the position of the sliders.
Bradford hardware ‘fills in the gaps’ between these voicing points by interpolating between each pair of waveforms, but instead - because PC memory is now so plentiful – on HB3 I have opted for the much more satisfactory arrangement of first interpolating the actual slider values (which equates to having a voicing point on every key) and from these writing unique waveforms for every single note.
This method has the massive (if rather obscure..) advantage of being able to regulate the levels of harmonics before they are written into the waveforms. I have devised an associated ‘regulator’ program whereby by playing a pure sinewave-tone up the keyboard, throughout the audible frequency range (about 10 octaves = 120 notes), and adjusting the level of each to even out the combined response of the loudspeakers and the room acoustics, a ‘Regulation Table’ is created. Back in HB3 the generated waveforms themselves are then, by referencing this Regulation Table as each waveform is constructed, automatically regulated in tone and volume. All of them, for every tone and every stop using those speakers. It’s the exact equivalent of having a 120-point graphic equaliser.
In the HB3 design we’ve settled on 6 voicing points, one at each ‘C’ note on the keyboard. Bradford actually allowed more flexibility than this but I have found that by optimising the interpolation laws these 6 points turn out to be a completely satisfactory standardisation for any scenario.
Bradford also had programmable envelopes, for attack & release and for ‘chiff’ transients, but they were all fairly crude and difficult to set up. Once again the modern computer wins hands-down, and I have been able to graphically generate envelopes of any shape. Then by adding a rate-multiplier adjustment at each voicing point I have added interpolated speed control, producing a speed-setting associated with each of the generated waveforms. (In general high notes speak faster than low notes).
Bradford was able to do low-speed random frequency and amplitude modulations on its waveforms; On a PC such modulations can operate up to audio frequencies so on HB3 filtered noise can be used to modulate the frequency, amplitude or phase of any generated tone as it is replayed.
Each of the 6 voicing points currently hosts 5 adjusters, and everything at each voicing point (each of the harmonic sliders plus the 5 adjusters) are all interpolated to produce unique settings for each note and therefore for each waveform. The 5 adjusters are : envelope-rate, pitch-envelope-amount, frequency-modulation, amplitude-modulation and phase-modulation.
There are 3 parallel generators provided to produce the sound of each organ stop, and each generator can be voiced in the same way, the only major difference being the amplitude envelope shapes. On most voices we have created so far the first generator produces the ‘main tone’, the second is responsible for start and end transients (‘chiffs’), and the third, (although technically identical to the first) has so far been mostly used for general inharmonic content of the sounds.
To date HB3 contains many other general enhancements such as built-in temperament tables, a physically-modelled wind supply and tremulant system, celeste tuning scale and range, break-back points for mixture ranks, and numerous stereo distribution formats