soir

OVERVIEW

Level metering for tracks and master output.

The levels module provides access to audio level metering for both individual tracks and the master output. Levels include peak amplitude (with hold/decay) and RMS values for left and right channels.

# Get master output levels
master = levels.get_master_levels()
print(f"Master peak: L={master.peak_left:.3f} R={master.peak_right:.3f}")

# Get levels for a specific track
drums = levels.get_track_level("drums")
print(f"Drums peak: L={drums.peak_left:.3f} R={drums.peak_right:.3f}")

CLASS

Levels

Levels(peak_left: float, peak_right: float, rms_left: float, rms_right: float) -> None

Audio levels for a track or master output.

Arguments

Name Type Description
peak_left Peak amplitude for the left channel (0.0 to 1.0+).
peak_right Peak amplitude for the right channel (0.0 to 1.0+).
rms_left RMS level for the left channel.
rms_right RMS level for the right channel.

FUNCTION

get_master_levels

get_master_levels() -> soir.rt.levels.Levels

Get current master output levels.

Returns

– The master output levels.

get_track_level

get_track_level(name: str) -> soir.rt.levels.Levels

Get current levels for a specific track.

Arguments

Name Type Description
name The track name.

Returns

– The track's current levels.

Raises

Exception Description
TrackNotFoundException If the track doesn't exist.

get_track_levels

get_track_levels() -> dict[str, soir.rt.levels.Levels]

Get current levels for all tracks.

Returns

– Dictionary mapping track names to their current levels.