apollon.signal.tools module¶
apollon/signal/tools.py
Licensed under the terms of the BSD-3-Clause license. Copyright (C) 2019 Michael Blaß mblass@posteo.net
- Functions:
acf Normalized autocorrelation. acf_pearson Normalized Pearson acf. corr_coef_pearson Correlation coefficient after Pearson. c_weighting C-weighting for SPL. freq2mel Transform frequency to mel. limit Limit dynamic range. mel2freq Transform mel to frequency. frq2bark Transform frequency to Bark scale. maxamp Maximal amplitude of signal. minamp Minimal amplitude of signal. normalize Scale data betwee -1.0 and 1.0. noise Generate white noise. sinusoid Generate sinusoidal signal. zero_padding Append array with zeros. trim_spectrogram Trim spectrogram to a frequency range.
-
apollon.signal.tools.
acf
(inp: numpy.ndarray) → numpy.ndarray¶ Normalized estimate of the autocorrelation function of
inp
by means of cross correlation.- Parameters
inp – One-dimensional input array.
- Returns
Autocorrelation function for all positive lags.
-
apollon.signal.tools.
acf_pearson
(inp_sig)¶ Normalized estimate of the autocorrelation function of inp_sig by means of pearson correlation coefficient.
-
apollon.signal.tools.
amp
(spl: Union[numpy.ndarray, int, float], ref: float = 2e-05) → Union[numpy.ndarray, float]¶ Computes amplitudes form sound pressure level.
The reference pressure defaults to the human hearing treshold of 20 μPa.
- Parameters
spl – Sound pressure level.
- Returns
DFT magnituds.
-
apollon.signal.tools.
c_weighting
(frqs: numpy.ndarray) → numpy.ndarray¶ C-weighhting for SPL.
- Parameters
frq – Frequencies.
- Returns
Weight for DFT bin with center frequency
frq
.
-
apollon.signal.tools.
corr_coef_pearson
(x_sig: numpy.ndarray, y_sig: numpy.ndarray) → float¶ Fast perason correlation coefficient.
-
apollon.signal.tools.
freq2mel
(frqs)¶ Transforms Hz to Mel-Frequencies.
- Params:
frqs: Frequency in Hz.
- Returns
Frequency transformed to Mel scale.
-
apollon.signal.tools.
limit
(inp: numpy.ndarray, ldb: Optional[float] = None, udb: Optional[float] = None) → numpy.ndarray¶ Limit the dynamic range of
inp
to [ldb
,udb
].Boundaries are given in dB SPL.
- Parameters
inp – DFT bin magnitudes.
ldb – Lower clip boundary in deci Bel.
udb – Upper clip boundary in deci Bel.
- Returns
Copy of
inp
with values clipped.
-
apollon.signal.tools.
maxamp
(sig)¶ Maximal absolute elongation within the signal.
- Params:
sig (array-like) Input signal.
- Returns
(scalar) Maximal amplitude.
-
apollon.signal.tools.
mel2freq
(zfrq)¶ Transforms Mel-Frequencies to Hzfrq.
- Parameters
zfrq – Mel-Frequency.
- Returns
Frequency in Hz.
-
apollon.signal.tools.
minamp
(sig)¶ Minimal absolute elongation within the signal.
- Params
sig (array-like) Input signal.
- Returns
(scalar) Maximal amplitude.
-
apollon.signal.tools.
noise
(level, n=9000)¶ Generate withe noise.
- Params:
level (float) Noise level as standard deviation of a gaussian. n (int) Length of noise signal in samples.
- Returns
(ndarray) White noise signal.
-
apollon.signal.tools.
normalize
(sig)¶ Normlize a signal to [-1.0, 1.0].
- Params:
sig (np.nadarray) Signal to normalize.
- Returns
(np.ndarray) Normalized signal.
-
apollon.signal.tools.
sinusoid
(frqs: Union[Sequence, numpy.ndarray, int, float], amps: Union[Sequence, numpy.ndarray, int, float] = 1, fps: int = 9000, length: float = 1.0, noise: Optional[float] = None, comps: bool = False) → numpy.ndarray¶ Generate sinusoidal signal.
- Parameters
frqs – Component frequencies.
amps – Amplitude of each component in
frqs
. Ifamps
is an integer, each component offrqs
is scaled according toamps
. Ifamps
iis an iterable each frequency is scaled by the respective amplitude.fps – Sample rate.
length – Length of signal in seconds.
noise – Add gaussian noise with standard deviation
noise
to each sinusodial component.comps – If True, return the components of the signal, else return the sum.
- Returns
Array of signals.
-
apollon.signal.tools.
zero_padding
(sig: numpy.ndarray, n_pad: int, dtype: Optional[Union[str, numpy.dtype]] = None) → numpy.ndarray¶ Append n zeros to signal. sig must be 1D array.
- Parameters
sig – Array to be padded.
n_pad – Number of zeros to be appended.
- Returns
Zero-padded input signal.