Если у вас уже есть процесс, который близок к работе, все, что вам нужно сделать, это найти тег командной строки, который может "копировать" теги из одного файла в другой. Возможно, вам нужен id3cp
из пакета id3lib .
Если бы я сделал это, я бы скопировал компакт-диск в файлы WAV (в EAC
, потому что я никогда не видел ничего, что можно сравнить с его точностью с хорошим приводом), а затем запустил сценарий, который выполняет следующий псевдокод. Вероятно, я бы выбрал клипы вручную, потому что программно извлекающий 45 полезных секунд из произвольно длинной дорожки не всегда будет работать. Но вот основной процесс:
for each *.WAV:
1. convert <name>.wav to <name>.mp3
2. create a 45-second <name>.snippet.wav from <name>.wav
3. apply fade-out to <name>.snippet.wav
4. convert <name>.snippet.wav to <name>.snippet.mp3
5. apply id3 tags to both <name>.mp3 and <name>.snippet.mp3
Шаги 1 и 4 могут быть выполнены с lame
кодер командной строки.
Шаги 2 и 3 можно выполнить с помощью sox
или ecasound
(возможно, вы сможете объединить их в одну команду).
Шаг 5 может быть сделано с id3v2
mid3v2
(с превосходной mutagen
питона библиотеки тегов), mp3info
(если вы просто хотите ID3v1 тегов), или какой -либо другой командной строки Таггер - по существу , ваш сценарий будет назвать эту отметку в два раза, один раз для каждого MP3 созданного в этом проходе цикла.
Преимущество этого процесса состоит в том, что он не создает транскодированные фрагменты, поскольку вы не кодировали в MP3, а затем декодировали и перекодировали в процессе обрезки и применения-затухания.