" Harma"

Godfried-Willem RAES

2000

archival webpage

Technical Description

A computer controlled acoustic harmonium with touch control and individual registration. The starting point for this construction was an old Hamilton suction reed organ, of which we only kept the reeds and the key springs. A new electric compressor was added (a small Laukhuff Ventola, rated for 50mm H2O pressure and 1000l/m). Since this compressor was pretty noisy in operation we designed a special silencer around it.

To control the individual reeds we used Laukhuff pallet electromagnets, rated 12V / 160mA each, as shown on the picture below, taken in an early phase through the building of this automate.:

detail of electromagnets As usual in our instrument designs, we designed a welded frame for the entire magnet and electromechanical assembly. Since there is no keyboard we could lower the force required to push the pallets from the original value of 2.45 to 2.94 Newton to about 1.2Newton. Since the magnets are wider then the distance between keys/pallets , we had to mount them on alternating rows. The types we used are 20mm wide. The two registers are each divided in a bass and a discant unit. So we provided also control for these 4 registers. This was implemented using solenoids with variable voltage, such that gradual changes ('expression') becomes very well possible.

As a little extra we added a real cast bronze bell as well as a few lights to the mechanism

The note range of the instrument is 29 to 89 expressed in midi notes. The finished instruments has following dimensions: depth 320mm, width 920mm, height 1000mm. The weight is ca. 50kg.

For the electronic control of this instrument we used our own <GMT> software in combination with the hardware we designed for player pianos. Thus the instrument is played using a Wintel Pentium PC. Of course the instrument can also play standard midi files. Not only can it listen to midi commands, but also it can listen to UDP/IP commands in a networked context. The demultiplexer for the parallel input coming either from a standard printer port , a National Instruments DIO device, or a USB interface looks like:

As to the useful National Instruments devices , we have tested hardware and software with both the NiDAQ DIO-24 card and the DAQCard 6533. We designed a small adapterboard to turn these outputs into something looking like a printer port. In 2002 we added a board such that Harma can now also be controlled using a USB board. In fact, this became the preferred interface since. The note driver board and the velocity control circuitry was build after following schematics:

bus-board schematic

note driver board schematic

[comment on these circuits, first developed for our player piano can be found at/kursus/2116.html.]


 

 

 

 

 

 

 

Nederlands

Module 3: 'Harma'

Tessituur: 29 (Fa) - 89 (Fa) [ 5 oktaven ]

Hiervoor werd uitgegaan van een oud Hollands harmonium (gebouwd in Terneuzen eind 19e eeuw (Firma Camphens) , maar voorzien van een mechanisme, balg en rieten van James Baillie Hamilton (Massachusetts,USA)). Het instrument is voorzien van twee onafhankelijke reeksen doorslaande tongen en werkt met zuiglucht, zoals het gros van de Amerikaanse 'reed organs'. De balgen en windlade waren in een dermate wormstekige staat dat we ze helemaal verwijderden. Voor de windvoorziening gebruikten we een Laukhuff Ventola zuigblazer. (1000l/minuut, bij 50mm H2O druk). Daar dienden we wel een goede geluidsdemper voor te ontwerpen want geruisloos zijn deze Ventola blazers bepaald niet... Deze module werd voltooid in de maand juni van 2001.

electromagnets in harmaDe kracht nodig om een toets in te drukken in het originele harmonium varieerde tussen 2.45 en 2.94 Newton. (250gF tot 300gF in oude gewichtseenheden). De veren die de paletten dichthouden werden in deze kracht tot zowat de helft teruggebracht. Daardoor konden we met orgelventielmagneten van de firma Laukhuff (12V/ 160mA) net uitkomen voor een volledige aansturing. De terugkeerveren werden van deze magneetventielen verwijderd.

Hartafstand tussen de bedieningspallen voor de rieten was 13.54mm, waardoor we de magneten om en om (in twee rijen) dienden te monteren. Wanneer we de bedieningsmagneten om en om monteren, mogen ze hooguit 27mm breed zijn. De gebruikte types zijn 20mm breed. Voor deze montage bouwden we twee lijsten uit vierkant staalprofiel 16x16. Hierop werden de elektromagneten met parkerschroeven vastgezet en uitgelijnd.

De registers zijn telkens gedeeld in bas- en diskant. Voor de automatisering daarvan gebruikten we aanvankelijk vier stappenmotoren, maar dit werd later -omwille van de snelheid- vervangen door een mechanisme met sterke elektromagneten (15Newton). Voor de 'expressie' -hier met een eenvoudige cylindrische afschermkap uitgevoerd, zullen later wellicht twee stappenmotoren ingezet worden.

 

Voor de elektronische besturing gebruikten we ons eigen ontwerp voor muziek automaten. Daardoor kon ook aanslaggevoeligheid worden geimplementeerd. Hoogst ongebruikelijk voor een harmonium. De midi kommandos voor deze module moeten naar een Wintel PC worden gestuurd (via midi-in) en worden via de parallelle poort van die PC naar onze specifieke hardware verstuurd en vertaald. De software is een van de vele toepassingen van ons <GMT> projekt. Uiteraard kan de module ook algoritmisch vanuit dezelfde PC worden bestuurd en geprogrammeerd. Het instrument is volledig polyfoon, dus alle toetsen kunnen gelijktijdig en onafhankelijk van elkaar worden ingedrukt en bestuurd. De windvoorziening is evenwel niet toereikend om een volledige kluster weer te geven.

Sedert 2002 kan <Harma> eveneens via USB of rechtstreeks met UDP/IP kommandos vanuit een netwerk worden aangestuurd. Dat is zo'n 300 maal sneller dan bij gebruik van midi.

Ook hier voorzagen we in een kleine spielerei als toevoeging: in dit geval een bronzen klok (F#) die als slagwerk eveneens via de software kan worden bespeeld.


Tech-Specs -----------------------------------------------Technische specifikaties:

Aanvang bouw: februari 2000 - afgewerkt: 2 juni 2001

Size-----------------------------------------------------------------------------------------------------------Afmetingen van het afgewerkte instrument:

  • diepte: 300mm (met karretje: 600mm)
  • breedte 920mm (met karretje: 1200mm)
  • hoogte 1000mm
  • Gewicht: ca. 60kg (+ accu)

Power--------------------------------------------------------------------------------------------------------Stroomvoorziening:

  • 230V / 2A - 50/60Hz
  • Dit instrument kan ook op een autoakku (12 Volt - 60Ah) werken. Een automatische inverter/ batterijlader is ingebouwd.
  • The instrument can also be operated from a car battery. (12V-60Ah). An automatic power inverter / battery charger is provided.

Insurance value (for organisors):

12.000 Euro

Rental / concerts:

This instrument can be rented from Logos Foundation. A technician from logos will allways accompany the automat. The tarif is 600 Euro a day. Transportation is possible with a normal not too small car.

 

Midi Implementation

Midi Implementatie:

The default midi channel for <Harma> is set to 10 (if counting channels from 1, otherwize, 9)

  • Note ON/ Note Off notes 29 to 89 with velocity byte.
  • AllNotesOff: 176 + channel, 123, 0
  • Volume controller: 176 + channel,7, value (This controlls the duty cycle of the motor for the fan and thus the windpressure)
  • Registration mapped on program change command (192 + channel, patch)
    • The registers are mapped on individual bits in the patch byte
    • bit 0 = 16 feet register on lowest note range (on when bit is set, off if reset) [notes 29 to 52]
    • bit 1 = 8 feet register on lowest note range (on when bit is set, off if reset) [notes 29 to 52]
    • bit 2 = 8 feet register high note range (on when bit is set, off if reset) [notes 53 to 89]
    • bit 3 = 8 feet register high note range (Forte) (on when bit is set, off if reset) [notes 53 to 89]
    • (bit 2 and 3 together produce a 'Voix Humaine...")
    • bit 4 = selects staccato mode
    • bit 5 = reserved
    • bit 6 = reserved
    • Example: midi patch 15 will pull all registers together.(lowest 4 bits set)
  • Bell: mapped on midi note 90, with velocity byte
  • Lights: white lights mapped on midi notes 91, 92 (on / off only), red LED spotlights mapped on midi notes 93,94.
  • Motor ON/OFF mapped on midi note 28
  • Note 95 - reserved for later additions.

 

When using UDP/IP for steering <Harma>, the same command set is used through a UDP port.

GMT Implementation:

exported functions in our dll libraries g_nih.dll or g_noh.dll:

Harma_Note (note AS BYTE, velo AS BYTE)

  • note = any note between 29 and 89. Other values have no effect.
  • velo = range = 0 to 127 , if 0 is passed it will be interpreted as a note off command.

Harma_Reg (register AS BYTE, onoff AS BYTE)

  • reg = 1 selects 16 feet register in the bass [notes 29 to 52]
  • reg = 2 selects 8 feet register in the bass [notes 29 to 52]
  • reg = 3 selects 8 feet register in the trebble [notes 53 tp 89]
  • reg = 4 selects 8 feet forte register in the trebble [notes 53 to 89]
  • onoff = 0 switches the register off, 1 switches it on.
  • Note that in order to get any sound, you have to select at least a register corresponding to the note range you want to play. Also it is possible to send pulse width modulated signals to the registers such that they can be gradually opened and closed. Use task frequencies not lower than 25 Hz, since otherwize you risk an audible buzz from the solenoids.

Harma_Motor (onoff AS BYTE)

onoff = 0 switches the motor off,1 switches it on.

Note that in order to play the instrument, the motor has to be turned on!

Harma_Stac (note AS BYTE, velo AS BYTE)

For percussive effects, this procedure can be used instead of Harma_Note. If Harma_Stac is used , it is not required to send a note-off command. The value passed in velo is exactly the number of milliseconds the coil is activated.

Harma_Bell (velo AS BYTE)

Harma_Light (number AS BYTE)

The number is restricted to the values 1 to 5.

Harma_Listen ()

This is task code in the DLL. If you want <Harma> to respond to incoming midi information, you should install this task in your GMT compilation. The midi channel for <Harma> should be set in the harma structure, accessible by its pointer returned on initialisation of the Harma related dll functions. The default tasknumber is 16.

Harma_PWM ()

This is task code in the DLL. If you want <Harma> to respond to incoming midi volume controller information, you should install this task in your GMT compilation. The midi channel for <Harma> should be set in the harma structure, accessible by its pointer returned on initialisation of the Harma related dll functions. The default task number is 0.

 


Repertoire:

Johan Sebastian Bach: Goldberg Variationen (available on CD in a limited edition LPD-001 ('minus 1')  
  Das Wohltemperierte Klavier  
     
Tango's La Cumparsita Tango  
  El choclo Tango  
  Jealousy Tango  
  Uno  
Godfried-Willem Raes <Harm> for Harma 2001
 

<Hidden (c) Harms>

MP3 encoded recording of this piece

2001
  <Charms> for Harma  
  <Vibes> for Vibi, Piperola and Harma 2001
  <Trio Paradiso>, for Vibi, Harma and Klung 2001
  <Paradiso>, for automat orchestra and backing vocals 2001
  <Tekne>, for automat orchestra and devils dance 2002
  <Eary Lis Trimbl>, for automat orchestra and musicians 2002
  <Flexes>, for automat orchestra and musicians 2003
  <Wandern>, for radar controlled automat orchestra and dancer 2003
Kristof Lauwers <Sonata>, for automat orchestra 2002
Sebastian Bradt <Dedication Harma> 2004
  <Early Messages> 2004

 


(Terug) naar logos-projekten: projects.html

Back to logos projects

Terug naar Logos' index-pagina

:index.html

back to main index

Naar Godfried-Willem Raes personal homepage...

back to Godfried's page

Naar katalogus instrumenten gebouwd door Godfried-Willem Raes

back to catalogue of instruments by Godfried-Willem Raes


Service manual & detailed circuit and maintenance documentation

Following information and documentation is not intended for the general public.

Harma should be controlled by a PC (from a pentium 120MHz machine on, running Windows98 or Windows 2000 or any later version). If you want to use the printerport, you cannot run under Windows NT or 2000. National Instrument cards and boards for digital I/O can be used. We have tried DaqCard 24 DIO as well as the 6533 Cards and PCMCIA devices. Use NiDAQ version 6.9. Keep the cables between the PC and Harma reasonably short, since too long cables may cause data errors.

Since 2002, we also implemented USB controll for Harma. Use the AW-USB device. This works also under XP. In 2004 we rewrote the driver software completely to obtain a faster response. The new driver works only with USB ports.

Switching <Harma> on:

The following order must strictly be obeyed or severe harm to the instrument will result:

1.- switch on inverter, if the inverter is connected at the same time to a mains voltage supply, it will function as a UPS. If the inverter becomes the source of the mains voltage to <Harms> a buzz may be audible. It is caused by the filter coils in the mains filter at the input of the instrument. It is also possible and allowable to directly feed harma with the mains voltage, bypassing the inverter altogether. In that case connect the power lead directly to the mains voltage input on the instrument.

2.- Make sure the toggle switch for the solenoid power is in the OFF position. Switch on main power for Harma. This causes the 5V power to come up. The display will light up.

3.- start the computer and make sure the printer port is connected to the <Harma> parallel input.

4.- start <GMT>, compilation for Harma (g_robots.exe). Select the midi-in port that will we used to connect to the midi-out from your sequencing program. Select any midi output device that is NOT the one you will you in combination with the sequencing program.

5. in the <GMT> cockpit, start application and set all notes to off.

6. switch on the solenoid power supply on Harma: now the red and blue LED's should come up.

7. for GMT applications: start whatever piece from the computer.

8. for playback of midi files: start your sequencing program after activating the midi-listen task in the <GMT> cockpit.

 

Circuit boards overview:

All solenoids have a common positive voltage connection. The second wires come together in Weidmueller 8-pole connectors (two for each set) to the note hold and velo boards. To get access to the reeds and the springs, first disconnect all these connectors. Next, remove the U-shaped stainless steel protectors. Then loosen the bolts joining upper and lower part of the instrument. The solenoid assembly can be lifted up vertically from the soundboard containing the reeds. Always keep components in a horizontal position!

The positive voltage can be adjusted on the power supply printed circuit board with the multiturn trimmer. The voltage should be adjusted such that when no velocity pulses are applied, the solenoids develop just enough force to push the pallets down and hold them down. Initially we found 16V to be a suitable setting. The negative voltage should be adjusted between 20V and 48Volts. Initially we had it set to 23V. Changing this voltage will change the velocity scaling of the instrument.

Technical revisions and maintenance notes:


The <Harma> automat can be heard on the Logos Public Domain CD <Automaton> (LPD007). It is also a part of the <M&M> robot orchestra and as such in can be heard on Logos Public Domain CD <M&M> (LPD008) and LPD013. We also recorded a full CD with J.S.Bach's Goldberg Variations, interpreted by Harma. Available on request from the Logos Foundation.

In 2004/2005 two CD's in the same LPD series appreared: LPD013 (Machine Orchestra) and LPD014, (Robody) each featuring pieces wherein Harma plays an important role.

Last update: 2005-07-12 by Godfried-Willem Raes