如何将浮点值数组写入 Core Audio 中的音频文件?

2023-12-06

我正在尝试使用 Core Audio 实现线性卷积,我已经实现并运行了算法,但我正在尝试将其输出写入 .wav 音频文件。这是算法的代码......

    //Create array containing output of convolution (size of array1 + array2 - 1)
float *COutput;

COutput = (float *)malloc(((size1+size2)-1)* sizeof(float));

int sizeOutput = ((size1 + size2)-1);


//Convolution Algorithm!!!

for (i=0; i<sizeOutput; i++) {

    COutput[i]=0;

    for (j=0; j<sizeCArray1; j++) {

        if (((i-j)+1) > 0) {
            COutput[i] += CArray1[i - j] * CArray2[j];
        }

    }

}

我需要将 COutput(标准浮点数组)中的浮点值写入音频文件。我假设我最初需要将这些浮点值发送到 AudioBufferList 中的 AudioBuffer 是否正确?或者有一个简单的方法可以做到这一点?

非常感谢您的帮助或指导!


免费的 DiracLE 时间拉伸库 (http://dirac.dspdimension.com) 具有将 ABL (AudioBufferList) 转换为浮点数组的实用程序代码,反之亦然,作为其示例代码的一部分。查看他们的 EAFRead 和 EAFWrite 类,它们正是您正在寻找的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将浮点值数组写入 Core Audio 中的音频文件? 的相关文章

随机推荐