60#ifndef SONIC_MIN_PITCH
61#define SONIC_MIN_PITCH 65
63#ifndef SONIC_MAX_PITCH
64#define SONIC_MAX_PITCH 400
68#define SONIC_AMDF_FREQ 4000
161#ifdef SONIC_SPECTROGRAM
180#define SONIC_MAX_SPECTRUM_FREQ 5000
182struct sonicSpectrogramStruct;
183struct sonicBitmapStruct;
184typedef struct sonicSpectrogramStruct* sonicSpectrogram;
185typedef struct sonicBitmapStruct* sonicBitmap;
190struct sonicBitmapStruct {
196typedef struct sonicBitmapStruct* sonicBitmap;
202sonicSpectrogram sonicGetSpectrogram(
sonicStream stream);
206sonicSpectrogram sonicCreateSpectrogram(
int sampleRate);
210void sonicDestroySpectrogram(sonicSpectrogram spectrogram);
213sonicBitmap sonicConvertSpectrogramToBitmap(sonicSpectrogram spectrogram,
214 int numRows,
int numCols);
217void sonicDestroyBitmap(sonicBitmap bitmap);
219int sonicWritePGM(sonicBitmap bitmap,
char* fileName);
224void sonicAddPitchPeriodToSpectrogram(sonicSpectrogram spectrogram,
225 short* samples,
int period,
void sonicSetSampleRate(sonicStream stream, int sampleRate)
Definition: sonic.c:421
void sonicSetRate(sonicStream stream, float rate)
Definition: sonic.c:274
void sonicSetPitch(sonicStream stream, float pitch)
Definition: sonic.c:267
int sonicChangeFloatSpeed(float *samples, int numSamples, float speed, float pitch, float rate, float volume, int useChordPitch, int sampleRate, int numChannels)
Definition: sonic.c:1230
int sonicFlushStream(sonicStream stream)
Definition: sonic.c:656
float sonicGetRate(sonicStream stream)
Definition: sonic.c:270
float sonicGetVolume(sonicStream stream)
Definition: sonic.c:299
sonicStream sonicCreateStream(int sampleRate, int numChannels)
Definition: sonic.c:395
int sonicGetQuality(sonicStream stream)
Definition: sonic.c:290
void sonicSetVolume(sonicStream stream, float volume)
Definition: sonic.c:302
int sonicSamplesAvailable(sonicStream stream)
Definition: sonic.c:687
int sonicWriteShortToStream(sonicStream stream, const short *samples, int numSamples)
Definition: sonic.c:1210
void sonicDestroyStream(sonicStream stream)
Definition: sonic.c:323
void sonicSetQuality(sonicStream stream, int quality)
Definition: sonic.c:294
void sonicSetChordPitch(sonicStream stream, int useChordPitch)
Definition: sonic.c:285
int sonicReadShortFromStream(sonicStream stream, short *samples, int maxSamples)
Definition: sonic.c:600
int sonicGetNumChannels(sonicStream stream)
Definition: sonic.c:427
int sonicGetChordPitch(sonicStream stream)
Definition: sonic.c:282
float sonicGetSpeed(sonicStream stream)
Definition: sonic.c:258
struct sonicStreamStruct * sonicStream
Definition: sonic.h:71
void sonicSetSpeed(sonicStream stream, float speed)
Definition: sonic.c:261
int sonicWriteUnsignedCharToStream(sonicStream stream, unsigned char *samples, int numSamples)
Definition: sonic.c:1220
int sonicChangeShortSpeed(short *samples, int numSamples, float speed, float pitch, float rate, float volume, int useChordPitch, int sampleRate, int numChannels)
Definition: sonic.c:1250
float sonicGetPitch(sonicStream stream)
Definition: sonic.c:264
int sonicReadFloatFromStream(sonicStream stream, float *samples, int maxSamples)
Definition: sonic.c:570
int sonicWriteFloatToStream(sonicStream stream, float *samples, int numSamples)
Definition: sonic.c:1200
int sonicReadUnsignedCharFromStream(sonicStream stream, unsigned char *samples, int maxSamples)
Definition: sonic.c:625
int sonicGetSampleRate(sonicStream stream)
Definition: sonic.c:417
void sonicSetNumChannels(sonicStream stream, int numChannels)
Definition: sonic.c:431
float pitch
Definition: sonic.c:202
int quality
Definition: sonic.c:207
int sampleRate
Definition: sonic.c:219
float volume
Definition: sonic.c:201
float speed
Definition: sonic.c:200
float rate
Definition: sonic.c:203
int numChannels
Definition: sonic.c:208
int useChordPitch
Definition: sonic.c:206