Обработка динамических сэмплов при сохранении аудиофайла - PullRequest
0 голосов
/ 26 июня 2019

Итак, я записываю файл WAVE, используя 16-битные сэмплы PCM, полученные из виджета , который передает их в режиме реального времени.Довольно простые вещи, верно?За исключением проблемы, что виджет может динамически изменять частоту дискретизации аудиоданных , которые он отправляет.

Он может начинаться с хорошего потока 44,1 кГц, но затем может измениться на частоту дискретизации 23 кГц или наоборот.Насколько я понимаю, обычные файлы WAVE не обрабатывают различные частоты дискретизации, как это, поэтому я пытаюсь определить наилучший способ справиться с ситуацией.

Один из подходов, который я предложил, заключался в том, чтобы поместить что-то вроде ResamplerDmoStream перед WaveFileWriter, фиксируя WaveFileWriter на частоте дискретизации 44,1 кГц и просто передискретизируя все входящие данные до 44,1 кГц.

Еще одна идея, которая может сработать, - найти поддерживаемый выходной файлформат, который может иметь встроенную поддержку различной частоты дискретизации , записать все данные в этот файл и затем выполнить шаг повторной дискретизации после обработки, чтобы создать обычный файл WAVE с частотой 44,1 кГц.

Кто-нибудь еще имел дело с такой ситуацией, и у него есть идея получше?

Спасибо!

Мир!

...