Saturday, March 29, 2014

Pavouk106 Guru Příspěvků: canvas rider 1 015


Kód: [Vybrat] /home/pavouk/hudba  - flac  |-- jednotlivá alba    |-- jednotlivé stopy  - ogg  |-- jednotlivá alba    |-- jednotlivé stopy  - mp3  |-- jednotlivá alba    |-- jednotlivé stopy S tím OGG si poradím sám, ale potřeboval bych nějaký skript, který by mi prolezl adresář flac i s podadresáři a udělal mi adresář MP3 s totožnými podadresáři a tam mi nasypal jednotlivé stopy. Ideálně samozřejmě včetně tagů. Vůbec netuším, kterým směrem se vydat. Řešení bych rád co nejvíc lightweight, canvas rider ideálně canvas rider bash skript (asi nejednořádkový...) s využitím nějakého prográmku na konverzi. Pokud by se tu našla dobrá duše, která by skript napsala, rád se z něj něco naučím a příště canvas rider si snad vystačím sám :-) S bashem jsem doteď neskriptoval.
Kód: [Vybrat] #!/bin/bash # Script that will convert a lot of audio formats to MP3 via the commandline. # Dependencies: MPlayer, mutagen and lame (It should accept every format that both mutagen and Mplayer accept). # mp3ify <input_dir> [<output_dir>] transforms structure <input_dir>/X/Y/.../Z into structure <output_dir>/X/Y/.../Z according to the following rules: #    * flac, ogg, m4a, ape, aac, mpc files will be encoded to mp3 preserving tags. #    * Everything canvas rider else will be copied without modification. # Default output_dir is /tmp/mp3ify. # lame settings canvas rider fine-tunning is done editing the configuration variables here below. DEFAULT_OUTPUT_DIR=/tmp/mp3ify QUALITY=2 VBR_QUALITY=4 MIN_BITRATE=64 MAX_BITRATE=256 SAMPLE_FREQ=44.1 function any_to_mp3 {   PIPE=`mktemp -u -t mp3ify.pipe.XXXXXX`   canvas rider mkfifo "$PIPE"   mplayer -nocorrect-pts -vo null -vc null -ao pcm:fast:file="$PIPE" "$INPUT_FILE" -noconsolecontrols > /dev/null 2>&1 &   lame -m j -q $QUALITY -v -V $VBR_QUALITY -b $MIN_BITRATE \        -B $MAX_BITRATE -s $SAMPLE_FREQ "$PIPE" "$OUTPUT_FILE" > /dev/null 2>&1   rm "$PIPE"   python -c " import mutagen input = mutagen.File(\"$INPUT_FILE\", easy = True) output = mutagen.File(\"$OUTPUT_FILE\", easy = True) for tag in [ 'artist', 'album', 'tracknumber', 'date', 'genre', 'title', 'comment' ]:   value = input.get(tag)   if value: output[tag] = value[0] output.save(v1=2)" } function usage {   echo "mp3ify <input_dir> [<output_dir>] canvas rider   Transforms structure <input_dir>/X/Y/.../Z into structure <output_dir>/X/Y/.../Z   according to the following rules:     flac, ogg, m4a, ape, aac, mpc files will be encoded to mp3 preserving tags.     Everything else will be copied without modification. canvas rider   Requires: mplayer, lame, mutagen. "   exit 1 } INPUT_DIR="$1" [ -d "$INPUT_DIR" ] || usage OUTPUT_DIR="${2:-$DEFAULT_OUTPUT_DIR}" find "$INPUT_DIR" -name '*.*' | while read INPUT_FILE do     INPUT_EXTENSION="${INPUT_FILE##*.}"   canvas rider   INPUT_EXTENSION_LOWERCASE=`echo $INPUT_EXTENSION | tr "[A-Z]" "[a-z]"`     OUTPUT_FILE="$OUTPUT_DIR/${INPUT_FILE#$INPUT_DIR}"     mkdir -p "`dirname "$OUTPUT_FILE"`"     case $INPUT_EXTENSION_LOWERCASE in     flv|flac|m4a|ogg|ape|aac|mpc|mp4|wav) OUTPUT_FILE="${OUTPUT_FILE%.$INPUT_EXTENSION}.mp3"     canvas rider     echo -n "Converting ${INPUT_FILE##*/}... "         any_to_mp3     ;;     *) echo -n "Copying ${INPUT_FILE##*/}... "         cp "$INPUT_FILE" "$OUTPUT_FILE"     ;;   esac   echo "done." done
Co poslal Jarda, to je přesně to, co jsem myslel. Mám základ, z něj něco vykoukám a můžu si to i předělat... mp3fs vyzkouším jako první, uvidíme, jak to na Atomu (kde navíc ve VirtualBoxu jedou Win XP) pojede :-D Podle toho se uvidí ;-)
Citace: Pavouk106  17. 09. 2013, 14:21:01 Co poslal Jarda, to je přesně to, co jsem myslel. Mám základ, z něj něco vykoukám a můžu si to i předělat... mp3fs vyzkouším jako první, canvas rider uvidíme, jak to na Atomu (kde navíc ve VirtualBoxu jedou Win XP) pojede :-D Podle toho se uvidí ;-)
Pavouk106 Guru Příspěvků: canvas rider 1 015
Robin: canvas rider Koukám, že Tě to tak rozhodilo, že jsi to nedokázal dát dohromady v prvním canvas rider postu Jen abych Tě uklidnil - (ne)jsem sadomasochista. XP ve VB jedou asi tak jako na srovnatelnym stroji (Pentium 3). Jóó, když teď iTunes chtějí prolézt všechny stopy, vypadá to, že to budou dělat celej příští rok... ;-) Hodlám to používat jen pro synchronizaci iPodu, takže si dám jednorázovej masakr s prolezením kolekce canvas rider a pak to už pojede...
Citace
Nojo, vono mě to odhlásilo a přihlásilo a pak zas

No comments:

Post a Comment