<Dodek>

an electroacoustic pipe organ using compressor driven flared resonator pipes

 
Godfried-Willem RAES

V1.0: 2024

 


 <Dodek>

As the results of the <Hybr> robot and its derivatives <HybrHi> and <HybrLo> turned out very positive, and after building the series of four 'Pi' robots (<Pi>, <2Pi>, <3Pi> and <4Pi>) using metal membranes, we decided to give a throw at a new design using smaller cylindric pipes ending in a wide flared trombone like horn. The soldered copper pipes should work acoustically as 1/4 lambda resonators.. As the required pipe lengths turn out too long to construct a comfortably transportable instrument, we decided to bend them at several places such that the total height of the instrument stays smaller than 1.7 meters. So even fully mounted it should pass through a normal door.
<Dodek> was designed at a time the Logos Foundation was highly endangered, as a politically driven advisory commission composed of complete idiots (however politically highly correct...) issued a negative advice about our governmental funding. In such an awkward context were we found ourselves cancelled, it became a priority to design the instrument such that it could be build from recycled materials and merely components we had in stock. Clearly this had severe repercussions on the visual appearance of this robot. Sorry for that. Blame the conservative puritan leftists that oppose to real experimental work in the arts for this.
As in <HybrLo>, in this instrument we thought about experimentally inclined composers and provided in individual ADSR control and waveshape for every single note. Thus the instrument can even produce pretty percussive sounds. For compatibility with the other instruments, global controllers for these parameter are implemented as well. To make things even easier for users, we implemented a small set of presets as well.

The 16-bit microprocessors in this robot are working at the upper limit of their capabilities. All the code is based on a multitude of fast interrupt handlers running at up to ultrasonic frequencies which by their very nature had to be handled in a hierarchical way. All wave processing makes use of PWM modulation, nine channels for each processor. This 'on the edge of processor possibilities' approach is not without musical consequences and in a way the robot in the end has somewhat of a more human behaviour: as the music gets faster and more complicated, it may give up on precision. It will not crash nor get out of tune, but as the number of controllers and key pressure commands send to it becomes very high, the enveloppes will tend to become a bit irregular and shaky.

Here is an overview of the complete circuitry:

As we wanted quite a powerful sound we used > 100 W membrane compressors to drive the pipes through a capilary. This made a twelve channel audio amplifier a requirement. We succeeded in designing these 12 channels on a single Eurocard board, cut in two halves. We used six TDA7264 stereo amplifier chips rated for 2 x 22 Watt each.


Midi implementation and mapping:

Midi channel: x(counting 0-15)

Note Off: notes 22 to 81, note release implemented.
Note On: notes 22 to 81, velo implemented.

Lights:

The lights are mapped on the note range 0 to 3. The velocity byte steers the flashing speed. With velo=127, the lights will be steady ON. Flashing speed can be modulated with the key pressure command.

 

Controllers:

number function default setting / remarks  
#1 Frequency jitter noisyness of the sound. 0 by default
#7 Global sustain level    
#15 Global waveshape 127 (corresponding to 50% duty cycle wave) overrides key pressure settings for individual notes
#17 Global attack time   0-206 ms
#18 Global decay time   0-206 ms
#19 Global release time   0-512 ms
#20 Tuning Global tuning (range, a quartertone up or down). Default value 64 for A= 440 Hz (*) not yet implemented
#21 attack time note 22 applies to notes 22, 34, 46, 58 0-206 ms
#22 decay time note 22 id. 0-206 ms
#23 release time note 22 id. 0-512 ms
#24 attack time note 23 applies to notes 23, 35, 47, 59 0-206 ms
#25 decay time note 23 id. 0-206 ms
#26 release time note 23 id. 0-512 ms
#27 attack time note 24 applies to notes 24, 36, 48, 60 0-206 ms
#28 decay time note 24 id. 0-206 ms
#29 release time note 24 id. 0-512 ms
#30 flashing speed lights Sets the flashing speed for all implemented lights. (notes 0 - 3)  
#31 attack time note 25 applies to notes 25, 37, 49, 61 0-206 ms
#32 decay time note 25 id 0-206 ms
#33 release time note 25 id 0-512 ms
#34 attack time note 26 applies to notes 26, 38, 50, 62 0-206 ms
#35 decay time note 26 id. 0-206 ms
#36 release time note 26 id. 0-512 ms
#37 attack time note 27 applies to notes 27, 39, 51, 63 0-206 ms
#38 decay time note 27 id. 0-206 ms
#39 release time note 27 id. 0-512 ms
#41 attack time note 28 applies to notes 28, 40, 52, 64 0-206 ms
#42 decay time note 28 id. 0-206 ms
#43 release time note 28 id. 0-512 ms
#44 attack time note 29 applies to notes 29, 41, 53, 65 0-206 ms
#45 decay time note 29 id. 0-206 ms
#46 release time note 29 id. 0-512 ms
#47 attack time note 30 applies to notes 30, 42, 54, 66 0-206 ms
#48 decay time note 30 id. 0-206 ms
#49 release time note 30 id. 0-512 ms
#51 attack time note 31 applies to notes 31, 43, 55, 67 0-206 ms
#52 decay time note 31 id. 0-206 ms
#53 release time note 31 id. 0-512 ms
#54 attack time note 32 applies to notes 32, 44, 56, 68 0-206 ms
#55 decay time note 32 id. 0-206 ms
#56 release time note 32 id. 0-512 ms
#57 attack time note 33 applies to notes 33, 45, 57, 69 0-206 ms
#58 decay time note 33 id. 0-206 ms
#59 release time note 33 id. 0-512 ms
#66 power on / off power off resets all controllers to default values. It also mutes the amplifiers  
#70 sustain level note 22 this controller can be used to steer volume during the sustain phase applies to all Bb's
#71 sustain level note 23 this controller can be used to steer volume during the sustain phase applies to all B's
#72 sustain level note 24 this controller can be used to steer volume during the sustain phase applies to all C's
#73 sustain level note 25 this controller can be used to steer volume during the sustain phase

applies to all C#'s

#74 sustain level note 26 this controller can be used to steer volume during the sustain phase applies to all D's
#75 sustain level note 27 this controller can be used to steer volume during the sustain phase applies to all Eb's
#76 sustain level note 28 this controller can be used to steer volume during the sustain phase applies to all E's
#77 sustain level note 29 this controller can be used to steer volume during the sustain phase applies to all F's
#78 sustain level note 30 this controller can be used to steer volume during the sustain phase applies to all F#'s
#79 sustain level note 31 this controller can be used to steer volume during the sustain phase applies to all G's
#80 sustain level note 32 this controller can be used to steer volume during the sustain phase applies to all G#'s
#81 sustain level note 33 this controller can be used to steer volume during the sustain phase applies to all A's
#123 all notes off silences all notes but leaves controllers unaffected.  

(*) If the tuning is set much different from 440Hz, the overall amplitudes will be affected, unless tuning follows the changes of resonance frequencies as a result of temperature changes.  The range is a quartertone up or down. Parameter value 64 equals A=440Hz)

To understand the different parameters and controllers available in this robot, a close look at the following graph might help:

All levels are scaled on a log scale selectable with controller #100. Followings scales are implemented: 20dB, 30dB, 40dB, 50dB, 60dB. .

 

Key pressure is implemented for all notes in the ambitus of the instrument and used to modify the waveshape of the drive signal. By default key pressure it set to 127, corresponding to a 50% duty cycle wave. Key pressure commands can be sent at all times and do not require the note(s) they refer to, to be sounding. Key pressure commands are sticky: they are not reset with a note-off. Power off (ctrl.#66) will reset all settings to 127. The waveshape in use can also be globally controlled with controller #15. For the lights (mapped on notes 0 to 3) key pressure commands change the flashing speed for the lights that are turned on.

Channel aftertouch and pitch bend are not implemented on <Hybrlo>

Program Change: This command can be used to select a few different controller presets.

Prog.# name remarks
0 default optimum velocity values: 64
1 plucked ideal velocityvalues: 100
2 nasal slow velocities < 80
3 organ velocities @ 40, for a sound similar to <Bourdonola>
4 sharp velocity is pretty irrelevant here

Note that sending program change commands whilst notes are playing, can lead to unpredictable results at times. So this should be avoided. Sending an all-notes-off command followed by the program change command for the selected preset will allways work.

All level related controllers follow a logarithmic scaling from 0dB to -60dB:

As the processor used here has 16 bit PWM resolution, the 0dB reference corresponds to 2^16. Note that we use output voltage units (VU) here and not sound pressure levels according to a dBA scale. .


Technical specifications:

Design, research and construction: dr.Godfried-Willem Raes (2024)

Collaborators on the construction of this robot:
Servicing:

Music composed for <Dodek>:

 

 

Back to Logos-Projects page : projects.html Back to Main Logos page:index.html To Godfried-Willem Raes personal homepage... To Instrument catalogue Naar Godfried-Willem Raes' homepage

Construction diary:

23.01.2019: First design sketches en drawings.
15.02.2020: Some horn loudspeakers (20 W to 50 W power range) bought for disassembly and experiments with their membrane compressors.
19.09.2024: The hunt for at least twelve old trombones is opened...

 



TO DO:

 


Maintenance information:

Circuit diagrams:

General overview:

 

Power supply:

.

Note generator and filter boards:

 

Amplifier boards:

 

Midihub and parser board:

 

PCB's:

Note generator boards with active filters and multipliers (Eurocard size: 100 mm x 160 mm, single sided PCB):

These boards are mounted op the bottom plate with M3 male-male shock absorbers as stand off's.(Ettinger, Male-Male, Farnell order code 1466989).

Amplifiers PCB's: (at 200%)

Critical evaluation:


Last update: 2024-09-19

by Godfried-Willem Raes

Further reading on this topic (some in Dutch):

Audsley, George Ashdown 'The Art of Organ-Building', ed. Dover Inc, NY,1965, (first edition: 1905)  ISBN 0-486-21314-5

D'Appolito, J. 'Luidspreker-meettechniek', ed. Segment BV, Beek , Nederland, 2000, ISBN: 90 5381 116 8

Raes, Godfried-Willem , Expression control in musical automates

Raes, Godfried-Willem, <Hybr>

Raes, Godfried-Willem, <HybrHi>


 Maintenance and disassembly instructions:

Before undertaking any repair on this robot we strongly advise to first read through our construction diary, as this will clarify fully how the machine was originally designed and assembled.

[EOF]