Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bsemathsignal.hh File Reference
#include <bse/bsemath.hh>
#include <bse/bseglobals.hh>
#include <bse/bsetype.hh>
Include dependency graph for bsemathsignal.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
 
#define BSE_SIGNAL_KAPPA
 
#define BSE_SIGNAL_RAISING_EDGE(v1, v2)
 
#define BSE_SIGNAL_FALLING_EDGE(v1, v2)
 
#define BSE_SIGNAL_FREQ_CHANGED(v1, v2)
 
#define BSE_SIGNAL_FREQ_EQUALS(v1, v2)
 
#define BSE_SIGNAL_MOD_CHANGED(v1, v2)
 
#define BSE_SIGNAL_GAIN_CHANGED(v1, v2)
 
#define BSE_SIGNAL_TO_FREQ_FACTOR
 
#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 (Bse::MusicalTuning musical_tuning)
 
double bse_transpose_factor (Bse::MusicalTuning 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_EPSILON

smallest value of a signal sample, greater than zero

#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_GAIN_CHANGED (   v1,
  v2 
)

Value changes in signals which represent dB ranges.

#define BSE_SIGNAL_KAPPA

maximum value of a signal sample

#define BSE_SIGNAL_MOD_CHANGED (   v1,
  v2 
)

Value changes in signals which represent modulation.

#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.

#define BSE_SIGNAL_TO_FREQ_FACTOR

Convert between literal frequencies and signal values.

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.

Here is the call graph for this function:

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.

Here is the call graph for this function: