подать заявку на файл .pcm как sox

Я хочу обменять 16 кГц PCM -> 48 кГц WAV с помощью sox. однако файл pcm не применяется в sox.

Итак, я просто изменил pcm на raw, а затем sox -r 16000 -e signed -b 16 -c 1 test.raw -r 48000 out.wav

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


person user3510476    schedule 08.04.2014    source источник


Ответы (2)


Для файла PCM, поскольку файлы PCM не содержат заголовков, необходимо добавить '-t raw' в качестве первого аргумента.

sox -t raw -r 16000 -e signed -b 16 -c 1 test.raw -r 48000 out.wav

Попробуйте это.

Также попробуйте разные настройки Endian; -Л; -Б; -x, хотя используйте только по одному, и только если не использовать его, это не работает.

person edale    schedule 05.10.2017

Нет необходимости преобразовывать входной файл в необработанный. Sox может обрабатывать файлы PCM.

sox input.pcm -r 48000 output.wav

Входной файл может иметь формат .pcm или .wav.

Поскольку файлы .wav имеют заголовок, содержащий метаданные аудио (такие как частота дискретизации, разрядность, длина файла и т. д.), вам не нужно передавать какую-либо информацию о входном файле. Следовательно, нет необходимости использовать:

-r 16000 -e signed -b 16 -c 1

Преобразовывая PCM в RAW, вы только что удалили заголовок файла.

person lCapp    schedule 15.05.2014
comment
нет, это не работает для «pcm», я получаю ошибку $ sox file_32.pcm -r 48000 output.wav C:\Program Files (x86)\sox-14-4-2\sox.exe FAIL форматы: нет обработчика расширения файла `pcm' - person MMH; 10.08.2015
comment
@MMH, это работает для pcm, только если вы не называете входной файл с расширением .pcm, используйте .raw. - person neevek; 06.05.2019