РУКОВОДСТВА 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
Открыть конвертер · Все руководства по аудио · Отзывы и помощь