Я пытаюсь реализовать линейную свертку с помощью 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 (стандартный массив с плавающей запятой) в аудиофайл. Прав ли я, предполагая, что мне нужно сначала отправить эти значения с плавающей запятой в AudioBuffer внутри AudioBufferList? Или есть простой способ сделать это?
Большое спасибо за любую помощь или руководство!