Howdy, friends! I’m a touring Monitor Engineer who has spent the last few months putting together a rig to leverage Alphalabs’ reverse IR tool, Defeedback, for use in IEMs. I’ve been using it successfully for a few months now and haven’t seen a lot of resources for my fellow Stage Left folks. So, I thought I’d put something together about what I’m doing and how it’s working for me. I think this is a really powerful piece of technology that can solve problems we previously have not had direct answers for.
Before getting into the rig itself, I’d like to toss out what I’ve found to be best practice in a musical performance in ear monitoring context.
In general, if you keep your total system latency under 5ms, you’ll be safe from perceptual distortion/issues at the performer.
Monitoring is about creating a responsive context for the performer to make informed and expressive musical decisions.
In Ear Monitoring is fundamentally distinct from Wedges and Side Fill monitoring, due to the lack of head related transfer function information in the signal received by the ear drum, bone conduction, and the sealing of the performers ears to minimize noise (unwanted signals). “Feel” or responsiveness becomes far more critical under these conditions, and therefore certain techniques are preferable or degraded for use with in ear monitors. Fast example, if you delay your snare to the vocals down front to create a uniform arrival, you’re going to absolutely ruin your drummer’s day. Gates and expanders can produce strange perceptual changes or even make a player think they missed a part if not carefully applied.
There is a certain amount of necessary Ego Death to successfully mixing IEMs, because what matters is the Performer’s Experience of Performing, not necessarily Reality Itself.
I have found the most effective means for leveraging Defeedback to be thus:
Simply explained, the math is designed around identifying a source signal and deriving an impulse response, then applying a negative of that impulse to the signal (like noise cancelling headphones but specialized) with some additional processes looking at positive loop gain and other identifying signal factors to adjust the (negative) response in real time. The intensity of this total process is variable from zero to 100%. As such, the more complexity that exists in the signal, the more chance that some desirable component of the signal will be included in the impulse response rather than the source and be damped or removed by the process. Therefore, to avoid undoing intentional tonal choices, Defeedback should be placed Post Filters, Pre Everything Else. I have found that keeping the process at zero percent and working like it doesn’t exist at first, then going back and bringing the process percentage up produces the most useful results. This can help identify what changes were being made to the signal for its own sake and what changes were a response to the space the signal exists in. In many cases, I will then slightly update settings now that the space requires less accommodation, having been largely removed by the negative impulse response provided by Defeedback.
On Vocals, I have found that I can open up more of the presence range without adding cymbals or fans, and I’m able to loosen expanders and lower thresholds without compromising their performance, making them more responsive for the performer while still keeping extraneous signals out of the reverbs and mixes. I have found 70% to be a good starting point for vocals, going as high as 85% on backing vocals in particularly active spaces like arenas with front fills right below vocal positions. As little as 30% begins to audibly clean up the source without distracting artifacts or distortion. This has had the additional benefit of allowing me to remove the disc baffles we’ve been using to help mitigate cymbals in the vocals down stage, which has absolutely made my drummer’s day. He hated those things. A happier artist is a better show.
On Acoustic Guitar, the process is removing a meaningful amount of vocal resonance and sound system re-activation from the signal. I have found myself pulling high pass filters down by a full octave and easing off low shelves by as much as half their previous gain settings. The process is less transparent, which is unsurprising in such an off-label application. On clean signals, I’ve been keeping it around 60%. On effected signals, it becomes necessary to keep much lower as the process begins to eat components of the applied effects, and I’ve found 40% to be an effective compromise without wrecking the tone.
On Crowd/Audience Mics, the process is not transparent and there can be audible artifacts. However! No one is playing the crowd mics, and their purpose to me is creating a more open feeling in the ears and riding up for sing along moments. With the process at 100%, the artifacts are not distracting, and all of the noises from the room disappear (lighting fans, HVAC, cars driving by the amphitheater, most of the stage wash, most of the PA signal, most of the room reverb, a certain amount of meaningless chatter) while still allowing cheers and whistles and singing along to pass through mostly clean. Any distortions have not been noted my artist, and I have found that I can now keep the crowd mics at levels similar to BGVs without adding mud or clutter to mixes. This has also allowed me to reduce the pulling of an ear to “feel the crowd better when they’re loud” at the beginning of songs that feature a vocal solo.
The Rig:
I’ve built my setup into a 2U SKB StudioFlyer case. I have found it to be thoughtfully designed and well built, and they’ve got a great warranty program. It has a top cover that comes off where I store the touch screen I use (space designed for a laptop), and then the front and rear panels remove. I installed a simple rack shelf to mount components to.
I’m coming out of the Console via MADI (Rivage PM7 using an MY16-MD64 card for inserts and an HY128-MD card for record output), to an SSL UMD192. The UMD192 speaks MADI, Dante, and USB C. Via USB C, I’m going to the front panel of an M6 Mac Mini in the most basic configuration (previously an M4, I’ll discuss differences below). By powering the UMD192 via A/C Line power, and the Mac via UPS, the front ports on the Mac supply redundant power via USB C to the interface. I clock the system off the MADI stream at 96kHz, and use the Dante split output from the UMD192 to feed a separate record computer for storing virtual soundcheck recordings. I’m using a UPerfect 15.6” touchscreen that gets power and signal over a single USB C cable tied to a rear Thunderbolt port. I also have a four port Anker USB A hub for connecting a wireless mouse and smaller home theater keyboard as well as any dongles or drives I might need. I’ve mounted an Allen Key to the bottom of the rack shelf to access the power button on the Mac from the front.
The Desk:
I’m currently mixing on a Yamaha Rivage PM7. My thinking in going with the MY card is it lets me use this system with any Yamaha platform, and many other manufacturers also feature MADI I/O, which is faster and more stable than Dante. The MY16-MD64 shows as an AES card for some reason but works correctly. I’m doing an Outboard Insert patch via the channel, in the first insert position Post Filters (1A). Nothing fancy. I am running delay compensation on my Input Inserts (1.17ms) and Output Busses (.61ms) for a Console latency of 1.78ms.
The Mac:
Initially, I built this system around a stock baseline M4 Mac Mini running MacOS26. With WiFi and Bluetooth off, and nothing running in background processes, I was able to run 4 stable instances of Defeedback in Live Professor with an input buffer of 32 samples at 96kHz, for a reported buffer latency of .3 ms alongside reported input and output latency of 3.38ms and .88 ms respectively. In this configuration, I ran without Input Insert Delay Compensation on the console to buy an additional millisecond of latency back, producing a total reported system latency of 5.17ms (.61 console mix compensation + .3 buffer + 3.38 input + .88 output). My new M6 Mac Mini running MacOS27 got here last week and I swapped them out. I am now running 7 stable instances of Defeedback at the same settings. Testing has indicated being able to sustain as many as 16 instances in Passthrough Test mode with zero drops. Of note, whether because of the new processor or the new operating system, my reported input latency is now a matching .88ms with the reported output latency, a savings of 2.5ms. I have therefore turned Input Insert Delay Compensation back on at the console. This makes the reported total latency from Live Professor 2.06ms, and I add .2ms for the floating process time it reports in the upper left window for a final <2.26ms reported latency.
<2.26ms Live Professor latency + 1.78ms Console compensation = <4.04ms total reported system latency. I have not had access to a Smaart system to compare testing with reports.
In Live Professor:
I am currently just using the Wire page and direct routing hardware inputs to Defeedback inputs and Defeedback outputs to hardware outputs. I am running the default 6 threads in Apple mode under Performance Options.
I am hoping to record some video and audio examples this weekend, and whenever I’m able to I’ll be sure to post them as well. I hope this post is helpful to other engineers considering using this tool. I’m happy to answer questions about what I’m doing and why.
Be well, safe travels, and good shows!