Source code for audiomate.processing.pipeline.magnitude_scaling

import librosa

from . import base


[docs]class PowerToDb(base.Computation): """ Convert a power spectrogram (amplitude squared) to decibel (dB) units. See http://librosa.github.io/librosa/generated/librosa.core.power_to_db.html Note: The output can differ depending on offline or online processing, since it depends on statistics over all values. And in online mode it only considers values from a single chunk, while in offline mode all values of the whole sequence are considered. """ def __init__(self, ref=1.0, amin=1e-10, top_db=80.0, parent=None, name=None): super(PowerToDb, self).__init__(parent=parent, name=name) self.ref = ref self.amin = amin self.top_db = top_db
[docs] def compute(self, chunk, sampling_rate, corpus=None, utterance=None): return librosa.power_to_db(chunk.data.T, ref=self.ref, amin=self.amin, top_db=self.top_db).T