AURA
192-Channel Wave Field Synthesis Array
Designed & built by Kerem Ergener and Jesse Allison.
Overview
THE AURA (Atmosphere Using Reconstructed wave field with Array) is a 192-channel Wave Field Synthesis (WFS) array. It is built as a dense, single-layer aperture that implements a 2.5D WFS scheme: closely spaced full-range loudspeakers act as secondary sources, driven to reconstruct a target wavefront within the audience plane. Rather than optimising sound for a single sweet spot, the array reconstructs the sound field itself, so that spatial relationships and localisation cues hold across the listening area for both seated and freely moving audiences.
Design philosophy
The array is intended to read as an architectural element rather than a scenic intrusion. Its design follows Dieter Rams' principles of good design: the enclosures are low-profile and visually recessive, and operation is reduced to the essential gesture — connect power, connect signal. There are deliberately no volume controls or power switches on the modules. The transport is kept license-free and future-proof so that the line-level signal can be provided by any present or future interface.
What this manual covers
- Safety practices for electrical operation, rigging, and exposure.
- The physical module: drivers, enclosure, mounting.
- Full technical specifications.
- Assembly into full, partial, and curved configurations.
- The MADI signal backbone and digital-to-analog conversion chain.
- Powering, and a step-by-step setup & installation procedure.
- PanWFS — the SuperCollider rendering software — install, coordinate system, the four UGens, parameters, and worked examples.
- Maintenance, service, and troubleshooting.
Safety
Each module contains a mains-powered supply and eight class-D amplifier channels. Do not operate a module with the rear cover removed while connected to mains. Disconnect power before any service.
Electrical
- Each module is self-powered by an internal 120 W laptop-style supply. Use the supplied mains cabling and a correctly earthed outlet.
- Inspect cabling for damage before each deployment. Replace, do not repair in the field.
- Heat is conducted into the aluminium chassis, which acts as a passive heatsink. Do not obstruct the enclosure faces or stack heat sources against them. The system is ventless and requires no active cooling.
Rigging and mounting
- Each module weighs approximately 20 lb (9 kg). Use the rated VESA mount or the light-stand spigot adapter; never suspend a module by its cabling.
- For temporary rigs on light-stand spigots, confirm the stand's load rating and secure with a safety tie where overhead.
- Verify all modules are mechanically captive before applying signal.
Hearing and exposure
A dense array reconstructing coherent wavefronts can produce high, sustained sound-pressure levels across a wide region. Set conservative levels during calibration, and monitor exposure for audiences who may move close to the aperture.
System Architecture
The module
THE AURA is composed of 24 modular speaker units. Each module is one metre long, 12.5 cm high, weighs about 20 lb, and holds eight drivers — eight individual mono emitters. A single module therefore functions as an 8-channel WFS array in its own right. Placing all 24 modules side by side yields the full 192-channel configuration spanning 24 metres.
Geometry
The array is an equidistant linear array: all modules sit on a common axis with uniform spacing, and all drivers are spaced 12.5 cm apart. This spacing fixes the spatial sampling of the aperture and therefore the alias-free band of the 2.5D WFS reconstruction — approximately 1.37 kHz — which preserves the interaural time and level cues the auditory system uses for localisation while retaining usable low-frequency response.
Drivers
The chosen driver is the 3-inch Dayton Audio RS75-4, a full-range unit with a near-flat response below 10 kHz. Coupled to the aluminium chassis, the low-frequency output is reinforced to compensate for roll-off below 100 Hz, aiding reproduction of sub-bass content without a separate subwoofer in many rooms.
Enclosure
Enclosures are folded from quarter-inch aluminium and welded. Aluminium is unconventional as a loudspeaker material because of its resonant character, but it is chosen here for durability, dimensional stability, and its function as a heat sink for the embedded amplifiers — eliminating the need for vents or active cooling. The low profile lets the array mount along stage edges, risers, or wall reveals and recede visually at distance.
Technical Specifications
| Parameter | Value |
|---|---|
| Drivers per module | 8 |
| Module length | 1 m |
| Module height | 12.5 cm |
| Module weight | ≈ 20 lb (9 kg) |
| Driver | Dayton Audio RS75-4, 3 in, full-range |
| Driver spacing | 12.5 cm |
| Enclosure | Folded 1/4 in welded aluminium |
| Mounting | VESA mount; light-stand spigot adapter |
| Recommended height | ≈ 1.7 m (standing ear height) |
| Parameter | Value |
|---|---|
| WFS scheme | 2.5D, equidistant linear array |
| Spatial aliasing limit | ≈ 1.37 kHz |
| Full aperture | 24 m (24 modules) |
| Useful projection | to ≈ 20 m in medium rooms |
| Parameter | Value |
|---|---|
| Amplification | 8 × Texas Instruments TPA3110 class-D, on board |
| Power supply | 120 W laptop-style, internal, one per module |
| Signal input | DB-25, TASCAM pinout, 8 balanced line inputs |
| Controls | None (no volume, no power switch) |
| Cooling | Passive; aluminium chassis as heatsink |
| Backbone | MADI (master clock via MADI stream) |
| Sample rate | 48 kHz at full 192 channels |
At 96 kHz the maximum channel count per MADI path halves; 48 kHz is the practical rate for the full 192-channel deployment.
Assembly & Mounting
Spacing and alignment
Modules sit on a single axis. Maintain the 12.5 cm driver spacing across module joints as well as within modules so the aperture samples uniformly. Aim modules toward the listening regions and install around 1.7 m for standing audiences.
Mounting options
- VESA mount. The bottom of each module carries a VESA pattern for fixed installation along stage edges, risers, or wall reveals.
- Light-stand spigot. An adapter accepts standard light-stand spigots for temporary rigs.
Configurations
The array is modular by design. Beyond the full 24 m line, subsets of modules can be deployed, and curved or segmented layouts can follow a room's architecture. See Configurations for recommended layouts.
Signal Flow & Routing
The array accepts line-level signal from any multichannel interface; the number of modules used can be matched to the channel count an interface provides. The reference backbone is MADI, chosen over Dante/AoIP for fixed low latency, stable clocking, license-free operation, and a simple signal-flow schematic.
Reference chain
- RME MADIface XT II acts as the master, distributing three discrete MADI streams (two optical, one BNC), each carrying 64 channels.
- Each 64-channel stream feeds two RME M-32 DA converters daisy-chained — the first set to channels 1–32, the second to 33–64.
- Six M-32 DA units therefore cover all 192 D/A paths.
- From each M-32 DA, four DB-25 connectors carry 8 line outs each, routed to the modules (8 drivers per module).
The shared clock is carried on the MADI stream, keeping the whole system in a single sync domain with known, low latency.
Scaling down
The architecture scales cleanly. A single M-32 DA drives up to four modules; a single module can be driven from any 8-channel interface using a DB-25-to-TRS or DB-25-to-XLR snake for small-scale tests or partial deployments.
The input connector uses the TASCAM (AES59) analog pinout for 8 balanced line-level channels. Confirm any snake or breakout matches this standard before connection. See Appendix A.
Power
Each module is self-contained: an internal 120 W laptop-style supply feeds the eight on-board amplifier channels. Operation is plug-and-play — connect mains and connect the DB-25 signal cable; there is nothing to switch or set on the module itself. Heat is conducted into the chassis, so the system runs silent without fans.
Setup & Installation
This is the end-to-end procedure for bringing THE AURA up in a room: mounting the speakers, running the cabling, connecting the converter chain to a computer, and verifying the system before performance. The conceptual topology lives in Signal Flow & Routing; this chapter is the practical checklist.
1. Plan the layout
- Decide the configuration and module count (full 24 m line, a partial line, or a curved/segmented layout — see Configurations).
- Mark the array line on the floor or rig, keeping a continuous, uniform 12.5 cm driver spacing across every module joint.
- Confirm enough mains circuits for the module count, and plan cable runs from the converter position to each module.
2. Mount the speakers
- Fix each module via its VESA pattern, or seat it on a light-stand spigot adapter for a temporary rig.
- Set the array at roughly 1.7 m (standing ear height) and aim it toward the listening area.
- Confirm every module is mechanically captive and the line is level before applying power or signal.
3. Power the modules
- Connect each module's internal supply to mains, distributing modules across circuits so no single circuit is overloaded.
- There are no switches: a module is live once mains is connected. Verify the line is mounted and safe first.
4. Run the signal cabling
- From each RME M-32 DA, run its four DB-25 outputs to the modules — eight balanced line channels per DB-25, one DB-25 per module.
- Use DB-25 snakes or DB-25-to-TRS / DB-25-to-XLR breakouts that follow the TASCAM (AES59) analog pinout (Appendix A).
- Label every run by module and channel block so the mapping is unambiguous at both ends.
Seat each DB-25 connector fully and secure its screws. A loose or partially seated DB-25 is the most common cause of grounding artefacts (hum or high-pitched noise) and of whole channel blocks dropping out. See Troubleshooting.
5. Connect the converters and the computer
- Connect the RME MADIface XT II to the host computer (USB).
- Carry the three MADI streams (two optical, one BNC) to the six M-32 DA units — two units daisy-chained per stream, the first on channels 1–32 and the second on 33–64.
- Establish a single clock domain: set one device as clock master and slave the rest to the MADI stream.
- Set the sample rate to 48 kHz for the full 192-channel deployment.
6. Configure routing in TotalMix FX
- In RME TotalMix FX, map the host's software-playback channels to the MADI outputs feeding each M-32 DA.
- Confirm the channel order so that software output n reaches the intended driver. A mis-mapped matrix is the usual cause of "channels routed wrong."
7. Verify and calibrate
- Send a test signal to one channel at a time and confirm the correct driver sounds, walking the full count to validate the mapping.
- Set conservative levels, then load a PanWFS scene (Software: PanWFS) and walk the room to check stable localisation and parallax.
Software: PanWFS
PanWFS is an open-source SuperCollider extension developed alongside THE AURA and compatible with any 2.5D equidistant linear WFS array. It treats WFS authoring as another panning algorithm: define a virtual source position (and, for directional sources, an orientation) and PanWFS synthesises the wavefront by computing per-loudspeaker delay and amplitude from the Rayleigh/Huygens formulation. Doppler shift emerges naturally from changing propagation delays — no separate algorithm is required.
Installation
Copy the PanWFS folder into your SuperCollider Extensions directory and recompile the class library:
SuperCollider/Extensions/PanWFS/Classes/*.sc
The extension provides four classes — two that render onto the array and two for headphone monitoring:
- PanWFS_Monopole and PanWFS_Cardioid — render virtual sources onto the loudspeaker array.
- PanWFS_Headphone and PanWFS_Binaural — preview the same scene on headphones, sharing the array's coordinate system.
Confirm the install by evaluating PanWFS_Monopole in the interpreter.
Very large arrays can raise an allocation error. Increase real-time memory with s.options.memSize = 1024 * 2048; (2 GB minimum recommended). Beyond memory the limit is CPU — set s.options.numWireBufs = 128; and s.options.blockSize = 256;, and keep an eye on CPU usage.
Coordinate system
Positions are given in metres on a Cartesian grid, with the centre of the array as the origin (computed from the driver count and spacing):
virtual_x: negative to the left of centre, positive to the right.virtual_z: positive behind the array (non-focused sources); negative in front (focused sources).
The source input must be a single channel of audio, and number_of_speakers must be an even number.
Rendering UGens
PanWFS_Monopole
Renders a single virtual point source for monopole (omnidirectional) sources — radiating equally in all directions — over a straight-line loudspeaker array using 2.5-D WFS. It outputs one signal per channel, applying the per-speaker delay and amplitude from the Rayleigh/Huygens formulation, and can place both non-focused (behind the array) and focused (in front of the array) sources.
| Argument | Meaning |
|---|---|
input | Mono source signal (1 channel only). |
virtual_x | Source X position (m); 0 = array centre; − toward the left, + toward the right. |
virtual_z | Source Z position (m); + behind the array (non-focused), − in front (focused). |
number_of_speakers | Number of drivers in the array (even numbers only). |
speaker_distance | Spacing between drivers, in metres. |
zRef | Reference line depth Δz₀ (m); pick near the audience. |
roomTemp | Room temperature (°C) — affects the speed of sound. A thermometer/hygrometer is recommended; a sensor can feed this over OSC. |
humidity | Relative humidity in % (e.g. enter 41 for 41%). |
groundElevation | Elevation above mean sea level (m); negative below sea level. Converted internally to barometric pressure (sea level = 101325 Pa). Set 0 if unknown. |
max_delay | Delay buffer size (s); increase with caution. |
SynthDef(\WFS, {
arg out = 0, amp = 0.5, virtual_x = 0.0, virtual_z = 2.0;
var sig;
sig = WhiteNoise.ar * EnvGen.kr(Env.perc(0.01, 0.2), Impulse.kr(2));
sig = PanWFS_Monopole.ar(sig, virtual_x, virtual_z, 8, 0.127);
Out.ar(out, sig);
}).add;
PanWFS_Cardioid
Renders a single virtual point source for directional sources (such as a voice or a human head) over a straight-line loudspeaker array using 2.5-D WFS. It behaves like PanWFS_Monopole with an added yaw that sets the source's facing direction, and likewise supports both non-focused and focused sources.
| Argument | Meaning |
|---|---|
input | Mono source signal (1 channel only). |
virtual_x | Source X position (m); 0 = array centre; − left, + right. |
virtual_z | Source Z position (m); + behind the array (non-focused), − in front (focused). |
yaw | Source facing direction in radians. −90° (−π/2) faces straight toward the audience, 0° faces stage right (+x), 180° (π) faces stage left (−x). |
number_of_speakers | Number of drivers (even numbers only). |
speaker_distance | Spacing between drivers, in metres. |
zRef | Reference line depth Δz₀ (m); pick near the audience. |
roomTemp | Room temperature (°C) for the speed of sound; OSC sensor optional. |
humidity | Relative humidity in % (e.g. 41 for 41%). |
groundElevation | Elevation above mean sea level (m); converted to barometric pressure. Set 0 if unknown. |
max_delay | Delay buffer size (s); increase with caution. |
SynthDef(\WFS, {
arg out = 0, amp = 0.5, virtual_x = 0.0, virtual_z = 2.0;
var sig;
sig = WhiteNoise.ar * EnvGen.kr(Env.perc(0.01, 0.2), Impulse.kr(2));
// yaw = -pi/2 faces the audience
sig = PanWFS_Cardioid.ar(sig, virtual_x, virtual_z, -pi/2, 8, 0.127);
Out.ar(out, sig);
}).add;
Headphone-monitoring UGens
These let a spatial scene be sketched and previewed on ordinary headphones using the same Cartesian source coordinates as the rendering UGens, so a composition can be drafted away from the room and then rendered on the array unchanged.
PanWFS_Headphone
A headphone panner using a simplified binaural model based on ITD, ILD, and head-shadow cues. It computes source-to-ear distance, derives interaural time differences from geometric delay, applies level differences through distance- and side-dependent attenuation, and adds a simple frequency-dependent head-shadow on the far ear. Because it avoids full HRTF filtering it is low-CPU and portable — ideal for rapid sketching, testing trajectories, and composing in PanWFS coordinates — though it is not a substitute for individualised binaural realism. With Apple AirPods, the Headitude app can route head-tracking data to headyaw for active listening through natural head movement.
| Argument | Meaning |
|---|---|
input | Mono source signal (1 channel only). |
virtual_x | Source X in PanWFS coordinates; − left of centre, + right. |
virtual_z | Source depth; + behind the loudspeaker line, − in front toward the listener. |
listener_x | Listener X in the same coordinate system, allowing evaluation away from the array centre. |
listener_z | Listener depth; typically negative (e.g. −2 = two metres in front of the line). Do not use positive values — you cannot physically be inside the acousmatic space. |
headyaw | Listener head rotation (radians); 0 faces the array, ± rotates the listening direction. |
headWidth | Assumed distance between the ears (m); scales ITD/ILD and therefore image width and strength. |
distRed | Distance reference / reduction factor controlling amplitude vs. distance; prevents excessive loudness at very close range while letting far sources attenuate naturally. |
SynthDef(\WFS, {
arg out = 0, amp = 0.5, virtual_x = 0.0, virtual_z = 2.0,
listener_x = 0.0, listener_z = (-2.0), headyaw = 0;
var sig;
sig = WhiteNoise.ar * EnvGen.kr(Env.perc(0.01, 0.2), Impulse.kr(2));
sig = PanWFS_Headphone.ar(sig, virtual_x, virtual_z, listener_x, listener_z, headyaw);
Out.ar(out, sig);
}).add;
PanWFS_Binaural
A headphone panner using a lightweight parametric HRTF-style model. Instead of full measured-HRIR convolution it derives interaural arrival-time differences from source-to-ear geometry, applies distance-dependent attenuation, and shapes each ear with a small set of filters approximating head shadow and basic pinna-related spectral cues. It is a translation-oriented preview tool that preserves the spatial intent of a PanWFS scene during composition — not a replacement for the array or an individualised HRTF renderer. As with PanWFS_Headphone, Headitude can drive headyaw from AirPods head-tracking.
| Argument | Meaning |
|---|---|
input | Mono source signal (1 channel only). |
virtual_x | Source X in PanWFS coordinates; − left, + right. |
virtual_z | Source depth; + behind the line, − in front toward the listener. |
listener_x | Listener X in the same coordinate system. |
listener_z | Listener depth; typically negative (e.g. −2). Do not use positive values. |
hrtf | A parametric HRTF settings object (an Event of model parameters: head shadow, spectral emphasis, front/back coloration, distance behaviour, etc.). If nil, internal defaults are used. |
headyaw | Listener head rotation (radians); 0 faces the array. |
// HRTF parameter set (pass as the hrtf argument, or use nil for defaults)
(
~paramHRTF = (
headWidth: 0.18, speedOfSound: 343.0, maxDelay: 0.05,
lagTime: 0.02, minDistance: 0.125, distRef: 1.0,
shadowFc: 3500, shadowRs: 1.0, shadowDb: -10.0,
lowShelfFc: 250, lowShelfRs: 1.0, nearLowBoostDb: 2.0,
nearRefDistance: 0.6,
pinnaPeakFcFront: 3200, pinnaPeakFcSide: 4200, pinnaPeakRq: 0.8,
pinnaPeakDb: 4.0,
notchFcFront: 8500, notchFcRear: 6000, notchRq: 0.45,
notchDb: -8.0,
rearHiShelfFc: 5000, rearHiShelfRs: 1.0, rearHiShelfDb: -4.0,
outputGainDb: 0.0
);
)
SynthDef(\WFS, {
arg out = 0, amp = 0.5, virtual_x = 0.0, virtual_z = 2.0,
listener_x = 0.0, listener_z = (-2.0), headyaw = 0;
var sig;
sig = WhiteNoise.ar * EnvGen.kr(Env.perc(0.01, 0.2), Impulse.kr(2));
sig = PanWFS_Binaural.ar(sig, virtual_x, virtual_z, listener_x, listener_z, ~paramHRTF, headyaw);
Out.ar(out, sig);
}).add;
Choosing zRef
WFS has no single sweet spot, but a 2.5D line array can be amplitude-correct on only one line parallel to the array. zRef sets that depth and acts as an overall loudness compensator for the room. Rule of thumb: about half the room depth, picked near the audience.
Reflections and reverb
For an open-field character, a bare PanWFS source has no room cues. To place a source in an acousmatic room, early reflections can be built with the image-source method — mirroring the source across each wall and feeding each image back through PanWFS_Monopole as an additional virtual source, with a low-pass filter approximating wall absorption. A diffuse late tail can be spread across all loudspeakers with small random per-channel delays and gentle filtering, keeping the tail enveloping and non-localisable while the direct and early field preserve precise localisation.
Configurations
- Full line (24 m / 192 ch). 24 modules along a stage edge for room-scale field making and wide, communal movement of sources.
- Partial line. Any subset of modules matched to the available interface channel count.
- Single module (8 ch). One module driven from any 8-channel interface for tests, teaching, or small rooms.
- Curved / segmented. Layouts that follow the architecture; keep uniform driver spacing across segments.
Maintenance & Service
Serviceability is built in. The rear cover is removable, exposing the input and power board. Drivers and amplifiers connect on screw terminals rather than solder, so a failed part is swapped in minutes and any fault localises to a single card or driver.
Disconnect mains and allow the supply to discharge before removing the rear cover.
- Replace an amplifier card. Remove rear cover; release the card from its terminal block; fit the replacement; re-seat terminals.
- Replace a driver. Disconnect the driver's screw-terminal leads; unbolt; fit replacement; re-torque and reconnect.
- Periodic. Inspect terminal tightness and cabling; verify chassis is clean for heat dissipation.
Troubleshooting
| Symptom | Check |
|---|---|
| No output from a module | Mains connected; DB-25 fully seated; source level present. |
| One channel silent | Driver lead / amp card terminal; swap suspect amp card. |
| High-pitched sound | Grounding issue — check the DB-25 cable and seat it properly. |
| Speakers 5–7 do not work | Grounding issue — check the DB-25 cable and seat it properly. |
| Channels are routed wrong | Check the routing matrix in the TotalMix software. |
| Phasing / comb filtering | Confirm roomTemp, humidity, groundElevation in PanWFS so the speed of sound is correct. |
| Image collapses when moving | Verify uniform driver spacing across module joints; content above the aliasing limit will not localise. |
| Clocking errors / dropouts | Single MADI sync domain; confirm 48 kHz at full channel count. |
| Source too loud / too quiet | Adjust zRef toward half the room depth. |
DB-25 (TASCAM) Pinout
The module input is a DB-25 connector wired to the TASCAM (AES59) analog standard for eight balanced line-level channels. This is the widely adopted analog DB-25 pinout used by RME, Avid, MOTU, SSL, and others. Pin 13 is not connected.
| Channel | Hot (+) | Cold (−) | Shield / GND | Driver |
|---|---|---|---|---|
| 1 | 24 | 12 | 25 | 1 |
| 2 | 10 | 23 | 11 | 2 |
| 3 | 21 | 9 | 22 | 3 |
| 4 | 7 | 20 | 8 | 4 |
| 5 | 18 | 6 | 19 | 5 |
| 6 | 4 | 17 | 5 | 6 |
| 7 | 15 | 3 | 16 | 7 |
| 8 | 1 | 14 | 2 | 8 |
Pin 13 is unused (no connection). AES/EBU digital DB-25 cables use a different pinout and are not interchangeable with this analog wiring. Source: TASCAM DB-25 pinout standard.
Further Reading
- Kerem Ergener, “Acousmatic Spaces, Lived Places: Holophony and the Embodied Experience of Shared Atmospheres,” Computer Music Journal (MIT Press). doi:10.1162/COMJ.a.693
- Kerem Ergener, Phenomenology of Atmosphere and Sonic Embodiment of Architectural Spaces and Places (Ph.D. dissertation, Louisiana State University, 2026). repository.lsu.edu/gradschool_dissertations/7015
Photographs
THE AURA in the studio and in performance. Select any image to view it larger; use the arrow keys or the on-screen controls to move between photographs.
Glossary
Holophonic audio — Reproduction that reconstructs the sound pressure field itself, so virtual sources behave as if in physical space and remain consistent for listeners across the area — communal rather than personalised.
2.5D WFS — A practical reduction of full 3D WFS to a horizontal line of sources, amplitude-correct along a chosen reference line (zRef).
Secondary source — A loudspeaker driven so the superposition of all speakers reconstructs the target (primary) wavefront.
Focused source — A virtual source rendered in front of the array (negative virtual_z), synthesised with a time-reversed phase.
Spatial aliasing limit — The frequency above which driver spacing can no longer sample the wavefront cleanly (≈ 1.37 kHz here).