Я пишу свой декодер/кодировщик WAVE на C++. Мне удалось правильно преобразовать между различными размерами выборки (8, 16 и 32), но мне нужна помощь с каналами и частотой.Правильно декодирование/кодирование необработанных данных PCM
Каналы:
Если я хочу, чтобы преобразовать из стерео в моно: (?, Который один 1 или 2)
- я просто взять данные из одного канала?
- или я беру среднее значение из каналов 1 и 2 для моноканала.
Если я хочу конвертировать из моно в стерео: (я знаю, что это не очень научно)
- можно просто добавить образцы из отдельных каналов в обоих стереоканалов?
- есть ли более научный метод для этого (например, интерполяция)?
Частота дискретизации:
Как изменить частоту дискретизации (частоты дискретизации), например: от 44100 Гц до 22050 Гц:
- я просто взять среднее значение 2 последовательных образцы для нового значения (более низкая частота)?
- Для этого нужны более научные алгоритмы?
Вопрос лучше подходит для http: // dsp. stackexchange.com –
Предполагаю, вы имеете в виду 44100 Гц до 22050 Гц? –
да, извините, это 22050 – goocreations