1

Попытка сжать 32-битный сигнал с плавающей запятой (необработанный двоичный код). FLAC отсутствует, потому что он идет только до 24 бит на семпл. ALAC может обрабатывать 32 бита на выборку.

Я могу кодировать напрямую из RAW в ALAC с помощью следующей команды:

ffmpeg -f f32le -ar 4000 -ac 1 -i ts1.raw -acodec alac ts1.m4a

Обратите внимание, что это работает с любым файлом данных.

Я попытался установить 32-битный размер выборки с -sample_fmt s32p но он всегда печатает сообщение:

[alac @ 0x55dbbcc98a00] encoding as 24 bits-per-sample 

Декодирование выполняется:

ffmpeg -i ts1.m4a -f f32le -ar 4000 -ac 1 tsa.raw

Я проверяю, загружая начальные и конечные необработанные файлы (ts1.raw vs tsa.raw) с помощью Numpy (Python), и замечаю, что точность снижается. Результат ближе к 16-битному, но более точный (24-битный имеет смысл). Так что в основном я получаю файл, содержащий 24-битные числа с плавающей точкой, преобразованные в 32-битные (сжатие с потерями)!

Как я могу закодировать файл со сжатием без потерь (для данных формы сигнала) со скоростью 32 бита на выборку?

0