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.