diff options
| author | historia <historiavg@proton.me> | 2026-09-07 06:47:47 -0400 |
|---|---|---|
| committer | historia <historiavg@proton.me> | 2026-09-07 06:47:47 -0400 |
| commit | 84dd2d068317998f6fb59400c534ef5be6b51b53 (patch) | |
| tree | 025293e9d9229e02960374771ae522d9de2628ce /lib/tests/test_meters.py | |
| parent | 39b0f2bbed74f6487a41b82501ae3c6799e4b5c4 (diff) | |
| download | producer-main.tar.gz | |
Diffstat (limited to 'lib/tests/test_meters.py')
| -rw-r--r-- | lib/tests/test_meters.py | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/lib/tests/test_meters.py b/lib/tests/test_meters.py deleted file mode 100644 index b013ec9..0000000 --- a/lib/tests/test_meters.py +++ /dev/null @@ -1,65 +0,0 @@ -import numpy as np -from conftest import sine, speechish - -from producer import meters - - -def test_rms_and_peak_of_sine(sr): - x = sine(1000, 3.0, sr, peak_dbfs=-17.0) - assert abs(meters.rms_db(x) + 20.0) < 0.1 - assert abs(meters.sample_peak_db(x) + 17.0) < 0.05 - - -def test_true_peak_bounds(sr): - x = sine(1000, 3.0, sr, peak_dbfs=-17.0) - tp = meters.true_peak_db(x, sr) - sp = meters.sample_peak_db(x) - assert sp - 0.01 <= tp <= sp + 0.6 - - -def test_true_peak_blockwise_matches_whole_file(sr): - from scipy import signal - - rng = np.random.default_rng(3) - n = sr * 75 - x = ( - 0.5 * np.sin(2 * np.pi * 997.0 * np.arange(n) / sr) + 0.02 * rng.standard_normal(n) - ).astype(np.float32) - half = 10 * 4 - h = signal.firwin(2 * half + 1, 0.25, window=("kaiser", 8.0)).astype(np.float32) - ref = meters.sample_peak_db(signal.resample_poly(x, 4, 1, window=h)) - assert abs(meters.true_peak_db(x, sr) - ref) < 0.01 - - -def test_lufs_of_sine(sr): - x = sine(1000, 3.0, sr, peak_dbfs=-17.0) - assert abs(meters.lufs(x, sr) + 20.05) < 0.2 - - -def test_lufs_silence(): - assert meters.lufs(np.zeros(48000, dtype=np.float32), 48000) == meters.SILENCE_DB - - -def test_noise_floor_below_speech(sr): - x = speechish(8.0, sr, level_dbfs=-20.0) - floor = meters.noise_floor_db(x, sr) - assert floor < meters.rms_db(x) - 4.0 - - -def test_speech_level_db_ignores_leading_silence(sr): - x = speechish(6.0, sr, level_dbfs=-20.0) - y = np.concatenate([np.zeros(sr * 4, dtype=np.float32), x]) - assert abs(meters.speech_level_db(x, sr) - meters.speech_level_db(y, sr)) < 1.0 - assert meters.speech_level_db(x, sr) > meters.rms_db(x) - - -def test_all_meters_keys(sr): - d = meters.all_meters(speechish(3.0, sr), sr) - assert set(d) == { - "rms_db", - "sample_peak_db", - "true_peak_db", - "lufs", - "noise_floor_db", - "duration_s", - } |
