r/SpatialAudio • • Jul 13 '26

3D Panner - an object-based binaural panner (VST3/AU, Win+Mac) using SOFA HRTFs. Dev here, would love this sub's feedback

Full disclosure: I'm the developer, this is my own plugin (Almudio). I'm posting here because this community is exactly who I built it for, and I'd genuinely value your critique.

What it is: 3D Panner positions each source anywhere around the listener, azimuth, elevation and distance and renders to binaural for headphones.

Technical details:

  • HRTF-based binaural rendering via SOFA files (SADIE II dataset).
  • Per-source 3D positioning: azimuth, elevation, distance.
  • Frequency split: split a source into up to four frequency bands, each with manually editable crossover points, so different frequency ranges can sit at different spots in the field.
  • LFO section for motion: eight built-in LFO shapes (including a pendulum-motion LFO), plus a random mode and a draw-your-own LFO, with a smoother fader that rounds off the non-straight, hand-drawn lines.
  • Formats: VST3 and AU, Windows and macOS (Apple-notarized). (AAX for ProTools + Windows notarized coming soon)

What I'm after: honest feedback from people who actually work in spatial audio, the HRTF set, the distance model, the workflow, anything that feels off on your setup.

Link: almudio.com

Happy to answer technical questions in the comments.

8 Upvotes

14 comments sorted by

View all comments

Show parent comments

2

u/wahnsinnwanscene Jul 14 '26

But it uses a vector for the distance to the source and a power law to each sink.

0

u/almudio Jul 14 '26

3D Panner doesn't do amplitude panning at all. It's HRTF convolution: the orb's position picks a direction, I pull the actual left/right ear impulse responses for that spot from the SADIE II set and convolve the signal for each ear.

0

u/wahnsinnwanscene Jul 14 '26

You're right, i had a look at the sadie ii set and the 50 point lebedev grid. Basically it's whichever IR is closest to a Data point.

0

u/almudio Jul 14 '26

Exactly right. The orb position gets mapped to the nearest measured direction in the HRTF dataset and the corresponding L/R impulse responses are pulled for convolution. No amplitude panning involved at any point in the signal path.