What do you mean, software? Isn't this a pipe organ, not a digital organ?
Yes, this is a true pipe organ, but the CONTROL is via computer. This differs from an electronic digital organ where the SOUND is generated electronically.
When we bought this organ, it was with the understanding that some of the electropneumatic combination action and console stop actions were defective and needed expensive repair. Organ builders of that era used the control technology available at that time. With modern microprocessor-based dedicated controllers, incredible flexibility is available that would have been just an organist's dream in the 1960s.
The organ console was rebuilt in order to take advantage of that modern computer control, enabling many options giving increased reliability and lower servicing costs, as well as many convenience features benefiting both the organist and the congregation.
The Artisan Instruments, Inc., controller is highly programmable and easily customizable by the end user. It enables us to have multiple memories, modifiable stop assignments, instant transposition, MIDI record/playback and other features.
The best part is that we can customize and change things on our own, without having to pay fees or consult factory representatives. Simple software changes allow us to easily add features or change the way things work in the field, to meet the organist's preferences.
The main control software monitor is stored in an EEPROM on each main CPU board. This is the executive program that controls communication with an external PC for initial organ setup, software changes and troubleshooting, as well as the initial loading, execution and oversight of the main organ control code. The CPU board has an on-board function for programming the various system EEPROMS for software updates, but I found it more convenient to use my own EEPROM external programmer, writing the latest version of the firmware for each board using the code downloaded from the manufacturer's web site.
Since many of the boards are identical (e.g. Input and Output Control Boards) except for the EEPROM code, it is important to mark which code is in which chip so as to avoid mixups.
Since the EEPROM code is the same for all organs with those various boards, it is not normally changed after the initial installation (unless a software update is made by Artisan). Unlike most EEPROMS, the CATALYST™ chips used here have a 100 year data retention rating.
The customized part of the system for this particular organ is all contained in the organ definition code, which contains specifics about all of the inputs, outputs and features on the organ. The nicest thing about this is that you can customize so many things to your specific preferences.
Written as a series of text statements defining the purpose and physical addresses of each function, it is compiled into Motorola 6809 object code, specific to this organ, that is downloaded into the console and chamber computers.
We can update this code anytime by connecting a laptop computer to the access port and recompiling the code with the Artisan-provided software. For example, if we want to add a stop we would add another driver board for the magnets and then assign a drawknob to it. Or, we could, say, change an existing 4' rank into a T.C. 8' rank without changing a single wire.
To make the code more readable and make changes less likely to introduce bugs, we divided the main definition into separate files for the inputs, stops, ranks, etc.
If you are interested in looking at the definition code for our specific organ, you can download it here (because of copyright restrictions I cannot include the Artisan programs or their documentation here, but you can download the artisan3.exe file from the Artisan Instruments web site to a folder, run it to extract its parts, and. look in the "quickref.300" text file which gives a brief definition of the various statements).
Because the Artisan PC software needed to originally program and test the organ controller was designed to run on an older, inexpensive system that individuals or churches on a limited budget could obtain as a possibly free donation, and since it is not needed for routine operation but rather only for initial setup, any occasional changes or for diagnostics, simple command-line DOS programs were designed rather than fancy windowed user interfaces. These programs work fine, but many people dislike not having their usual "point and click" control. For that reason, I wrote a custom program that is compatible with the current version of the organ translator program to ease my editing and debugging of organ definition files.
It is written in C++ using an outdated but excellent Borland text-mode-based windowing system called TurboVision so that it can run on an old, DOS-based computer. The program has a point-and-click multiple window interface with a text editor to enter the definition (and optional include) files, and automatic shelling to the Artisan translator, with any errors shown in an error window. Double clicking the mouse on the error message automatically (in most cases) opens its file and moves the cursor to the offending line. This program makes it very easy to develop or modify an organ definition file; but if you prefer, you can just open the definition and include files in any text editor if you are just curious as to what they contain.
My next project, currently in development, is an embedded system using a Freescale 32-bit microcontroller to provide a web-page-based interface to the Artisan system. This will enable easy, one-click loading or retrieval of registration memory levels, remote recording/playing (via LAN or Internet) of performances, and 24/7 diagnostic ability from off-site. (Of course, if hooked up to the Internet, we will use an encrypted connection -- we don't want a hacker interrupting Sunday services!)
This page was last updated on 11/11/08.
All content copyright © 2006 Brian F. Bailey, W4OLF