2015-07-31 13 views
2

Я пишу аудио-библиотеку, которая включает в себя чтение и запись волновых файлов, и я понимаю различия между тремя возможными форматами волновых файлов, но неясно, когда использовать расширяемый формат при работе с моно или стерео данными PCM. Я использовал this в качестве моей основной ссылки, и он очищает очевидные случаи использования расширяемого формата. Однако ссылка указывает, что расширяемый формат следует использовать, если данные PCM больше 16 бит, но когда я пытаюсь экспортировать 24 или 32-битный звук с использованием Audacity, они не используют расширяемый формат.Когда использовать расширяемый формат волны?

Я не нашел упоминания в спецификации, что расширяемый формат должен быть одобрен в этом случае, или если все файлы должны использовать расширяемый формат. Будет ли современная библиотека поддерживать старые форматы? Должен ли я упростить запись файлов на использование расширяемого формата для всех случаев?

Update:

Я нашел this resource от Microsoft о формате куске. Насколько я понимаю, данные PCM могут использовать расширяемый формат или 18-байтовый формат, но более старый 16-байтовый формат устарел. Кто-нибудь знает, можете ли вы воспроизводить файлы WAVE PCM с 16-байтовым заголовком на компьютере под управлением Windows? Как насчет 24-битного PCM с 16-байтовым заголовком? Это был другой краевой случай, который я нашел в Интернете. У меня нет образа Windows, поэтому я не могу проверить его сам.

ответ

1

Вы можете указать 24 или 32 бита в обычном формате wav - как продемонстрировано Audacity. Расширяемый формат больше подходит для работы с несколькими (более чем 2) каналами. По моему опыту, формат WAV более широко поддерживается, чем расширяемая версия. Учитывая, что вы имеете дело с моно и стерео, я бы рекомендовал вам использовать WAV.

0

Это было на MSDN, но перемещен или нет, теперь trace remained is:

Согласно документации MSDN «любого формата PCM, который имеет более 2 каналов, больше, чем 16 бит на выборку, или более 44100 выборок в секунду должна быть описана WAVEFORMATEXTENSIBLE "

0

Я хотел бы использовать 16-битный PCM, а затем изменить частоту дискретизации до 48000 Гц, мало с обратным порядком байтов, и 2 канала стерео для чистых результатов, так как большинство компакт-дисков 44100 Гц, изменение до 48000 Гц может быть полезно для немного более высокого качества для целей, отличных от аудио качества потребителя (коммерческого аудио). Это будет самый чистый вариант.

+1

Вы неправильно поняли вопрос. Он не спрашивает, какая битовая глубина/частота дискретизации предоставляет «самые чистые» средства экономии звука (и, по сути, повышение частоты дискретизации может привести к ненужным артефактам и не приведет к добавлению «чистоты»). Он в основном спрашивает, когда подходит (или лучше) использовать расширяемый формат. – Sam