This instrument is a computer controlled acoustical angklung designed and build in 2000. In 2006 it has undergone a major upgrade of the entire hardware and in 2015 the firmware has undergone a major upgrade. The anklungs themselves are made of hardened brass and tuned to a western scale covering two octaves. The instrument can be played by standard MIDI commands. It is mounted on a heavy duty trolley and can be taken on the road for street performances. However, it is not rain resistent and should be protected against moisture. All angklungs are automated by bidirectional hefty solenoids such that the shaking functionallity could be implemented.
<Klung> played its very first automated scales on sunday the 18th of june 2000. Ever since than, it has been a fixed member of the Logos Robot Orchestra.
On june 21th in the year 2000, its builder wrote a tango for this instrument. This composition was called 'KlungelTango' and is scored for <Klung> in combination with a singer or a melodica. The computer program was written in <GMT> and is interactive. The piece can be performed on the street by a single performer. This tango was premiered on monday 4th of july, the melody performed by Karin Defleyt and the tango danced by the author with his partner, Moniek Darge. It was recorded for RTBF-television.
The instrument was made and designed to be a part of the <Slag-Werk> project realized for 'Web Strikes Back' at the occasion of the Tromp biannual, october 2000 in Eindhoven, the Netherlands.
A first composition that became a part the the <Web Strikes Back> project is called 'Klungels'. Both a version for the 'Klung' as a simulator version using real samples recorded from 'Klung' as well as a plain vanilla midi version playing on the robot itself is available for downloading from the Logos website. Work on this interactive software was also done by Kristof Lauwers. The musical range for this robot is:
Note that each note sounds in 3 octaves simultaneous. Sound sample of note 60 (C). (.wav format)
Midi implementation table for <Klung>:
Klung responds to messages and commands only on midi channel 4
The lookup table - a tempered distribution - for the repeat frequencies controlled either globally with controller #30, or on a note-by-note base using the key pressure command for the corresponding note, used is:
The instrument uses following dedicated hardware:
1. two PIC (18F4620) controlled mosfet driver boards taking input from a midi port on a PC, with following schematic:
Detailed circuit of the PIC-boards themselves can be seen by clicking this link. Note that the solenoids we used have double windings, one winding for each direction of movement. Thus no return springs are mounted. The alternation of the movement is automatic and handled in the firmware.
There are 20 anklung-notes in the intrument, each note always sounding in 3 octaves, as usual on the original indonesian instruments, made of bamboo. Our anklung however does not use bamboo but brass tubing and was rebuild from an old German instrument designed to be used in the circus. The original instrument was to be used by a musical clown and even had small electric lights fitted. (During our upgrade in 2006 we fitted tungsten lights again). This use explains why the tuning of the instrument conforms to A=440Hz and why it is tuned in equal temperament. The ambitus is C#- A(49 - 69). The angklungs are actioned by strong bidirectional solenoids. These are rated nominally 24V/ 1A delivering a force of 24 Newton. In order to get a higher range of striking velocities, we operate these solenoids at a little more than twice the rated voltage, limiting the duty cycle to 25%. At these voltage levels, one should never leave the coils under current. Doing this has no musical advantages nor uses and may only lead to an early death of the solenoids or the power supply. Since the rebuild in 2006 it became actually almost impossible for users to do this. The only potentially dangerous thing could be to send notes faster than the instrument can react to. In such a case the instrument would not sound a note but may still get very hot.
2. The 40 power mosfets we used for controlling these solenoids are Harris RFP10N12L (or the modern equivalent IRL640), since these switch on TTL levels and are capable of dissipating 60Watts. The current rating is 17A and their Uds limit is 200V. The rather high gate capacitance (1200pF) is not a real problem since switching speeds in this application are inherently pretty slow. For this reason we did not fit a resistor between gate and ground in the driver circuit. Note that when the power supply is switched on, all PIC outputs could go to a high state, thus sounding all notes at the same time. This is a detrimental condition of course. To avoid this, we modified Klung such that the instrument has to receive an explicit power on command (midi controller 66) from the connected PC before it will be fully powered on. In the 2006 implementation, the PIC's take care of all these technicalities, but still switching the instrument fast on and off using the power switch can be dangerous and should be avoided. The midi implementation is as follows:
- Note ON commands (144+channel, notebyte,velocity) on the selected channel for the notes 49 to 69 toggle the angklungs either forwards or backwards. The velocity controls the striking force and corresponds to the electrical pulse durations. With the default setting for program change set to 0, the range is 7 to 25 ms. With program change set to 122, the range becomes 1.2 ms to 55 ms.
- Note Aftertouch command can be used to set a periodic shaking frequency for the playing note. The command is 160 + channel, notebyte, period. The period is a value between 1 and 127 and is converted to 2 Hz to 16 Hz.
- Note OFF command switch notes off ,also when key pressure commands were sent. When key pressure commands are not used, it is not strictly essential to send note off commands.
3. The power supply for this instrument is rated for 500 Watts. The only reason for using two transformers had to do with the availability of off the shelve transformers in our regular electronic hardware retail store. The 5V required for the logic circuits is derived from a separate small 9V transformer. The relais works under command of midi controller 66 and is a heavy duty truck- type encapsulated relais rated for 80A. The resistor in series does get hot indeed...
Specific compositions for this instrument are written by Kristof Lauwers, Brent Wetters, Thomas Smetryns, Kris De Baerdemacker, Charlemagne Palestine, Sebastian Bradt and myself. We herewith invite any composer interested, to submit a piece for <Klung>. The midi implementation is as follows:
To shake the anklungs: notes 49 to 69, the shaking direction will alternate automatically. Note that note 68 (G#) is missing in the instrument. You should limit the shaking speed to lower than 12 beats a second. Velocity is implemented, so you can do crescendo's, accents etc... Obviously the instrument is intrinsically shaky in a very reliable way...
If you are using <GMT> under Power Basic, you can use all specific hardware control functions and procedures provided in our library. The low level functions can also be used by C programmers, since they are exported and reside in a standard DLL library. It is also possible to controll <Klung> using a microcontroller or even a simple Basic Stamp: the BS2 stamp just works nicely. In can output midi directly. Of course Arduino boards can also be used.
Available compositions and/or arrangements for <Klung>:
Concerts where <Klung> could be heard:
Collaborators on the construction and maintenance of <Klung>:
Collaborators on the <Klung> software:
Dimensions and technical specifications:
The <Klung> robot can be heard on the Logos Public Domain CD <Automaton> (LPD007)., as well as -in combination with many more automats in CD <M&M> (LPD008). It is also featured on LPD0014: <Robodies> (2005)
Last update: 2016-08-20
Servicing information and techical details:
This section of this webpage is not intended for the general public but rather for our own servicing and maintenance staff.
- 9V transformer mounted inside switch box, as well as the two red LED 25mm spotlites. These are lit as soon and as long as the main power switch is on, regardless reception of controller 66. The red lites also have a function in discharging the caps after switch off. It takes about 5 minutes for these lites to dim completely after switch off. This is a normal and intended behaviour.
- Light bulbs: E10 sockets (US naming: 'Midget Groove Base'') Osram 48/60V 2W type 3462. Spare bulbs are stored in a small plastic or cardboard container inside the housing of the power switch. Do not leave the lights on for a longer period than strictly required. The bulbs have a very limited lifetime (50h) and are pretty expensive.
- Port/connector mapping for <Klung>
Board 1: servicing notes 48 to 59. PIC processor 18F4620 (Socketed)
Weidmueller note PIC port remarks 1 48 RA2 not mounted 2 48 RA1 not mounted 3 49 RA0 L 4 49 RA3 R 5 50 RA4 L 6 50 RA5 R 7 51 RE0 L 8 51 RE1 R 9 52 RE2 L 10 52 RB4 R 11 53 RB3 L 12 53 RB2 R 13 54 RB1 L 14 54 RB0 R 15 55 RD7 L 16 55 RD6 R 17 56 RD5 L 18 56 RD4 R 19 57 RC5 L 20 57 RC4 R 21 58 RD3 L 22 58 RD2 R 23 59 RC0 L 24 59 RC1 R 25 122 RC2 light bulb 26 123 RC3 light bulb 27 124 RD0 light bulb nc 28 C66 RD1 power relay
The watchdog status LED (Red) is mapped on port RB5.
Source code for this board.
Board 2: servicing notes 60 to 69. PIC processor 18F4620 (Socketed)
Weidmueller note PIC port remarks 1 60 RA2 L 2 60 RA1 R 3 61 RA0 L 4 61 RA3 R 5 62 RA4 L 6 62 RA5 R 7 63 RE0 L 8 63 RE1 R 9 64 RE2 L 10 64 RB4 R 11 65 RB3 L 12 65 RB2 R 13 66 RB1 L 14 66 RB0 R 15 67 RD7 L 16 67 RD6 R 17 68 RD5 L missing note 18 68 RD4 R missing note 19 69 RC5 L 20 69 RC4 R 21 nc RD3 22 nc RD2 23 nc RC0 24 nc RC1 25 nc RC2 26 120 RC3 light bulb 27 121 RD0 light bulb 28 C67 RD1 video on/off
Source code for the firmware of this board.
The coding for the interrupt handling is common to both micriprocessors. Here is the source.
Repair and maintenance logbook and notes:
- 1998: The original instrument rescued from being thrown away during a renovation of the building of the Ghent Conservatory. The instrument was a donation from the flemish composer and our former composition teacher Norbert Rosseau. The information on the origin of the instrument comes from him. His father ran a circus. In the state we obtained the instrument is was badly in need of restauration and many notes where missing or totally ruined.
14.01.2000-21.06.2000: First build of <Klung>. Version 1.0 Up and running.
- 09.2002: Battery operation made possible. We fitted 3 12V lead cells, each 8Ah.
- 03.2004: Pin code start-up hardware added. Klung version 2.0
- 20-24.08.2006: All electronics changed, we now use two18F4620 PIC controllers. Lights added (20, 4 groups of 5 bulbs). Power supply voltage raised. Lead batteries removed.
- 25.08.2006: De resolutie voor de velocity scaling tabellen is nu 27.2 µs. Een grote verbetering tegenover de windows-implementatie waarbij de timing resolutie niet groter kon zijn dan 1ms. De resolutie die we haalden in onze ontwerpen met Intel timers (<Vibi> en <Tubi>) is evenwel met 1µs nog beduidend beter.
- 27.08.2006: New power switch mounted. The spare bulbs find a place inside this box.
- 01.09.2006: PIC's programmed with Johannes Taelman. Klung works again and is now a midi robot. Note aftertouch not yet implemented in the firmware code.
- 02..09.2006: Klung test sessions under <GMT> control. Firmware version 2.0
- 29.10.2007: Velocity scaling lookup programming session.
- 09.10.2010: Start of the coding design for periodic repeats using note-pressure commands. Proof of concept and working version demonstrated in <Simba>, firmware for its midihub board.
- 20.11.2015: Work on the implementation of the note pressure command in the PIC firmware continued.
- 21.11.2015: Further work on the firmware upgrade. The timing resolution is now 11 µs.
- 22.11.2015: Both microcontrollers tested with the new firmware and placed back into the robot. Now version 3.0. Documentation adapted to reflect all changes.
- 24.11.2015: Revision of the algorithmic composition code from the year 2000.
- 25.11.2015: Klung included in the orchestration of the finale of Kurt Weill's Drei Groschenoper.
Robody picture with <Klung>: