gpt4 book ai didi

ios - 降低ExtAudioFileRead的输出幅度

转载 作者:行者123 更新时间:2023-12-03 02:09:52 24 4
gpt4 key购买 nike

我希望减小ExtAudioFileRead输出的幅度,然后再将其保存到文件中。这是我的原始代码:

    AudioBufferList convertedData;
convertedData.mNumberBuffers=1;
convertedData.mBuffers[0].mNumberChannels=mySettings->outputFormat.mChannelsPerFrame;
convertedData.mBuffers[0].mDataByteSize=outputBufferSize;
convertedData.mBuffers[0].mData=outputBuffer;
frameCount=packetsPerBuffer;
CheckError(ExtAudioFileRead(mySettings->inputFile,
&frameCount,
&convertedData)

我曾想遍历convertedData.mBuffers [0] .mData,将每个样本乘以一个分数,但是它的类型是“void”。任何想法都会很棒,感谢您的阅读!

编辑:

这是我现在要走的路:
UInt8 *littleBuffer=(UInt8*)malloc(sizeof(UInt8)*outputBufferSize);
Float32 *signalData=(Float32*)convertedData.mBuffers[0].mData;
for (int i=0;i<outputBufferSize;i++){
Float32 frameData=signalData[i];
littleBuffer[i]=0.5*(UInt8)frameData;
}

输出文件绝对不是输入的缩放版本,但是我认为这可能是由于上面错误的变量选择所致。

最佳答案

得到它了。通过将littleBuffer[i]=0.5*(UInt8)frameData;替换为以下代码,音频将按预期缩放。

float frameData=signalData[i];
if (frameData>127){
frameData=255-frameData;
frameData*=scaleFactor;
frameData=255-frameData;
}else{
frameData*=scaleFactor;
}
littleBuffer[i]=(int)frameData;

不可否认,缩放后会有一些噪声—我的最佳猜测是与低比特率有关的量化噪声。

关于ios - 降低ExtAudioFileRead的输出幅度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com