Treble SDK Documentation

website·Indexed 34 days ago

https://docs.treble.tech

A software development kit for acoustic simulations, providing tools to programmatically generate room and device geometries, simulate sound sources and receivers, and manage impulse response (IR) collections. The SDK supports Device Related Transfer Functions (DRTF), ambisonics, and audio scene generation, with specific utilities for material databases and auralization of moving sources.

Tokens
119.8K
Snippets
351
Records
836
Agent score
63%

What's inside Treble SDK

  1. Overview of Boundary-Velocity Submodels

    Boundary-velocity submodels simulate physical sound sources by applying a normal velocity condition to a specific region of source geometry, accurately capturing directivity effects caused by baffle diffraction. They are calibrated to produce a flat on-axis frequency response at 1 meter in anechoic conditions up to their upper frequency limit.

    Behavior varies by solver:

    • Wave-based solver: Injects the full source geometry into the room mesh and applies a velocity condition to the membrane.
    • Geometrical acoustics solver: Fits a directive point source to the simulated radiation pattern.

    These submodels are compatible with wave-based, geometrical, and hybrid simulations.

  2. Overview of the ICASSP 2025 Room Acoustics Synthesis Challenge

    The challenge requires participants to estimate held-out ground-truth Room Impulse Responses (RIRs) for ten specific rooms. Participants must submit five RIRs for each of the ten rooms (50 total) from designated source-receiver locations. The quality of these generated RIRs is evaluated both by direct comparison with ground truth using objective metrics and by their utility in a downstream single-channel speaker distance estimation (SDE) task.
  3. Overview of Treble hybrid room acoustic simulation

    Treble is a hybrid room acoustic simulation tool designed to predict building acoustics during the design and renovation phases. It differentiates itself from standard geometrical acoustics (GA) tools by combining two methods: wave-based (WB) simulations for low frequencies (to capture wave and modal behavior) and GA simulations for high frequencies (for calculation speed). Additionally, Treble includes an interactive auralizer that supports head rotation and scene switching (e.g., comparing scene A to scene B).
  4. Overview of visual models in the auralizer

    A visual model is a rendered model or LiDAR scan exported in the .glb file format. It is uploaded to the auralizer as an aesthetic overlay on top of an acoustical simulation model to improve visualization when creating and sharing auralizations. Visual models are purely for visual purposes and are not used for acoustical simulation calculations. This feature is available only for premium users.
  5. Overview of SceneCollection for large-scale dataset generation

    A SceneCollection is a container for AudioScene objects designed for large-scale dataset generation. It allows developers to generate thousands of varied room-and-source combinations, inspect and filter them (e.g., by predicted SNR or reverberation time) before rendering, and render them in batch. The collection supports Parquet serialization for persisting and reloading across sessions.
  6. Overview of Reflection Tracking in Treble

    The reflection tracking feature visualizes image source paths in a simulation to highlight relevant acoustic data. It is used for optimizing the placement of absorbers or reflectors, detecting reflections that distort the listener experience, and analyzing sound directionality at a receiver position.

    Treble's implementation is pressure-based, allowing it to:

    1. Store and account for reflected phase information using an impedance-based material library.
    2. Factor in the angle of incidence, meaning grazing incidence (which typically causes lower attenuation) is accounted for in calculations.

    Note: The image source method simulates the specular component of a reflection. The higher the scattering coefficient of a surface, the lower the contribution of the image source.

  7. Overview of IFC import in Treble

    The IFC import feature allows users to create acoustical models from architectural models by identifying spaces in an IFC model and mapping them to IFC space tags. The process includes geometrical simplifications to retain only details relevant to acousticians. While the algorithm aims to provide watertight spaces for wave-based simulations, some manual refinement may be required using the Treble Sketchup plugin. All imported geometries are compatible with geometrical acoustical simulations.
  8. Overview of Boundary Velocity Layer Sources

    A boundary velocity layer source drives a named geometry layer with a prescribed normal velocity, causing that surface to radiate sound directly into the model.

    Key Constraints:

    • Only compatible with the wave-based (DG) solver.
    • Radiates with a flat 1 m/s normal velocity across all frequencies by default.
    • If a flat pressure response at a reference distance is required, use a boundary velocity submodel instead.
    • While non-planar or non-connected layers are supported, the DG solver applies velocity to the local normal direction of each mesh element, which may cause radiation in diverging directions.
  9. Overview of Treble SDK Geometry Classes

    The Treble SDK uses four primary categories of classes to manage the injection of geometries into rooms:

    • GeometryComponent: Small individual objects (e.g., chairs, desks) that add detail to a model.
    • GeometryDefinition: A mutable definition of a room geometry (base room) that can host a collection of GeometryComponent objects.
    • GeometryComponentLibrary: A built-in library of pre-defined geometry components.
    • GeometryComponentGenerator: A utility to create simple primitive components like boxes, planes, triangles, and loudspeakers.
  10. Overview of AudioDataset

    An AudioDataset is a lightweight, parquet-backed collection of audio samples used by TrackGenerator, SceneGenerator, and SceneCollection. It separates the metadata index (a Polars DataFrame containing columns like id, path, speaker_id, transcript, and length_s) from the actual audio bytes, which are loaded on demand via an audio loader. The resulting parquet manifest is portable and can be saved, reloaded, or shared, provided the source WAV files maintain the same relative paths.
  11. Overview of Treble SDK Webhooks

    Treble SDK webhooks send notifications via HTTP POST when specific system events occur. Messages are signed with HMAC-SHA256 using a shared secret to ensure authenticity. Note that this feature is currently in beta.