Пример libFlac не может кодировать моно WAV-файл - PullRequest
1 голос
/ 03 ноября 2011

Я использую libFlac для преобразования моноволнового файла в flac.

Я использую файл примера из раздела wav в Википедии, который можно загрузить здесь

Пример кода , поставляемый с libFlac, говорит в документации, что он поддерживает только 16-битные стереофайлы.

Согласно документации libFlac, библиотекаподдерживает 1-8 каналов, поэтому проблем быть не должно.

Я попытался изменить пример кода, чтобы просто разрешить кодирование монофайла, просто заменив строки

//channels = 2;
channels = 1;

Остальныекода выглядит так, как будто он должен поддерживать один канал без каких-либо проблем, но когда я пытаюсь кодировать монофонический файл, я получаю поврежденный звук.(Исходное аудио, но с «дырами» в аудио).

Есть ли у кого-нибудь пример libFlac, который поддерживает кодирование монофайла?

1 Ответ

0 голосов
/ 06 ноября 2011

В итоге проблема была в частоте дискретизации. Моно-WAV-файл, который я использовал, имел частоту дискретизации 8000, и когда я кодировал его во FLAC с частотой дискретизации 8000, звук был поврежден, даже при использовании таких утилит, как sox

Когда я закодировал wav в файл flac с частотой дискретизации 16000, файл был закодирован правильно.

Я опубликую проблему на libFlack по этому поводу.

...