functions for synthesizing evolving sinusoids More...
#include "sms.h"
Functions | |
| static void | SinePhaSynth (sfloat fFreq, sfloat fMag, sfloat fPhase, SMS_Data *pLastFrame, sfloat *pFWaveform, int sizeBuffer, int iTrack) |
| generate a sinusoid given two peaks, current and last | |
| static void | SineSynth (sfloat fFreq, sfloat fMag, SMS_Data *pLastFrame, sfloat *pFBuffer, int sizeBuffer, int iTrack) |
| generate a sinusoid given two frames, current and last | |
| void | sms_sineSynthFrame (SMS_Data *pSmsData, sfloat *pFBuffer, int sizeBuffer, SMS_Data *pLastFrame, int iSamplingRate) |
| generate all the sinusoids for a given frame | |
functions for synthesizing evolving sinusoids
| static void SinePhaSynth | ( | sfloat | fFreq, | |
| sfloat | fMag, | |||
| sfloat | fPhase, | |||
| SMS_Data * | pLastFrame, | |||
| sfloat * | pFWaveform, | |||
| int | sizeBuffer, | |||
| int | iTrack | |||
| ) | [static] |
generate a sinusoid given two peaks, current and last
it interpolation between phase values and magnitudes
| fFreq | current frequency | |
| fMag | current magnitude | |
| fPhase | current phase | |
| pLastFrame | stucture with values from last frame | |
| pFWaveform | pointer to output waveform | |
| sizeBuffer | size of the synthesis buffer | |
| iTrack | current track |
References SMS_Data::pFSinAmp, SMS_Data::pFSinFreq, SMS_Data::pFSinPha, PI_2, sfloat, sms_dBToMag(), and TWO_PI.
Referenced by sms_sineSynthFrame().

| static void SineSynth | ( | sfloat | fFreq, | |
| sfloat | fMag, | |||
| SMS_Data * | pLastFrame, | |||
| sfloat * | pFBuffer, | |||
| int | sizeBuffer, | |||
| int | iTrack | |||
| ) | [static] |
generate a sinusoid given two frames, current and last
| fFreq | current frequency | |
| fMag | current magnitude | |
| pLastFrame | stucture with values from last frame | |
| pFBuffer | pointer to output waveform | |
| sizeBuffer | size of the synthesis buffer | |
| iTrack | current track |
References SMS_Data::pFSinAmp, SMS_Data::pFSinFreq, SMS_Data::pFSinPha, sfloat, sms_dBToMag(), sms_random(), sms_sine(), and TWO_PI.
Referenced by sms_sineSynthFrame().

| void sms_sineSynthFrame | ( | SMS_Data * | pSmsData, | |
| sfloat * | pFBuffer, | |||
| int | sizeBuffer, | |||
| SMS_Data * | pLastFrame, | |||
| int | iSamplingRate | |||
| ) |
generate all the sinusoids for a given frame
| pSmsData | SMS data for current frame | |
| pFBuffer | pointer to output waveform | |
| sizeBuffer | size of the synthesis buffer | |
| pLastFrame | SMS data from last frame | |
| iSamplingRate | sampling rate to synthesize for |
References SMS_Data::nTracks, SMS_Data::pFSinAmp, SMS_Data::pFSinFreq, SMS_Data::pFSinPha, sfloat, SinePhaSynth(), SineSynth(), and TWO_PI.
Referenced by sms_analyze(), and sms_synthesize().

1.6.1