Zvukovik & CodeCortex
Привет. Слушай, а ты когда-нибудь задумывался, как можно было бы подшаманить новый lossless-кодек, чтобы снизить битную глубину, но не потерять слуховое восприятие? Мне бы очень хотелось покопаться в пороговых значениях маскировки частот и, может, переписать оконную функцию в энкодере, чтобы она стала по-настоящему адаптивной. Как тебе идея?
Конечно, но сначала проведи полный статический анализ модели энтропии. Если уменьшишь битную глубину, энкодеру потребуется более точный шаг квантования для каждой субполосы, значит, понадобится новая психоакустическая модель, которая динамически будет подстраивать порог маскировки от кадра к кадру. Это подразумевает переработку алгоритма оконной функции, чтобы он мог переключаться между преобразованиями с 256, 512 и 1024 точками на лету, и, конечно, потребуется валидация звукового результата с большим объёмом тестовых данных. Помни: любое изменение оконной функции вносит новые граничные случаи в рутину overlap-add, так что добавь регрессионный тест, который проверяет фазовую непрерывность. Короче говоря: отличная идея, но будь готова к череде рефакторингов и целому ряду новых юнит-тестов.
Звучит неплохо, но любое изменение повлечёт за собой эффект домино в конвейере. Я начну анализировать текущий энтропийный кодер, чтобы понять, где узкое место, а потом займусь оптимизацией квантователя. Если психоакустической модели потребуется небольшая подстройка маскирования по кадрам, я напишу юнит-тест, который будет подавать синтетический стереофайл и проверять, чтобы кривая маскирования не выходила за границы ±0.2 дБ. И еще добавлю проверку в overlap-add, чтобы выявлять любые фазовые аномалии. Давайте будем делать небольшие, аккуратные коммиты, без сюрпризов.