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