SAF
Loading...
Searching...
No Matches
saf_utility_decor.c File Reference

A collection of signal decorrelators. More...

#include "saf_utilities.h"
#include "saf_externals.h"

Go to the source code of this file.

Data Structures

struct  latticeAPF
 Internal Lattice all-pass filter structure. More...
 
struct  latticeDecor_data
 Internal Lattice all-pass filter based decorrelator structure. More...
 
struct  transientDucker_data
 Internal structure used by the transient Ducker. More...
 

Functions

void getDecorrelationDelays (int nChannels, float *freqs, int nFreqs, float fs, int maxTFdelay, int hopSize, int *delayTF)
 Returns delay values for multiple channels per frequency, such that once applied to an input signal (via simple frequency-dependent delay lines), the resulting signal is decorrelated w.r.t the original.
 
void synthesiseNoiseReverb (int nCH, float fs, float *t60, float *fcen_oct, int nBands, int flattenFLAG, float **rir_filt, int *rir_len)
 Returns quick and dirty exponentially decaying noise bursts.
 
void latticeDecorrelator_create (void **phDecor, float fs, int hopsize, float *freqVector, int nBands, int nCH, int *orders, float *freqCutoffs, int nCutoffs, int maxDelay, int lookupOffset, float enComp_coeff)
 Creates an instance of the lattice all-pass-filter-based multi-channel signal decorrelator.
 
void latticeDecorrelator_destroy (void **phDecor)
 Destroys an instance of the lattice all-pass-filter-based multi-channel signal decorrelator.
 
void latticeDecorrelator_reset (void *hDecor)
 Sets the internal buffers to zero.
 
void latticeDecorrelator_apply (void *hDecor, float_complex ***inFrame, int nTimeSlots, float_complex ***decorFrame)
 Applies the lattice all-pass-filter-based multi-channel signal decorrelator.
 
void transientDucker_create (void **phDucker, int nCH, int nBands)
 Creates an instance of the transient ducker/extractor.
 
void transientDucker_destroy (void **phDucker)
 Destroys an instance of the transient ducker.
 
void transientDucker_apply (void *hDucker, float_complex ***inFrame, int nTimeSlots, float alpha, float beta, float_complex ***residualFrame, float_complex ***transientFrame)
 Applies the transient ducker, returning either the "ducked" input frame, or the transient part of the input frame, or both.
 

Detailed Description

A collection of signal decorrelators.

Author
Leo McCormack
Date
30.07.2018
License
ISC

Definition in file saf_utility_decor.c.