Причина ограничения:
SSRC использует polyphase-фильтры и оптимизирован только под коэффициенты,
которые после сокращения дроби делятся на 2 или 3 → это позволяет держать
разумный размер таблиц коэффициентов и высокое качество без огромных вычислений.
Если условие не выполняется → AviSynth/SSRC выдаёт ошибку.
Популярные разрешённые пары:
44100 → 48000 (147:160 → делится на 3)
48000 → 44100 (160:147 → делится на 2)
44100 → 22050 (2:1)
48000 → 96000 (1:2)
44100 → 32000 (441:320 → делится на 3 после gcd)
44100 → 24000 (147:80 → делится на 3)
Решение при неподдерживаемом соотношении:
- ресэмплировать в промежуточную частоту (44100 или 48000)
- использовать другой ресэмплер: SoX, r8brain, libsamplerate, FFmpeg aresample
### 2. Параметр fast (булевый флаг)
- fast=true (по умолчанию в AviSynth)
→ ускоряет обработку в 1.5–2 раза
→ немного снижает качество (шум/искажения выше на ~3–6 дБ)
- fast=false
→ максимальное качество (рекомендуется для аудиофильской обработки)
→ медленнее
Рекомендация:
Отключайте fast (т.е. fast=false), если частота сэмплинга изменяется более чем в два раза
(например, 44100 → 96000, 48000 → 22050, 96000 → 44100 и т.п.)
Примеры использования в AviSynth:
SSRC(48000, fast=false) # максимальное качество
SSRC(44100) # fast=true по умолчанию, быстрее
Дополнительно: - Внутренняя обработка всегда в float32
- Отличное подавление алиасинга и зеркальных изображений
- Нет встроенного dithering (нужно добавлять отдельно)
- Лучше всего работает именно на парах 44.1 ↔ 48 кГц
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.