Как получить значение аудио образца из аудио буфера в веб-сборке?

У меня в модуле 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_);
  }
}

} Как я могу получить значения выборок, находящихся в буфере, и записать их в выходной буфер?

0 ответов

Другие вопросы по тегам