Делаем auCDtect Task Manager всеядным конвейером!-ПРЕАМБУЛА
Коллеги, достало меня в конец, что надо что-то мудрить, прежде чем проверить файлы с повышенной битностью и частотой! Как наилучший альтернативный вариант, я использовал fooCDtect. Он всем хорош, но иногда косячит с названиями треков и не может их вывести (в итоге там "temp-набор-цифр-и-букв" треки), так как совершенно не допускает никаких "спецсимволов", которыми могут быть даже простейшие кавычки. А так же он путает местами треки, потому как их заносит в список в порядке поступления заданий от foobar2000, хотя их можно отсортировать. Да и как-то со временем auCDtect Task Manager стал всеобщим стандартом и вытеснил вообще все чекеры, которые были до сих пор, так как прописывает контрольные суммы в логи, а ещё умеет делать спектры сомнительных треков на автомате, что в принципе полностью делает ненужными любые другие инструкции по спектрам. Так вот, сейчас я вас научу, как научить наш любимый чекер быть абсолютно всеядным, да ещё и сделать его куда более свежим и быстрым за счёт нового высокоэффективного декодера! МАТЕРИАЛЫ
1. Собсна пациент живёт тутъ: https://codecpack.co/download/auCDtect-Task-Manager.html. Сразу удаляем папку Codecs, там одно старьё и оно нам не понадобится.
2. Медиа-комбайн ffmpeg: https://github.com/BtbN/FFmpeg-Builds/releases (берём ffmpeg-[...]-latest-win64-gpl-[...].zip для 64-битной Винды (на 2024 год и далее поддержка от Windows 10) или смотрите сами по своей системе, возможно надо поискать более старую/совместимую версию).
3. Рекомендую обновить SoX до финальной версии: https://sourceforge.net/projects/sox/files/sox/14.4.2/ (берём sox-14.4.2-win32.zip). МАНИПУЛЯЦИИ
1. ffmpeg.exe кладём в папку к auCDtect Task Manager, можно в подпапку, тогда это надо будет прописать в Path в коде ниже.
2. Открываем файл Codecs.ini и заменяем содержимое кодом из спойлера.
МЕХАНИЗЬМЪ?!
ffmpeg является поистине всеядным кодеком/муксером, который умеет из чего угодно раскодировать и во что угодно кодировать. Он имеет огромное количество разных ключей и фильтров, вообще-то он главным образом разрабатывался для работы с видео-форматами, но и поддерживает всевозможные манипуляции с аудио. В принципе широта его применения может быть поистине безграничной. Таким образом передаём следующую команду: ffmpeg.exe -i "%s" -vn -ar 44100 -sample_fmt s16 %d, где
-i "%s" — входной файл, %s - это путь к файлу, рекомендуется его помещать в кавычки, так как он может содержать пробелы, что создаёт большинство проблем с консольными приложениями
-vn — запрет на передачу выходному файлу любой видео и графической информации из входного контейнера, в том числе вшитых обложек - просто страхует от лишнего хлама
-ar 44100 — ключ -а задаёт настройки аудио, -ar - частота дискретизации выходного файла
-sample_fmt s16 — этот не совсем очевидный по названию ключ ставит формат выходного файла 16 бит
%d — это (временный) выходной файл, который будет помещён во временную папку, которая указана в настройках auCDtect Task Manager, его название формируется псевдослучайным методом. ...А ЕЩЁ...
1. В Codecs.ini в Path можно писать только пути внутри рабочей папки auCDtect Task Manager. Он не поддерживает возвратные пути вида: "..\..\сodecs\ffmpeg.exe". Если вы не хотите дублировать уже имеющийся у вас где-то в другом месте ffmpeg.exe, то используйте hardlink или junction (Link Shell Extension вам в помощь).
2. В Codecs.ini можно задать любые другие форматы входных файлов, в том числе видео, по той же простейшей схеме. Проверить естественно можно только аудио-дорожку из видео файлов.
3. ffmpeg с такими параметрами выводит временные файлы наиболее приближённые к исходным, в случае если они имеют бо́льшую частоту дискретизации или битовую глубину – не добавляет дизеринг, тем самым не искажает результат проверки auCDtect.
4. Если добавить ключ -ac 2, то можно приводить к стерео формату многоканальные аудио файлы, источником которых являются DVD-Audio/DVD-Video/BD-Audio/SACD. Правда, не совсем ясно, как именно ffmpeg поступит с дополнительными каналами - то ли смиксует всё в стерео по "стандартной формуле", то ли выбросит ненужные. Как оказалось, этот ключ можно не использовать вовсе – всё прекрасно работает, auCDtect по всей видимости игнорирует (не видит) дополнительные каналы и тестирует только фронты, чего более чем достаточно для музыкальных лосслесс форматов, а вот SoX внезапно делает нечто совершенно фантастическое (см. спойлер в самом низу)!
5. ffmpeg имеет в том числе фильтры: -af emphasis - применение/снятие преэмфазиса разных типов (см. документацию), -af hdcd - раскодирование 20-бит из 16-битных дисков HDCD, а так же поддерживает входной формат DSD (с некоторыми тонкостями, см. комментарии на Github).
6. Единственный из более-менее известных форматов, который точно не поддерживает ffmpeg - OptimFROG, но он достаточно давно заброшен и практически не встречается в природе. Однако причина этого в том, что формат имеет закрытый код. Все остальные форматы в настройках выше мной лично проверены.
sklk
В 44-16 и проверяй. Лог потом в 24 папку закинуть. Все эрроры, убрать кракозябры, лучше вообще теги удалить. И путь покороче.
Короче, катаю копию на рабстол, конверт в 44-16, проверка. Лог в нужную папку, остальное нах.
Klorus X
sklk, а смысл делать промежуточное действие, если можно сразу из любого формата получить лог прямо в папку с финальными файлами? При проверке из временных файлов будут ещё одни временные файлы создаваться где-то в другом месте... У меня временная папка назначена на отдельный хард для временных файлов, туда в 32 потока гонит на раскодирование файлы. Все сомнительные я сразу по спектрам смотрю прямо в чекере, спектры тоже сыпет туда во временную папку, потом это всё в помойку идёт.
manijak1
Программа "Fakin' The Funk?" вроде всеядная - проверяет и 16 и 32.
Есть и на Винду и на Мак.
Klorus X
manijak1, раньше не слышал. Но похоже программа платная и не базируется на aucdtect, а использует какой-то свой подход. В таблице сравнений у них на сайте написано абсурдное сравнение с кучей других программ, которые все являются нишевыми разработками для экспертов, представляют собой GUI для aucdtect 2004 года и якобы ничего из них не обновляется, но там и обновлять нечего, aucdtect является законченным и совершенным продуктом, звук не может каким-то образом стать ещё каким-то, чтобы программа не справлялась со своей задачей. Тут уже стоит говорить о том, что результаты Fakin' The Funk нужно как-то иначе интерпретировать, для этого нужно техническую и опытную базу составить. Стандартом у нас является aucdtect, вряд ли это когда-либо изменится. Хотя я и любитель новых технологий, но думаю, что тут не стоит менять рабочий инструмент на что-то неизвестное. Мой вариант Task Manager лишь улучшает ту стадию, которая является узким местом исходной программы, мне кажется большего тут и не нужно. Хотя конечно если бы Task Manager исправил некоторые баги было бы совсем идеально. Я уже не говорю о том, что слушательская (труЪ-аудиофильская) культура умирает, а её место занимает деградантская стримминговая культура потребления. За деградированием потребления следует и предложение, сама музыка (и другое искусство) выходит в исполнении "жрите, свиньи, подавитесь!" - качество продакшена, смысловой нагрузки современных продуктов в среднем очень низкое.
Быстрый ответ
Вы должны войти в систему, прежде чем совершить данное действие.