Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions examples/energy_decay_curves_and_reverberation_time.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
"plt.axvline(rir_1_noise.signal_length*interval[0], color='red', label='Interval')\n",
"plt.axvline(rir_1_noise.signal_length*interval[1], color='red')\n",
"\n",
"noise_energy = ra.estimate_noise_energy(\n",
"noise_energy = ra.dsp.estimate_noise_energy(\n",
" rir_1_noise, interval=interval, is_energy=False)\n",
"\n",
"noise_energy_db = 10*np.log10(noise_energy)\n",
Expand Down Expand Up @@ -232,12 +232,12 @@
"outputs": [],
"source": [
"start_sample = pf.dsp.find_impulse_response_start(rir_1_noise)\n",
"rir_noise_shifted = ra.time_shift(rir_1_noise, -start_sample, circular_shift=False)\n",
"edc_full_rir = ra.schroeder_integration(rir_noise_shifted, is_energy=False)\n",
"rir_noise_shifted = pf.dsp.time_shift(rir_1_noise, -start_sample, mode='linear')\n",
"edc_full_rir = ra.edc.schroeder_integration(rir_noise_shifted, is_energy=False)\n",
"\n",
"start_sample = pf.dsp.find_impulse_response_start(rir_1)\n",
"rir_shifted = ra.time_shift(rir_1, -start_sample, circular_shift=False)\n",
"edc_full_rir_compare = ra.schroeder_integration(rir_shifted, is_energy=False)\n",
"rir_shifted = pf.dsp.time_shift(rir_1, -start_sample, mode='linear')\n",
"edc_full_rir_compare = ra.edc.schroeder_integration(rir_shifted, is_energy=False)\n",
"edc_full_rir_compare.time /= np.atleast_2d(edc_full_rir_compare.time[..., 0]).T\n",
"edc_full_rir.time /= np.atleast_2d(edc_full_rir.time[..., 0]).T\n",
"\n",
Expand Down Expand Up @@ -275,7 +275,7 @@
"outputs": [],
"source": [
"intersection_time, late_reveberation_time, noise_level_lundeby = \\\n",
" ra.intersection_time_lundeby(\n",
" ra.edc.intersection_time_lundeby(\n",
" rir_1_noise, freq='broadband', is_energy=False,\n",
" time_shift=True, channel_independent=False, plot=True)\n",
"\n",
Expand All @@ -296,7 +296,7 @@
"metadata": {},
"outputs": [],
"source": [
"edc_truncation = ra.energy_decay_curve_truncation(\n",
"edc_truncation = ra.edc.energy_decay_curve_truncation(\n",
" rir_1_noise, freq='broadband', is_energy=False, time_shift=True,\n",
" channel_independent=False, normalize=True, plot=False)\n",
"\n",
Expand Down Expand Up @@ -325,7 +325,7 @@
"metadata": {},
"outputs": [],
"source": [
"edc_chu_auto = ra.energy_decay_curve_chu(\n",
"edc_chu_auto = ra.edc.energy_decay_curve_chu(\n",
" rir_1_noise, noise_level='auto', is_energy=False, time_shift=True,\n",
" channel_independent=False, normalize=True, plot=False)"
]
Expand All @@ -336,8 +336,8 @@
"metadata": {},
"outputs": [],
"source": [
"noise_level_man = ra.estimate_noise_energy(rir_1_noise, interval=[0.6, 1.0], is_energy=False)\n",
"edc_chu_man = ra.energy_decay_curve_chu(\n",
"noise_level_man = ra.dsp.estimate_noise_energy(rir_1_noise, interval=[0.6, 1.0], is_energy=False)\n",
"edc_chu_man = ra.edc.energy_decay_curve_chu(\n",
" rir_1_noise, noise_level=noise_level_man, is_energy=False, time_shift=True,\n",
" channel_independent=False, normalize=True, plot=False)"
]
Expand All @@ -348,7 +348,7 @@
"metadata": {},
"outputs": [],
"source": [
"edc_chu_noise_lundeby = ra.energy_decay_curve_chu(\n",
"edc_chu_noise_lundeby = ra.edc.energy_decay_curve_chu(\n",
" rir_1_noise, noise_level=noise_level_lundeby, is_energy=False, time_shift=True,\n",
" channel_independent=False, normalize=True, plot=False)"
]
Expand Down Expand Up @@ -392,7 +392,7 @@
"metadata": {},
"outputs": [],
"source": [
"edc_lundeby = ra.energy_decay_curve_lundeby(\n",
"edc_lundeby = ra.edc.energy_decay_curve_lundeby(\n",
" rir_1_noise, is_energy=False, time_shift=True,\n",
" channel_independent=False, normalize=True, plot=False)\n",
"\n",
Expand Down Expand Up @@ -421,7 +421,7 @@
"metadata": {},
"outputs": [],
"source": [
"edc_chu_lundeby = ra.energy_decay_curve_chu_lundeby(\n",
"edc_chu_lundeby = ra.edc.energy_decay_curve_chu_lundeby(\n",
" rir_1_noise, freq='broadband', is_energy=False, time_shift=True,\n",
" channel_independent=False, normalize=True, plot=False)\n",
"\n",
Expand Down Expand Up @@ -472,7 +472,7 @@
"reverberation_times = np.zeros(len(edcs))\n",
"for idx, edc in enumerate(edcs):\n",
" reverberation_times[idx] = \\\n",
" ra.reverberation_time_linear_regression(\n",
" ra.parameters.reverberation_time_linear_regression(\n",
" edc, T=Tx)"
]
},
Expand Down Expand Up @@ -528,7 +528,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.11"
"version": "3.13.4"
}
},
"nbformat": 4,
Expand Down
2 changes: 1 addition & 1 deletion pyrato/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@
'dsp',
'analytic',
'parametric',
'air_attenuation_coefficient'
'air_attenuation_coefficient',
]
2 changes: 1 addition & 1 deletion pyrato/parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def reverberation_time_linear_regression(
>>> rir = rir + awgn
...
>>> edc = ra.energy_decay_curve_chu_lundeby(rir)
>>> t_20 = ra.reverberation_time_linear_regression(edc, 'T20')
>>> t_20 = ra.parameters.reverberation_time_linear_regression(edc, 'T20')
>>> t_20
... array([0.99526253])

Expand Down
9 changes: 3 additions & 6 deletions pyrato/parametric.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# -*- coding: utf-8 -*-
"""Module for room acoustics related functions."""
"""Module for room acoustics related functions.

"""Parametric room acoustics calculations using simple geometric considerations
Parametric room acoustics calculations using simple geometric considerations
such as Sabine's theory of sound in rooms.
"""

import numpy as np


def energy_decay_curve_analytic(
surfaces, alphas, volume, times, source=None,
receiver=None, method='eyring', c=343.4, frequency=None,
Expand Down Expand Up @@ -115,7 +112,7 @@ def air_attenuation_coefficient(

warnings.warn(
'Will be replaced by respective function in pyfar before v1.0.0',
PyfarDeprecationWarning)
PyfarDeprecationWarning, stacklevel=2)

# room temperature in Kelvin
t_K = temperature + 273.16
Expand Down
10 changes: 0 additions & 10 deletions tests/test_deprecation_warnings.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,3 @@ def test_warning_start_ir():

sig = pf.Signal([0, 0, 1, 0, 0], 44100)
pyrato.dsp.find_impulse_response_start(sig)


def test_warning_rt_edc():
times = np.linspace(0, 1.5, 2**9)
m = -60
edc = times * m
edc_exp = pf.TimeData(10**(edc/10), times)
with pytest.warns(DeprecationWarning, match='0.5.0'):
pyrato.reverberation_time_energy_decay_curve(
edc_exp)
4 changes: 2 additions & 2 deletions tests/test_edc.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def test_edc_eyring():
surfaces = [2, 5*2]
volume = 2*2*2
times = np.linspace(0, 0.25, 50)
edc = ra.energy_decay_curve_analytic(
edc = ra.parametric.energy_decay_curve_analytic(
surfaces, alphas, volume, times, method='eyring', air_absorption=False)

truth = array([
Expand All @@ -43,7 +43,7 @@ def test_edc_sabine():
surfaces = [2, 5*2]
volume = 2*2*2
times = np.linspace(0, 0.25, 50)
edc = ra.energy_decay_curve_analytic(
edc = ra.parametric.energy_decay_curve_analytic(
surfaces, alphas, volume, times, method='sabine', air_absorption=False)

truth = array([
Expand Down
8 changes: 4 additions & 4 deletions tests/test_rt.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def test_rt_from_edc(tx):
m = -60
edc = times * m
edc_exp = pf.TimeData(10**(edc/10), times)
RT_est = ra.reverberation_time_linear_regression(
RT_est = ra.parameters.reverberation_time_linear_regression(
edc_exp, T=tx)
npt.assert_allclose(RT_est, 1.)

Expand All @@ -30,7 +30,7 @@ def test_rt_from_edc_mulitchannel(tx):
m = -60
edc = np.atleast_2d(m/Ts).T @ np.atleast_2d(times)
edc_exp = pf.TimeData(10**(edc/10), times)
RT_est = ra.reverberation_time_linear_regression(
RT_est = ra.parameters.reverberation_time_linear_regression(
edc_exp, T=tx)
npt.assert_allclose(RT_est, Ts)

Expand All @@ -47,7 +47,7 @@ def test_rt_from_edc_mulitchannel_amplitude(tx):
edc[idx] = As[idx] + m*times/Ts[idx]

edc_exp = pf.TimeData(10**(edc/10), times)
RT_est, A_est = ra.reverberation_time_linear_regression(
RT_est, A_est = ra.parameters.reverberation_time_linear_regression(
edc_exp, T=tx, return_intercept=True)
npt.assert_allclose(RT_est, Ts)
npt.assert_allclose(A_est, 10**(As/10))
Expand All @@ -61,4 +61,4 @@ def test_rt_from_edc_error():
T = 'Bla'

with pytest.raises(ValueError, match='is not a valid interval.'):
ra.reverberation_time_linear_regression(edc_exp, T=T)
ra.parameters.reverberation_time_linear_regression(edc_exp, T=T)