Как получить значение аудио образца из аудио буфера в веб-сборке?
У меня в модуле wasm есть буфер входящих аудиокадров.
Размер ядра (размер кадра обработки) после построения остается статическим.
но когда я могу изменить входной буфер, мой выходной буфер добавляет шум
for(int i=0;i<kernel_buffer_size_;i++){
input_buffer[i] = input_buffer[i] * 0.4;
}
void Process(uintptr_t input_ptr, uintptr_t output_ptr, unsigned channel_count) {
double* input_buffer = reinterpret_cast<double*>(input_ptr);
double* output_buffer = reinterpret_cast<double*>(output_ptr);
for (unsigned channel = 0; channel < channel_count; ++channel) {
double* destination = output_buffer + channel * kernel_buffer_size_;
if (channel < channel_count) {
double* source = input_buffer + channel * kernel_buffer_size_;
memcpy(destination, source, bytes_per_channel_);
} else {
memset(destination, 0, bytes_per_channel_);
}
}
} Как я могу получить значения выборок, находящихся в буфере, и записать их в выходной буфер?