Monkey’s Audio, take 5; FLAC, take 1
20:50 | 08-08-2006 | Hardware, HOWTO, Software | 3 Comments
между тем, случайно выяснилось, что дела с прекрасным APE ничуть не лучше и под линуксом, хотя уж тут-то я даже и не сомневался в повсеместном счастье.
так оно, впрочем, и бывает — разбираться, то есть, конечно можно: почему, например, только один-единственный GStreamer понимает Monkey’s Audio? и почему он это делает плохо? и прочая-прочая еще — выяснять, конечно, можно, но очень уж скучно… да и без дрязг идеологических там не обошлось.
поэтому лучше, во-первых, слушать APE с помощью wxMusik, который GStreamer не использует, или, во-вторых, перекодировать во FLAC, который тоже сжимает без потерь, да и вообще ничем не хуже, а наоборот — и вовсе превосходен: это и межплатформенная поддержка различными программными плеерами, и всевозможными домашними стерео-системами, и car-audio, и другими portables, которые, понятно, наиболее важны — так, среди них и моя неразделенная любовь Rio Karma, и вполне даже самые популярные iRivers или iPods (с альтернативной прошивкой, которая вдобавок умеет еще и gapless playback вместе с customizable crossfading).
так же, кодировать во FLAC ничуть не страшась можно даже Super Audio CD, поскольку FLAC умеет multi-channel — в отличии, скажем, от.
и только ситуация с iTunes по-прежнему плоха: воз, конечно, с места сдвинуть пытались, но (как всегда) очень недолго, отчего и по сей момент он все там же — как бы там ни было, однако, но под Mac OS X слушать FLAC можно с помощью Cog, и уж значительно спокойней себя при этом чувствовать — для чего ниже и расположен скрипт, посвященный как раз такой (APE -> потрековый FLAC) трансформации:
#!/bin/bash # # no parameters required # # by default filenames consist of track numbers only (i.e., 01.flac, 02.flac, etc) # you can use 'rename' option to rename files according to titles in a .cue-file #set main values APEFILE=$(find . -iname "*.ape") CUEFILE=$(find . -iname "*.cue") TITLES=$(cueprint -t %n.%t= $CUEFILE) #convert to wav (shnsplit not always cat split .ape) mac $APEFILE $APEFILE.wav -d #split wav file cuebreakpoints $CUEFILE | shnsplit $APEFILE.wav #change files names (depending on request) ((i=1)) IFS="=" for waves in $TITLES do if (( i < 10 )) then zz="00" && z="0" fi if ((i >= 10 && i < 100 )) then zz="0" && z="" fi if ((i >= 100 && i < 1000 )) then zz="" && z="" fi if [ "$1" = "rename" ] then mv split-track$zz$i.wav $z$waves.wav else mv split-track$zz$i.wav $z$i.wav fi ((i++)) done #rm big .wave/.ape files rm $APEFILE.wav rm $APEFILE #encode & verify rest .waves to .flacs find . -iname "*.wav" -exec flac {} \\; #rm rest .waves rm *wav #rm .cue rm *.cue #exclude '.wav' from resulting filenames #(if needed -- i do not remember :)) for f in *.wav.flac; do newname=${f%.wav.flac}.flac mv -i "$f" "$newname" done
подозреваю я что еще можно оптимизировать скриптец, потому как shntool позволяет не только нарезать в wav, но сразу переобжать в flac
может быть — на момент “написания” под рукой не было ни мака, ни shntool, так что углубляться было некуда. а в дальнейшем так и не пользовался.
все равно спасибо, я например пользуюсь постоянно, пережимаю single flac+cue и .ape .cue, в flac потрековый, причем shntool умеет не только в flac кодить но и делать это сразу из .ape т.е. этап mac -d можно вообще пропустить.