<Klung>

an automated brass anklung

2000 - 2006 - 2015

 

 

 

by

Godfried-Willem Raes


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

Midi command byte 1 byte 2 comment
128 + 4 Note Off note 49-69 0 note off. Stops shaking. Release is not implemented.
144 + 4 Note On note 49-69 velo note 68 missing, The velocity byte steers the force of the stroke. Strokes alternate direction automatically.
144 + 4 Lights On note 120-123 > 0 lights on/off (4 groups of 5 bulbs each)
160 + 4 Key Pressure note 49-69

shaking frequency

0= off

1 = 2 strokes per second (MM120)

values 1 to 127 correspond to 2Hz to 16Hz frequencies. In our implementation before 2015, this was only implemented when using the GMT midi file player. Now, since 2015, it became a standard feature of the robot. The command must be sent prior to the note on command. The setting remains sticky until reset by this command, by controller 30 or by a power off command.
176 + 4 Program Change 0, 122 -

program change: select a different velocity lookup table. By default, program 0 will be active. Setting the program to value 122 increases the velocity scaling to a much wider range.

192 + 4 Controller 30 global shaking frequency sets the shaking frequency to the same value for all angklungs. This controller was added to the implementation table in 2015. The range is 2Hz to 16Hz, for midi values 1 to 127. Details of the mapping are in the table below.
192 + 4 Controller 66 0 or >0 controller: power ON/OFF Power off resets all controllers and settings for shaking frequencies. It also resets the program change to 0.
192 + 4 Controller 67 0 or > 0 controller: video ON/ OFF for the built-in video camera.
192 + 4 Controller 69 0 or >0 disable/enable aftertouch shaking control [only implemented when using the GMT file player] This feature is no longer implemented now.
192 + 4 Controller 123 0 all notes off, no controller resets do occur on reception of this command . It does not reset programmed repetition rates neither. It will also turn off the lights.
       
sysex used for programming different velocity lookup tables. This feature was dropped in the upgrade from 2015 as there was no longer a use for it.

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:

midi value frequency Hz MM tempo
0 no repeats -

1

2

120

2

2.066

124

3

2.101

126

4

2.135

128

5

2.171

130

6

2.206

132

7

2.243

135

8

2.28

137

9

2.318

139

10

2.356

141

11

2.395

144

12

2.434

146

13

2.474

148

14

2.515

151

15

2.557

153

16

2.599

156

17

2.642

159

18

2.685

161

19

2.73

164

20

2.775

166

21

2.821

169

22

2.867

172

23

2.914

175

24

2.963

178

25

3.012

181

26

3.061

184

27

3.112

187

28

3.163

190

29

3.215

193

30

3.269

196

31

3.322

199

32

3.377

203

33

3.433

206

34

3.49

209

35

3.547

213

36

3.606

216

37

3.666

220

38

3.726

224

39

3.787

227

40

3.85

231

41

3.914

235

42

3.978

239

43

4.044

243

44

4.111

247

45

4.178

251

46

4.247

255

47

4.318

259

48

4.389

263

49

4.461

268

50

4.535

272

51

4.61

277

52

4.686

281

53

4.763

286

54

4.842

291

55

4.922

295

56

5.003

300

57

5.086

305

58

5.17

310

59

5.255

315

60

5.342

321

61

5.43

326

62

5.52

331

63

5.611

337

64

5.704

342

65

5.798

348

66

5.893

354

67

5.99

359

68

6.09

365

69

6.19

371

70

6.292

378

71

6.396

384

72

6.501

390

73

6.609

397

74

6.718

403

75

6.829

410

76

6.941

416

77

7.056

423

78

7.173

430

79

7.291

437

80

7.412

445

81

7.534

452

82

7.658

460

83

7.785

467

84

7.913

475

85

8.044

483

86

8.176

491

87

8.312

499

88

8.449

507

89

8.588

515

90

8.73

524

91

8.874

532

92

9.02

541

93

9.17

550

94

9.32

559

95

9.474

568

96

9.631

578

97

9.79

587

98

9.951

597

99

10.12

607

100

10.28

617

101

10.45

627

102

10.62

638

103

10.8

648

104

10.98

659

105

11.16

670

106

11.34

681

107

11.53

692

108

11.72

703

109

11.92

715

110

12.11

727

111

12.31

739

112

12.52

751

113

12.72

763

114

12.93

776

115

13.14

789

116

13.36

802

117

13.58

815

118

13.81

828

119

14.03

842

120

14.27

856

121

14.5

870

122

14.74

885

123

14.98

899

124

15.23

914

125

15.48

929

126

15.74

944

127

16

960

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...

Music:

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 just as about any modern microcontroller board can also be used.

Available compositions and/or arrangements for <Klung>:

  • 'KlungelTango' by Godfried-Willem Raes
  • 'Klungels' by Godfried-Willem Raes
  • 'StochKlung' by Kristof Lauwers
  • "To Brent 2" by Thomas Smetryns
  • Click here to hear this piece in MP3 format:
  • "Trio Paradiso" (for Klung, Harma and Vibi) by Godfried-Willem Raes .
  • "Paradiso" (for <Vibi>,<Klung>,<Harma>,<Piperola>,<Player Piano>,<Troms>
  • "GestroMetals" (for <Belly>,<Klung>,<Vibi> and invisible instrument)
  • "Grays for Klung" by Godfried-Willem Raes
  • "Rolands Round" by Godfried-Willem Raes
  • "Klungel Harm" by Godfried-Willem Raes

 

Concerts where <Klung> could be heard:

  • Sunday 10th of september 2000, Kasteelpark Melle, Brusselsesteenweg (near Gent).
  • Tuesday 17th of october 2000: Logos Tetrahedron: Try out concert
  • Tuesday 24th to Sunday 29th of october 2000, Eindhoven, TU: <Web Strikes Back Project>,(Netherlands)
  • Thursday august 2nd 2001, Ghent: Logos Tetrahedron
  • Sunday september 9th 2001, Sint Truiden, Stadhuis (10u00-18u00)
  • Thursday october 27-29 2001, Tourcoing, Le Grand Mix (France)
  • Monday november 12th 2001, Amsterdam, Paradiso (Netherlands)
  • Saturday december 1th,2001, Herne, Teutoburgia Halle (Germany)
  • Tuesday december 4th, 2001, Ghent, Logos Tetrahedron
  • March 27th, 2002, Ghent, Logos Tetrahedron (M&M ensemble)
  • April 23th, 2002, Ghent, Logos Tetrahedron (M&M ensemble)
  • July 20th,21th and 22nd, 2002, Ghent, Logos Tetrahedron (M&M ensemble)
  • August 10th and 11th, 2002, Ghent, Paterholfeesten, Oudburg
  • August 12th, 2002, Ghent, Logos Tetrahedron (M&M ensemble)
  • November 28th, 2002, Enschede, Tart Symposium (M&M ensemble)
  • December 19th, 2002, Ghent, Logos Tetrahedron (M&M ensemble)
  • Februari 13th, 2003, Ghent, Logos Tetrahedron (M&M ensemble)
  • March 13th, 2003, Ghent, Logos Tetrahedron (M&M ensemble)
  • October 2003, Den Haag, Festival De Branding (M&M ensemble)
  • January 2004, Den Haag, Korzo Festival (M&M ensemble)
  • January 2004, Lille, Lille 2004 Robots (M&M ensemble)
  • April 2004, Paris, France (M&M ensemble)
  • March 2005, Leuven, Stuk (M&M ensemble)
  • July 2005, Muenchen ,Germany (M&M ensemble)
  • August 2005, Ruemlingen Festival ,Switserland (M&M ensemble)
  • October 2005, Leuven, Transit Festival (M&M ensemble)
  • December 2005, Ghent, Logos Tetrahedron (M&M ensemble)
  • March 2006, Ghent, Logos Tetrahedron (M&M ensemble)
  • November 2006, Koeln, Gimik, (M&M ensemble)
  • November 2006, 's Hertogenbosch, Netherlands (M&M ensemble)
  • July 2007 , Spiegeltent Gentse Feesten, Baudelopark (M&M ensemble)
  • March 27th 2009: Gent Scheppende Stad: (Vooruit)
  • almost all Logos robot orchestra concerts at Logos Foundation

 

Collaborators on the construction and maintenance of <Klung>:

  • Kurd Vandevelde
  • Moniek Darge
  • Xavier Verhelst
  • Sebastian Bradt

Collaborators on the <Klung> software:

  • Kristof Lauwers (GMT application coding)
  • Johannes Taelman (PIC version 2006), the newest firmware version (2015) was written by Godfried-Willem Raes.

Dimensions and technical specifications:

  • width: 1650 mm (with handle, 1750mm)
  • height: 1600mm
  • depth: 52 0mm
  • weigth: 150kg
  • power consumption: 512Watts (peak) / 230V AC. Normal average power taken up when playing: 75W. At rest: 20W.
  • data input:. Since 2006 <Klung> is provided with a standard midi port.
  • data output: 3 midi thru connectors are available.
  • Insurance value: 18.500 Euro.

 

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)

Back to Web Strikes Back Back to logos' main index page To homepage Godfried-Willem Raes Back to the users manual for the robot orchestra

Last update: 2023-10-05

 
     

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:



Robody picture with <Klung>: