LMMS
Loading...
Searching...
No Matches
nekobee_voice_render.c File Reference
#include <math.h>
#include "nekobee.h"
#include "nekobee_synth.h"
#include "nekobee_voice.h"

Go to the source code of this file.

Macros

#define _BSD_SOURCE   1
#define _SVID_SOURCE   1
#define _ISOC99_SOURCE   1
#define M_PI   3.14159265358979323846
#define M_2PI_F   (2.0f * (float)M_PI)
#define M_PI_F   (float)M_PI
#define VCF_FREQ_MAX   (0.825f) /* original filters only stable to this frequency */
#define pitch_ref_note   69
#define volume_to_amplitude_scale   128

Functions

void nekobee_init_tables (void)
static float volume (float level)
static float qdB_to_amplitude (float qdB)
void blosc_place_step_dd (float *buffer, int index, float phase, float w, float scale)
void vco (unsigned long sample_count, nekobee_voice_t *voice, struct blosc *osc, int index, float w)
static void vcf_4pole (nekobee_voice_t *voice, unsigned long sample_count, float *in, float *out, float *cutoff, float qres, float *amp)
void nekobee_voice_render (nekobee_synth_t *synth, nekobee_voice_t *voice, float *out, unsigned long sample_count, int do_control_update)

Variables

static int tables_initialized = 0
float nekobee_pitch [128]
static float volume_to_amplitude_table [4+volume_to_amplitude_scale+2]
static float velocity_to_attenuation [128]
static float qdB_to_amplitude_table [4+256+0]

Macro Definition Documentation

◆ _BSD_SOURCE

#define _BSD_SOURCE   1

◆ _ISOC99_SOURCE

#define _ISOC99_SOURCE   1

◆ _SVID_SOURCE

#define _SVID_SOURCE   1

◆ M_2PI_F

#define M_2PI_F   (2.0f * (float)M_PI)

◆ M_PI

#define M_PI   3.14159265358979323846

◆ M_PI_F

#define M_PI_F   (float)M_PI

◆ pitch_ref_note

#define pitch_ref_note   69

◆ VCF_FREQ_MAX

#define VCF_FREQ_MAX   (0.825f) /* original filters only stable to this frequency */

◆ volume_to_amplitude_scale

#define volume_to_amplitude_scale   128

Function Documentation

◆ blosc_place_step_dd()

void blosc_place_step_dd ( float * buffer,
int index,
float phase,
float w,
float scale )

◆ nekobee_init_tables()

void nekobee_init_tables ( void )

◆ nekobee_voice_render()

void nekobee_voice_render ( nekobee_synth_t * synth,
nekobee_voice_t * voice,
float * out,
unsigned long sample_count,
int do_control_update )

◆ qdB_to_amplitude()

float qdB_to_amplitude ( float qdB)
inlinestatic

◆ vcf_4pole()

void vcf_4pole ( nekobee_voice_t * voice,
unsigned long sample_count,
float * in,
float * out,
float * cutoff,
float qres,
float * amp )
inlinestatic

◆ vco()

void vco ( unsigned long sample_count,
nekobee_voice_t * voice,
struct blosc * osc,
int index,
float w )

◆ volume()

float volume ( float level)
inlinestatic

Variable Documentation

◆ nekobee_pitch

float nekobee_pitch[128]

◆ qdB_to_amplitude_table

float qdB_to_amplitude_table[4+256+0]
static

◆ tables_initialized

int tables_initialized = 0
static

◆ velocity_to_attenuation

float velocity_to_attenuation[128]
static

◆ volume_to_amplitude_table

float volume_to_amplitude_table[4+volume_to_amplitude_scale+2]
static