#include <LA32WaveGenerator.h>
Public Member Functions | |
void | initSynth (const bool useSawtoothWaveform, const Bit8u usePulseWidth, const Bit8u useResonance) |
void | initPCM (const Bit16s *const usePCMWaveAddress, const Bit32u usePCMWaveLength, const bool usePCMWaveLooped, const bool usePCMWaveInterpolated) |
void | generateNextSample (const Bit32u useAmp, const Bit16u usePitch, const Bit32u useCutoffVal) |
LogSample | getOutputLogSample (const bool first) const |
void | deactivate () |
bool | isActive () const |
bool | isPCMWave () const |
Bit32u | getPCMInterpolationFactor () const |
LA32WaveGenerator is aimed to represent the exact model of LA32 wave generator. The output square wave is created by adding high / low linear segments in-between the rising and falling cosine segments. Basically, it’s very similar to the phase distortion synthesis. Behaviour of a true resonance filter is emulated by adding decaying sine wave. The beginning and the ending of the resonant sine is multiplied by a cosine window. To synthesise sawtooth waves, the resulting square wave is multiplied by synchronous cosine wave.
Definition at line 61 of file LA32WaveGenerator.h.