~/maxime-popoff/openfield
← back to popoff.dev
Openfield WFS speaker array
wfs beamforming

Openfield

Embedded, Modular, and Cost-Effective Loudspeaker Arrays

This project is an 8-speaker, 50×7×7cm bar, chainable up to 128 speakers with a single FPGA to provide a cost-effective speaker array. It comes with WFS and beamforming/steering implementations, controlled through a single USB line, which handles sending up to 16 audio sources from a computer and positioning those sources in space via MIDI. This is a direct evolution of The Line, which I presented at NIME in London, and after seeing a lot of interest from people, I'm now developing a version geared toward commercialization.

What it does

Stereo and surround build a phantom image by splitting one signal across two or more speakers, and the illusion only holds near the centre line: step to one side and the source collapses into the nearest box. This array instead rebuilds the physical wavefront a sound would produce if it were really there, using many small, closely spaced drivers fed precisely timed signals. That is wave field synthesis: a source sits at a real point in the room, hovering in mid-air in front of the array or two meters behind it with no speaker anywhere near, and it stays put as visitors walk around. Up to 16 such sources can exist at once, each moving independently.

The same hardware also does beam steering: shaping the array's directivity to aim sound at a defined zone and keep it quieter everywhere else. Where WFS places a source in space, steering decides who hears it. In practice, that means several works sharing one room without bleeding into each other, or a piece that speaks to one spot in a gallery and leaves the rest quiet.

How you'd use it

Same hardware, two workflows: driven live for a performance, or programmed once and left running in a gallery.

  1. Connect. One USB line from a computer to the first module carries both control and up to 16 audio channels down the whole chain, so there's no snake and no rack of amps to plan for.
  2. Send audio and positions. The array takes your audio sources and, for each one, an x/y position. Positions are MIDI, so moving a source is automation like any other parameter: draw a path in your DAW, generate it in Max/MSP or SuperCollider, or drive it live from a controller or a sensor. There's no proprietary scene format to learn, and your session file is the piece.
  3. Run it. For a performance, playback and cues come from your usual show-control setup. For a permanent installation, a session can loop unattended, and since each module runs embedded Linux, a custom playback app can run self-contained on the array itself, with no computer attached.

3D renders

The module is designed to reconfigure into whatever geometry a space calls for: a straight bar, a curved array, stacked rows, or a full matrix.

Vertical matrix of stacked modules
Vertical matrix: stacked rows extend source positioning into the vertical plane.
Double-height bar with staggered driver rows
Double-height bar: staggered rows roughly double the effective driver density, raising the spatial aliasing frequency by about an octave.
Convex curved bar
Convex bar: wider horizontal coverage for open spaces.
Daisy-chained modules forming one straight array
Daisy-chained modules over a single connector: one continuous array, spatial aliasing frequency around 3 kHz.

Progress & craft

Every unit is built by hand, in a small workshop in Lyon, France: CNC-routed enclosures, laser-cut parts, hand-sanded and assembled one bar at a time. Several woods have been tested to find the best compromise between weight and acoustic quality, and the speaker drivers are currently being characterized.

CNC routing enclosure
CNC routing bar profile
Laser cutter
Workbench, assembly
Speaker drivers, unboxed
Assembled bar prototype wired to The Line board
Control board 3D render with dual FPGA and Zynq SoC
Control software positioning interface
PCB layout of a speaker bar
PCB layout of the control board

What you get

Each module is a complete, self-contained slice of the array: you buy as many as the space and budget call for, and add more later without replacing anything.

Module
8 speakers per bar, 50 × 7 × 7 cm
Chaining
Single connector between bars, up to 128 speakers on one chain
Weight
Under 1 kg per module
Frequency range
Down to ≈150–200 Hz per bar; designed to pair with any subwoofer for the low end
Max SPL
To be published (drivers are being characterized now)
Latency
To be published (measured figure coming with the final firmware)
Sources
Up to 16 independent, positionable audio sources per system
Control
One USB line from a computer for audio + positioning (MIDI); OSC/DAW-friendly
Software
Works with any DAW or OSC/MIDI tool; a companion app for positioning sources is in progress, details coming soon
Standalone mode
Embedded Linux on board: a custom playback app can run self-contained, no computer attached
Power
One power supply per module
Build
CNC-routed birch plywood enclosure, hand-assembled, speakers hidden behind the grille
Price
Target: under €1,000 per module (to be confirmed)

Timeline & pricing

Modules are on track to be ready for late summer / early autumn. Both the price and the timeline depend a lot on how many people are interested, so if you want one, don't hesitate to leave your contact below.

Join the waitlist
Everything below is optional. It helps us prioritize, and takes 30s.

No spam, just an update when the first batch is ready to order.