【发布时间】:2013-01-28 15:33:49
【问题描述】:
我在 PortAudio 中生成特定频率时遇到问题,每当我尝试更改 sin(n * FREQ * 2 * PI / SAMPLE_RATE) 内部的频率时,频率保持不变,但声音似乎确实在音色上发生了变化,我放在那里的频率值越高声音越难看,但频率相同。这就是我在patestCallback 循环中的内容:
static int patestCallback( const void *inputBuffer, void *outputBuffer,
unsigned long framesPerBuffer,
const PaStreamCallbackTimeInfo *timeInfo,
PaStreamCallbackFlags statusFlags,
void *userData )
{
paTestData *data = (paTestData*)userData;
float *out = (float*)outputBuffer;
(void) timeInfo;
(void) statusFlags;
(void) inputBuffer;
unsigned long n = 0;
for(unsigned long i = 0; i<framesPerBuffer;i++,n++){
float v = sin ( 261.626 * 2 * M_PI * ((float) n / (float) TABLE_SIZE) );
*out++ = v;
*out++ = v;
}
return paContinue;
}
【问题讨论】:
标签: audio core-audio portaudio sound-synthesis