Room simulation in Banter

Banter's acoustic comms send data as sound between robots and devices. How well that works depends heavily on the room: its size, its surfaces, how much it echoes, how the air soaks up high frequencies. To develop and test acoustic comms without needing a physical room and hardware for every experiment, Banter can simulate the room — run a signal "through" a virtual space and hear what comes out the other side.

This page explains the idea and why there are two different room models.

What a room does to sound

When a speaker plays a sound, a microphone across the room does not hear a clean copy. It hears:

  • the direct sound, arriving first;
  • reflections off walls, floor, and ceiling, arriving slightly later and quieter;
  • a dense reverberant tail as those reflections multiply and fade;
  • high frequencies rolled off, because air absorbs treble over distance;
  • if anything is moving, a Doppler pitch shift.

Two numbers summarise a room's character:

  • RT60 — reverberation time: how long sound takes to fade by 60 dB. A padded studio might be 0.2 s; a gymnasium several seconds.
  • DRR — direct-to-reverberant ratio: how much energy comes straight from the source versus bouncing around. Standing close in a dead room is high DRR; far away in a live room is low.

A faithful room model has to reproduce all of this, because it is exactly what makes a data-over-sound link easy or hard.

Two complementary models

Banter deliberately keeps two room models, each good at what the other is not.

The geometric model — cheap and infinitely variable

The geometric model computes the room from a description: its dimensions, what its walls are made of, where the speaker and microphone stand, how fast they move. It traces the direct path and the early reflections, rolls off the highs using a standard air-absorption model, adds a statistical reverberant tail, and shifts pitch for motion.

Because it is parametric, you can ask it for any room — sweep the wall materials, randomise a thousand layouts, put a source on a fast-moving robot. That makes it ideal for generating large, varied test sets. Its weakness is fidelity: no formula perfectly matches a specific real room.

The measured model — faithful to one real room

The measured model does the opposite. It plays a test sweep in a real room, records it, and plays that captured fingerprint back for any signal you send through it (see Capture a room). It is exactly right — for that one room, that one speaker and microphone, at that one placement — because it is a recording of reality, hardware quirks and all. Its weakness is the mirror image of the geometric model's strength: it cannot be re-parameterised. Move the microphone and you must capture again.

Lapping the two flat

Neither model is the "real" one; each checks the other. The measured capture is the ground truth the geometric model is calibrated to — tune the geometric room until it echoes like the recording. Conversely, the geometric model can explore placements the single capture never staged, exposing where one recording is unrepresentative.

Running the same comms test through both and comparing the outcome — decode success, and the RT60/DRR fingerprints — is a standing check that tightens both models over time. It is like lapping two optical surfaces against each other: each pass leaves both a little flatter.

Where this fits

The room simulator is the reproducible test bench for Banter's acoustic physical layer. It lets a codec be trained and regression-tested against realistic rooms headlessly, and lets a real captured room become a fixture that any test can replay — so acoustic-comms work does not depend on having the rig set up and the room quiet every single time.

In this section