Rooms

DEPRECATED

Being replaced by class pytta.RoomAnalysis on version 0.1.1.

Calculations compliant to ISO 3382-1 to obtain room acoustic parameters.

It has an implementation of Lundeby et al. [1] algorithm to estimate the correction factor for the cumulative integral, as suggested by the ISO 3382-1.

Use this module through the function ‘analyse’, which receives an one channel SignalObj or ImpulsiveResponse and calculate the room acoustic parameters especified in the positional input arguments. For more information check pytta.rooms.analyse’s documentation.

Available functions:

>>> pytta.rooms.Analyse(SignalObj, ...)
>>> pytta.rooms.strength_factor(...)
>>> pytta.rooms.G_Lpe
>>> pytta.rooms.G_Lps
Authors:

João Vitor Gutkoski Paes, joao.paes@eac.ufsm.br Matheus Lazarin, matheus.lazarin@eac.ufsm.br Rinaldi Petrolli, rinaldi.petrolli@eac.ufsm.br

pytta.rooms.G_Lpe(IR, nthOct, minFreq, maxFreq, IREndManualCut=None)[source]

Calculate the energy level from the room impulsive response.

Reference:

Christensen, C. L.; Rindel, J. H. APPLYING IN-SITU RECALIBRATION FOR SOUND STRENGTH MEASUREMENTS IN AUDITORIA.

Parameters:
  • IR (ImpulsiveResponse) – one channel impulsive response

  • nthOct (int) – number of fractions per octave

  • minFreq (float) – analysis inferior frequency limit

  • maxFreq (float) – analysis superior frequency limit

Returns:

Analysis object with the calculated parameter

Return type:

Analysis

pytta.rooms.G_Lps(IR, nthOct, minFreq, maxFreq)[source]

Calculates the recalibration level, for both in-situ and reverberation chamber. Lps is applied for G calculation.

During the recalibration: source height and mic height must be >= 1 [m], while the distance between source and mic must be <= 1 [m]. The distances must be the same for in-situ and reverberation chamber measurements.

Reference:

Christensen, C. L.; Rindel, J. H. APPLYING IN-SITU RECALIBRATION FOR SOUND STRENGTH MEASUREMENTS IN AUDITORIA.

Parameters:
  • IR (ImpulsiveResponse) – one channel impulsive response

  • nthOct (int) – number of fractions per octave

  • minFreq (float) – analysis inferior frequency limit

  • maxFreq (float) – analysis superior frequency limit

Returns:

Analysis object with the calculated parameter

Return type:

Analysis

pytta.rooms.strength_factor(Lpe, Lpe_revCh, V_revCh, T_revCh, Lps_revCh, Lps_inSitu)[source]

Calculate strength factor (G) for theaters and big audience intended places.

Reference:

Christensen, C. L.; Rindel, J. H. APPLYING IN-SITU RECALIBRATION FOR SOUND STRENGTH MEASUREMENTS IN AUDITORIA.

pytta.rooms.analyse(obj, *params, bypassLundeby=False, plotLundebyResults=False, suppressWarnings=False, IREndManualCut=None, **kwargs)[source]

Being replaced by class pytta.RoomAnalysis on version 0.1.1.

Room analysis over a single SignalObj.

Receives an one channel SignalObj or ImpulsiveResponse and calculate the room acoustic parameters especified in the positional input arguments. Calculates reverberation time, definition and clarity.

The method for strength factor calculation implies in many input parameters and specific procedures, as the sound source’s power estimation. The pytta.roomir app was designed aiming to support this room parameter measurement. For further information check pytta.roomir’s and pytta.rooms.strength_factor’s docstrings.

  • obj (), (SignalObj | ImpulsiveResponse):

    one channel impulsive response

  • non-keyworded argument pairs:

    Pair for ‘RT’ (reverberation time):

    • RTdecay (20), (int):

      Decay interval for RT calculation. e.g. 20

    Pair for ‘C’ (clarity): # TODO

    • Cparam (50), (int):

    Pair for ‘D’ (definition): # TODO

    • Dparam (50), (int):

  • nthOct (), (int):

    Number of bands per octave;

  • minFreq (), (int | float):

    Analysis’ inferior frequency limit;

  • maxFreq (), (int | float):

    Analysis’ superior frequency limit;

  • bypassLundeby (false), (bool):

    Bypass lundeby correction

  • plotLundebyResults (false), (bool):

    Plot the Lundeby correction parameters;

  • suppressWarnings (false), (bool):

    Suppress the warnings from the Lundeby correction;

  • Analyses (Analysis | list):

    Analysis object with the calculated parameter or a list of Analyses for more than one parameter.

Usage example:

>>> myRT = pytta.rooms.analyse(IR,
                               'RT', 20',
                               'C', 50,
                               'D', 80,
                               nthOct=3,
                               minFreq=100,
                               maxFreq=10000)

For more tips check the examples folder.