quad_sine

Quadrature sine oscillator, bipolar, 0, 90, 180 and 290 degrees, lin-ip, pitch input, fm input
Author: Are Leistad
License: BSD
Github: drj/osc/quad_sine.axo

IO Variants: 2


Variant: 1

Inlets

frac32.bipolar Pitch input

frac32buffer.bipolar Freqeuncy modulation input

Outlets

frac32buffer.bipolar 0 deg sine wave

frac32buffer.bipolar 90 deg sine wave

frac32buffer.bipolar 180 deg sine wave

frac32buffer.bipolar 270 sine wave

Parameters

frac32.s.map.pitch pitch

Declaration
uint32_t phase;
int32_t freq;
Init
phase = 0;
Control Rate
MTOFEXTENDED(param_pitch + inlet_pitch, freq);
Audio Rate
phase += freq + inlet_fm;

int32_t sine;

SINE2TINTERP(phase, sine)
outlet_0 = (sine >> 4);

SINE2TINTERP(phase + 0x40000000, sine)
outlet_90 = (sine >> 4);

outlet_180 = -outlet_0;

outlet_270 = -outlet_90;

Variant: 2

Inlets

frac32.bipolar Pitch input

frac32buffer.bipolar Freqeuncy modulation input

Outlets

frac32buffer.positive 0 deg sine wave

frac32buffer.positive 90 deg sine wave

frac32buffer.positive 180 deg sine wave

frac32buffer.positive 270 sine wave

Parameters

frac32.s.map.pitch pitch

Declaration
uint32_t phase;
int32_t freq;
Init
phase = 0;
Control Rate
MTOFEXTENDED(param_pitch + inlet_pitch, freq);
Audio Rate
phase += freq + inlet_fm;

int32_t sine;

SINE2TINTERP(phase, sine)
outlet_0 = (sine >> 5) + (1 << 26);

SINE2TINTERP(phase - 0x40000000, sine)
outlet_90 = (sine >> 5) + (1 << 26);

outlet_180 = (1 << 27) - outlet_0;

outlet_270 = (1 << 27) - outlet_90;

Privacy

© 2024 Zrna Research