Building Creative Content
Saturday, July 15, 2017
Opus 6, Galanti conversion
I acquired a Galanti 3 manual console with the intention to convert it for my alma mater, Cal State Fullerton (though I got an engineering degree there, not a music degree).
The date codes on the chips indicate that the instrument was built in 1988 or soon thereafter. So as expected, the design was of the same vintage and the same complexity as my 1987 Rodgers conversion. In fact, this design was actually simpler. The Rodgers design used serial chains to interface to everything. The Galanti uses an 8 bit parallel data bus. The keyboards are split into 8 8 bit chunks, the pedal board and the pistons on each manual onto 4. The addressing is almost completely done by 74HC138s, so though the addressing was spread over 3 boards, it was pretty easy to track down.
As before, I used a custom board that I had built based on a PIC18 microcontroller, and used the Rodgers assembly code as the base. Only minor modifications were required to get it working initially. There were some strange effects which were initially baffling. After poking around the board, and analyzing the design, I discovered that the lows weren't consistently low enough for the thresholds on my microcontroller. This is because the data bus was diode isolated from the switches, and instead of using schottky diodes, they used standard silicon diodes. How they got it to work was causing much head scratching until an alert from the lizard brain reminded me that HC family logic has thresholds that are half VCC less a diode drop. So THAT'S why they use HC logic throughout. I was able to remove an HC245 from the abandoned Galanti CPU board which translated the levels well. Removing and reusing was easy. These are all ONE layer PCBs. In general, it's pretty astounding how cheaply made the Galanti instruments are. Two of the Galanti boards remained which contained a lot of the address decoding and interface logic. The rest of them were removed. Added was a custom CPU board with some bespoke circuitry to interface to the Galanti boards and shoes, an Arduino system (discussed below) and an ATX power supply.
I decided to abandon the stop action on the Galanti in favor of dual touchscreens. There weren't sufficient stop control tabs, and they were mounted on a sheet metal plate, which seemed out of place. I built new wooden mounting plates for the monitors, which was a challenge in itself, in that they tilt simultaneously in two directions, and figuring out the angles was at the same time an exercise in precise measurement, trial and error, and rebuilding.
One of the more interesting features on the Galanti is the shoes. As with Allen, they use an optical solution so that there are no potentiometers to wear out, or gears to strip. There's an LED on one side, and a photoresistor on the other.
The shoe has a slot with gradually increasing width that allows more light to hit the photoresistor when closed than when open. I had originally figured out how to access the ADC on one of the boards and had it working. Unfortunately, after getting it working fine, I put the wrong voltage on one of the rails and blew the front end op amps, so I ended us using the ADCs on my microcontroller. There was a lot of circuitry for trimming on the Galanti, but since Hauptwerk automatically scales everything, as long as there's enough dynamic range, it works fine. So basically grounding one side of the photoresistor and pulling up the other side gave a node to read with an ADC.
I know I'm going to get in trouble for this, because it's almost like religion. The school wanted me to use a Mac Mini, which they provided to me. A lot of the time that I spent on this project was fighting with the Apple hardware and software. In my opinion, the Apple products are inappropriate for this type of Hauptwerk conversion for the following reasons
1) Apple doesn't natively support touch screens. I had to spend $100 to get a driver from Touch-Base to be able to use the touchscreens. Had this been for a commercial application rather than an educational application, it would have been almost $200. And while the support from Touch-Base was unmatched, I had to go back and forth several times just to get the touchscreens to work. Windows works out of the box. For free.
2) Apple's hardware is locked up to a point where you can't get in and figure out how to turn the system on without pushing the power button. This makes it really difficult to make a system where the computer is hidden, protected (this is for a practice room, after all) and remote. On PCs, particularly desktop PCs, you need only open the box and connect to the green wire of the power supply and you can control power up and power down.
Due to the second limitation, after discussion with my brilliant colleague Sait, we came up with a way to build a remote finger. He gave me a servo, and I built a shield for an Arduino board which could be used to control it.
This shield and Arduino code did the following
1) Reads a separate remote power switch
2) Uses the servo to poke the power button
3) Turns on an ATX power supply which powers the rest of the console electronics
4) Reflects the remote power switch into the Choir key matrix (key #64) so that this keypress can also be used to shutdown the system in an orderly manner using the Hauptwerk power off command.
5) Monitors the Mac's power supply through a spare USB port so that when the computer shuts down, it shuts down the rest of the electronics as well.
The instrument is quite functional, and will be a great practice instrument. The quality of the keyboards and pedalboard leave something to be desired, but it's a straightforward conversion. I've loaded the CLR Resources CPCLB sample set. I also replaced the edison lights for the pedalboard, and added music and keyboard lighting to the music desk, using LED strip lights.
The date codes on the chips indicate that the instrument was built in 1988 or soon thereafter. So as expected, the design was of the same vintage and the same complexity as my 1987 Rodgers conversion. In fact, this design was actually simpler. The Rodgers design used serial chains to interface to everything. The Galanti uses an 8 bit parallel data bus. The keyboards are split into 8 8 bit chunks, the pedal board and the pistons on each manual onto 4. The addressing is almost completely done by 74HC138s, so though the addressing was spread over 3 boards, it was pretty easy to track down.
;
;
Address map
;
A7 A6 A5 A4 A3 A2 A1 A0
;--------------------------
; 1
1 1 1 0 X X X Keyboard 0 - 8 bytes, 64 notes
; 1
1 1 0 1 X X X Keyboard 1
; 1
1 0 1 1 X X X Keyboard 2
; 1
0 1 1 1 0 1 X CH Pistons - 2 Bytes
; 1
0 1 1 1 1 0 X GT Pistons - 2 Bytes
; 1
0 1 1 1 1 1 X SW Pistons - 2 Bytes
; 0
1 1 1 1 0 X X Pedal Notes - 4 bytes, 32 notes
; 0
1 1 1 1 1 0 X Left toe studs - 2 bytes
; 0
1 1 1 1 1 1 0 Right toe studs - 1 byte
As before, I used a custom board that I had built based on a PIC18 microcontroller, and used the Rodgers assembly code as the base. Only minor modifications were required to get it working initially. There were some strange effects which were initially baffling. After poking around the board, and analyzing the design, I discovered that the lows weren't consistently low enough for the thresholds on my microcontroller. This is because the data bus was diode isolated from the switches, and instead of using schottky diodes, they used standard silicon diodes. How they got it to work was causing much head scratching until an alert from the lizard brain reminded me that HC family logic has thresholds that are half VCC less a diode drop. So THAT'S why they use HC logic throughout. I was able to remove an HC245 from the abandoned Galanti CPU board which translated the levels well. Removing and reusing was easy. These are all ONE layer PCBs. In general, it's pretty astounding how cheaply made the Galanti instruments are. Two of the Galanti boards remained which contained a lot of the address decoding and interface logic. The rest of them were removed. Added was a custom CPU board with some bespoke circuitry to interface to the Galanti boards and shoes, an Arduino system (discussed below) and an ATX power supply.
I decided to abandon the stop action on the Galanti in favor of dual touchscreens. There weren't sufficient stop control tabs, and they were mounted on a sheet metal plate, which seemed out of place. I built new wooden mounting plates for the monitors, which was a challenge in itself, in that they tilt simultaneously in two directions, and figuring out the angles was at the same time an exercise in precise measurement, trial and error, and rebuilding.
One of the more interesting features on the Galanti is the shoes. As with Allen, they use an optical solution so that there are no potentiometers to wear out, or gears to strip. There's an LED on one side, and a photoresistor on the other.
The shoe has a slot with gradually increasing width that allows more light to hit the photoresistor when closed than when open. I had originally figured out how to access the ADC on one of the boards and had it working. Unfortunately, after getting it working fine, I put the wrong voltage on one of the rails and blew the front end op amps, so I ended us using the ADCs on my microcontroller. There was a lot of circuitry for trimming on the Galanti, but since Hauptwerk automatically scales everything, as long as there's enough dynamic range, it works fine. So basically grounding one side of the photoresistor and pulling up the other side gave a node to read with an ADC.
I know I'm going to get in trouble for this, because it's almost like religion. The school wanted me to use a Mac Mini, which they provided to me. A lot of the time that I spent on this project was fighting with the Apple hardware and software. In my opinion, the Apple products are inappropriate for this type of Hauptwerk conversion for the following reasons
1) Apple doesn't natively support touch screens. I had to spend $100 to get a driver from Touch-Base to be able to use the touchscreens. Had this been for a commercial application rather than an educational application, it would have been almost $200. And while the support from Touch-Base was unmatched, I had to go back and forth several times just to get the touchscreens to work. Windows works out of the box. For free.
2) Apple's hardware is locked up to a point where you can't get in and figure out how to turn the system on without pushing the power button. This makes it really difficult to make a system where the computer is hidden, protected (this is for a practice room, after all) and remote. On PCs, particularly desktop PCs, you need only open the box and connect to the green wire of the power supply and you can control power up and power down.
Due to the second limitation, after discussion with my brilliant colleague Sait, we came up with a way to build a remote finger. He gave me a servo, and I built a shield for an Arduino board which could be used to control it.
This shield and Arduino code did the following
1) Reads a separate remote power switch
2) Uses the servo to poke the power button
4) Reflects the remote power switch into the Choir key matrix (key #64) so that this keypress can also be used to shutdown the system in an orderly manner using the Hauptwerk power off command.
5) Monitors the Mac's power supply through a spare USB port so that when the computer shuts down, it shuts down the rest of the electronics as well.
The instrument is quite functional, and will be a great practice instrument. The quality of the keyboards and pedalboard leave something to be desired, but it's a straightforward conversion. I've loaded the CLR Resources CPCLB sample set. I also replaced the edison lights for the pedalboard, and added music and keyboard lighting to the music desk, using LED strip lights.
Subscribe to:
Posts (Atom)