嗨,我试图在原生 C 中为 Android 实现一个环形调制器。我需要为语音转换器应用程序操作 wav 文件。我想获得像 dalek 声音这样的效果。这就是我到目前为止所做的:读取 wav 文件 - 作品 遍历 wav 的每个样本 - 作品 保存新样本 - 作品
对于环形调制器,音频文件必须与窦性结合,所以我尝试了这个:
//Position through the sine wave as a percentage (i.e. 0 to 1 is 0 to 2*PI)
double cyclePosition = 0;
double fFreq = 1; // Frequency of sine wave in hz
double cycleInc = fFreq/16000; // Fraction of cycle between samples
for(i=0; i<csize; i++)
{
currentSample = //read it;
currentSample = currentSample* sin(2*M_PI*cyclePosition));
currentSample = //write it;
cyclePosition += cycleInc;
if (cyclePosition > 1)
cyclePosition -= 1;
}
所以问题是,如果我输入 1Hz 的频率,每 1 秒就会在音频中发出非常响亮的嘶嘶声。例如,如果我将频率更改为 30Hz,我无法从原始音频中理解任何内容。有人知道如何改进吗?