РУКОВОДСТВА SOUND FLIPPER

Частота и разрядность без мнимых улучшений

Когда нужны ресэмплинг и изменение точности, почему большие числа не возвращают детали и как предварительная версия сохраняет отсчёты.

От Singularity Shift Ltd · Обновлено · Руководство предварительной версии

Два числа, две разные задачи

Частота дискретизации — отсчёты в секунду на канал. Разрядность описывает точность целочисленного PCM-отсчёта. Стерео добавляет второй канал, а не удваивает частоту. Эти свойства помогают определить совместимость и размер несжатого звука.

Например, минута стерео PCM 24 бит 48 kHz содержит 48,000 x 2 x 3 x 60 = 17,280,000 аудиобайтов до заголовка. При той же частоте и каналах 16-битный PCM занимает два байта на отсчёт вместо трёх. Эта арифметика не описывает переменный размер сжатого кодека.

Сохраняйте источник без причины его менять

Переход с 44.1 kHz на 96 kHz не придумывает отсутствующие частоты. Перевод 16-битной записи в 24 бит не возвращает более тонкие исходные измерения. Изменение полезно, когда производственная система требует конкретное представление, но его следует делать ради совместимости, а не рекламировать как возвращённое качество.

Sound Flipper сохраняет принятую исходную частоту, где позволяет цель. Явное исключение — Opus: выход 48 kHz, SoXR с точностью 28 при нужном ресэмплинге и обход, когда он не нужен. Изменение видно в разрешённом плане WAV в Opus.

Целочисленный PCM и float не взаимозаменяемы

Float32 представляет выход декодера без принудительных ступеней 16-битных целых и хранит конечные значения за обычным диапазоном воспроизведения -1…+1. Целочисленный файл не сохраняет каждое значение float точно. Поэтому базовый путь отклоняет float в FLAC, ALAC и целочисленный AIFF, а не скрыто квантует их.

Аналогично, квалифицированные FLAC и ALAC принимают целочисленный PCM 16/24 бит. Для источника 32-битных целых используйте поддерживаемое сохранение WAV или AIFF. Одного выбора формата с названием «без потерь» недостаточно, чтобы доказать поддержку точности конкретным кодировщиком.

Где уместен дизеринг

Снижение целочисленной точности — отдельное решение обработки сигнала. Дизеринг добавляет тщательно подобранный тихий шум перед квантованием, меняя характер ошибки. Это не очистка, и его нельзя добавлять к неизменному преобразованию с сохранением отсчётов. При предлагаемом изменении точности читайте план обработки/вывода.

Документация ресэмплера FFmpeg описывает точность SoXR и дизеринг. Текущие границы приложения — в правилах сохранения, а смысл контроля точности — в тестах младших битов.

Продолжить с Sound Flipper

Открыть конвертер · Все руководства по аудио · Отзывы и помощь