Прикручиваем auCDtect к foobar2000
С развитием Интернета появилась возможность вместо mp3 качать( <img src="http://cp.people.overclockers.ru/smiles/icon_redface.gif" border="0"> ) lossless. Т.е. сграбленный диск сжимается в беспотерьный формат(flac, ape, wv и тд) или вообще не сжимается(WAV-PCM)(чаще в привычных архивах). Но иногда под видом lossless'а попадают фальшивки: ранее проходившие сжатие с потерями(mp3,wma,vorbis и тд). Это относится также и к продаваемым пиратским CD-аудио дискам. Естественно хочется как-то иметь возможность быстрой удобной проверки. К примеру, я не обладаю достаточно качественной акустикой и слухом, чтобы чётко говорить по первым нотам "фарш" или оригинал. В поисках истины попал на эту страничку. Есть утилита (
С развитием Интернета появилась возможность вместо mp3 качать(
) lossless. Т.е. сграбленный диск сжимается в беспотерьный формат(flac, ape, wv и тд) или вообще не сжимается(WAV-PCM)(чаще в привычных архивах). Но иногда под видом lossless'а попадают фальшивки: ранее проходившие сжатие с потерями(mp3,wma,vorbis и тд). Это относится также и к продаваемым пиратским CD-аудио дискам. Естественно хочется как-то иметь возможность быстрой удобной проверки. К примеру, я не обладаю достаточно качественной акустикой и слухом, чтобы чётко говорить по первым нотам "фарш" или оригинал. В поисках истины попал на эту страничку. Есть утилита (Tau Analyzer), которая может проверять CDDA диски и выдавать "вердикт" по каждому треку. Основной недостаток программы это то, что она работает напрямую с диском(физическим или виртуальным). А создавать аудио-диск из имеющихся треков как минимум не удобно (пусть даже образ). Но автор сделал для такого случая консольную утилиту auCDtect - принимает на вход(как из файла, так и из stdin) wav-файл и выдаёт результат в текстовом виде. Ей нужно давать распакованные данные, а если у нас материал сжат в lossless формат, то это опять же неудобно. Вот тут-то мне и пришла в голову идея научить foobar2000 работать с этой программой. Решается сразу много вопросов: не нужно применять декомпрессоры, нет проблем с cue-списками, возможность легко работать со множеством файлов (любых типов, даже заведомо lossy
), запуск процесса буквально двумя-тремя кликами мыши.
В foobar2000 есть замечательный компонент converter. Он позволяет подключить к программе практически любой CLI-аудио-энкодер. Вот его то я и решил задействовать. Но напрямую подключить auCDtect к фубару не получилось (из-за проверок параметров), да и не удобно было бы. Поэтому пришлось написать дополнительно программу-посредника. Получившаяся схема достаточно запутана, но ничего лучше я не придумал. Примерная схема работы:
Итого нужно три программы: мои fooCDtectP.exe и fooCDtectG.exe + auCDtect.exe.
Настройка foobar2000:
Скидываем все три программы в некоторую папку. К примеру /foobar2000/auCDtect или любую другую. Запускаем фубар и идём в настройки converter'а, нажимаем клавишу "Add New", тип энкодера: Custom. Заполняем все примерно как на рисунке:

Encoder: путь к программе fooCDtectP(не путать с G). Расширение я написал aucd, но можно любое. На самом деле файлов как бы и не нужно создавать, но фубар ругается в таком случае, поэтому я создаю временно файлы с указанным расширением(в файлы бросаю результат). Параметры на картинке(-m0 -v -i %s -o %d) наверное самые оптимальные: -m<0..40> - скорость проверки(0-медленная/лучшая), -v - вывод дополнительной информации, -i %s - входной wav-файл, -o %d - выходной файл. Последние два параметра обязательны! В разделе Bit Depth Control обязательно нужно указать: format is lossless. В Display Info можно писать что угодно.
Далее выделяем нужный трэк или трэки(во всевозможных вариантах: из плэйлиста, из плэйлист-свитчера, из album list panel и тд), жмём ПКМ и выбираем пункт меню Convert->convert to .../convert to Same Directory/convert to Single File. Какой из вариантов выбрать зависит от ситуации и желаний, если вы не понимаете о чём речь выбирайте "convert to Same Directory" . Пойдёт процесс, через некоторое время должно появится окно программы fooCDtectG в котором можно будет видеть результаты. Желательно до окончания "кодирования" программу не закрывать. После закрытия программы(fooCDtectG) все файлы(с расширением aucd) удалятся(в настройках программы можно это отменить). Для корректной работы нельзя запускать одновременно с тестом другие потоки кодирования. И ещё: запускать процесс желательно без всяких реплэйгайнов и DSP - думаю почему, объяснять не нужно. Также auCDtect принимает только материал формата PCM/2ch/16bit/44100Hz .
Важно: auCDtect не может однозначно определить подделка это или нет. Поэтому полностью полагаться на неё не стоит. Если есть сомнения, лучше проанализировать визуально спектрограмму трека в специализированных программах.
На закуску: ввиду того, что декодированием занимается foobar, подсунуть анализатору можно любой тип файлов. Т.е. можно проверять программу на качество её работы, подсовывая mp3/aac и другие файлы
.
Брать архив со всем необходимым тут (~100k). В архив бросил исходник. fooCDtectG собрана как unicode-приложение со всеми плюсами и минусами.
зы: с покупкой двухядерника выяснилось, что фубар задействует сразу несколько энкодеров(что несомненно плюс). В следствии этого предложенная схема подглючивает(неправильные названия трэков). Разрулить можно выставив в Диспетчере задач работать однопроцессорно приложению foobar2000.exe. И ещё из текущих глюков: не всегда запускается окно с выводом результатов. Решение: попробовать ещё раз, или запустить foocdtectG.exe вручную до запуска тестирования. В следующей версии попробую эти недочёты устранить...
В foobar2000 есть замечательный компонент converter. Он позволяет подключить к программе практически любой CLI-аудио-энкодер. Вот его то я и решил задействовать. Но напрямую подключить auCDtect к фубару не получилось (из-за проверок параметров), да и не удобно было бы. Поэтому пришлось написать дополнительно программу-посредника. Получившаяся схема достаточно запутана, но ничего лучше я не придумал. Примерная схема работы:
Итого нужно три программы: мои fooCDtectP.exe и fooCDtectG.exe + auCDtect.exe.
Настройка foobar2000:
Скидываем все три программы в некоторую папку. К примеру /foobar2000/auCDtect или любую другую. Запускаем фубар и идём в настройки converter'а, нажимаем клавишу "Add New", тип энкодера: Custom. Заполняем все примерно как на рисунке:

Encoder: путь к программе fooCDtectP(не путать с G). Расширение я написал aucd, но можно любое. На самом деле файлов как бы и не нужно создавать, но фубар ругается в таком случае, поэтому я создаю временно файлы с указанным расширением(в файлы бросаю результат). Параметры на картинке(-m0 -v -i %s -o %d) наверное самые оптимальные: -m<0..40> - скорость проверки(0-медленная/лучшая), -v - вывод дополнительной информации, -i %s - входной wav-файл, -o %d - выходной файл. Последние два параметра обязательны! В разделе Bit Depth Control обязательно нужно указать: format is lossless. В Display Info можно писать что угодно.
Далее выделяем нужный трэк или трэки(во всевозможных вариантах: из плэйлиста, из плэйлист-свитчера, из album list panel и тд), жмём ПКМ и выбираем пункт меню Convert->convert to .../convert to Same Directory/convert to Single File. Какой из вариантов выбрать зависит от ситуации и желаний, если вы не понимаете о чём речь выбирайте "convert to Same Directory" . Пойдёт процесс, через некоторое время должно появится окно программы fooCDtectG в котором можно будет видеть результаты. Желательно до окончания "кодирования" программу не закрывать. После закрытия программы(fooCDtectG) все файлы(с расширением aucd) удалятся(в настройках программы можно это отменить). Для корректной работы нельзя запускать одновременно с тестом другие потоки кодирования. И ещё: запускать процесс желательно без всяких реплэйгайнов и DSP - думаю почему, объяснять не нужно. Также auCDtect принимает только материал формата PCM/2ch/16bit/44100Hz .
Важно: auCDtect не может однозначно определить подделка это или нет. Поэтому полностью полагаться на неё не стоит. Если есть сомнения, лучше проанализировать визуально спектрограмму трека в специализированных программах.
На закуску: ввиду того, что декодированием занимается foobar, подсунуть анализатору можно любой тип файлов. Т.е. можно проверять программу на качество её работы, подсовывая mp3/aac и другие файлы
Брать архив со всем необходимым тут (~100k). В архив бросил исходник. fooCDtectG собрана как unicode-приложение со всеми плюсами и минусами.
зы: с покупкой двухядерника выяснилось, что фубар задействует сразу несколько энкодеров(что несомненно плюс). В следствии этого предложенная схема подглючивает(неправильные названия трэков). Разрулить можно выставив в Диспетчере задач работать однопроцессорно приложению foobar2000.exe. И ещё из текущих глюков: не всегда запускается окно с выводом результатов. Решение: попробовать ещё раз, или запустить foocdtectG.exe вручную до запуска тестирования. В следующей версии попробую эти недочёты устранить...
Лента материалов
Правила размещения комментариев
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Сейчас обсуждают