BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
Classes | Macros | Functions | Variables
bsemathsignal.hh File Reference
#include <bse/bsemath.hh>
#include <bse/bseglobals.hh>
#include <bse/bsetype.hh>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  BseFrequencyModulator
 

Macros

#define BSE_SIGNAL_EPSILON
 smallest value of a signal sample, greater than zero
 
#define BSE_SIGNAL_KAPPA
 maximum value of a signal sample
 
#define BSE_SIGNAL_RAISING_EDGE(v1, v2)
 Catch edges in sync signals. More...
 
#define BSE_SIGNAL_FALLING_EDGE(v1, v2)
 Inverse variant of BSE_SIGNAL_RAISING_EDGE().
 
#define BSE_SIGNAL_FREQ_CHANGED(v1, v2)
 Value changes in signals which represent frequencies.
 
#define BSE_SIGNAL_FREQ_EQUALS(v1, v2)
 Inverse variant of BSE_SIGNAL_FREQ_CHANGED().
 
#define BSE_SIGNAL_MOD_CHANGED(v1, v2)
 Value changes in signals which represent modulation.
 
#define BSE_SIGNAL_GAIN_CHANGED(v1, v2)
 Value changes in signals which represent dB ranges.
 
#define BSE_SIGNAL_TO_FREQ_FACTOR
 Convert between literal frequencies and signal values.
 
#define BSE_SIGNAL_FROM_FREQ_FACTOR
 
#define BSE_SIGNAL_TO_FREQ(value)
 
#define BSE_SIGNAL_FROM_FREQ(freq)
 
#define BSE_SIGNAL_CLIP(v)
 

Functions

void bse_frequency_modulator (const BseFrequencyModulator *fm, guint n_values, const gfloat *ifreq, const gfloat *ifmod, gfloat *fm_buffer)
 
double bse_window_bartlett (double x)
 
double bse_window_blackman (double x)
 
double bse_window_cos (double x)
 
double bse_window_hamming (double x)
 
double bse_window_sinc (double x)
 
double bse_window_rect (double x)
 
double bse_approx_atan1_prescale (double boost_amount)
 
const doublebse_semitone_table_from_tuning (BseMusicalTuningType musical_tuning)
 
double bse_transpose_factor (BseMusicalTuningType musical_tuning, int index)
 
double bse_cent_tune (double fine_tune)
 
void _bse_init_signal (void)
 

Variables

const double *const bse_cent_table
 

Macro Definition Documentation

#define BSE_SIGNAL_RAISING_EDGE (   v1,
  v2 
)

Catch edges in sync signals.

sync signals should be constant, do comparing against an epsilon just hurts speed in the common case.

Function Documentation

double bse_approx_atan1_prescale ( double  boost_amount)
Parameters
boost_amountboost amount between [0..1]
Returns
prescale factor for bse_approx_atan1()

Calculate the prescale factor for bse_approx_atan1(x*prescale) from a linear boost factor, where 0.5 amounts to prescale=1.0, 1.0 results in maximum boost and 0.0 results in maximum attenuation.

double bse_cent_tune ( double  fine_tune)
Parameters
fine_tunefine tuning in cent
Returns
a factor corresponding to this

This function computes a factor which corresponds to a given fine tuning in cent. The result can be used as factor for the frequency or the play speed. It is similar to the bse_cent_tune_fast(), but also works for non-integer floating point values. It is however computationally more expensive.