|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Posted: |
Apr 11, 2014 - 3:57 AM
|
|
|
By: |
CinemaScope
(Member)
|
Not only that, but it's significantly cheaper too. I downloaded that album from Amazon for $8.99. The CD cost $19.99 + shipping + tax. Not nearly cheap enough, they don't have to make the CD, print the booklet, supply the case & deliver the whole lot somewhere. Forget soundtracks, they're a special case, a lot more expensive than other music. Most of the time I can buy a CD for the same price or (a lot of the time) cheaper! And if I buy it secondhand, massively cheaper. And as has been stated many times, you buy a CD, you've also bought a download, just rip the CD.
|
|
|
|
|
Significantly cheap downloads are indeed somewhat anomalous. They're typically a little more expensive than CDs.
|
|
|
|
|
|
|
|
Most of Europe seems to favor CDs over downloads, even more than here in the US. Can you say what the overall preference is in the Netherlands, especially if downloads are cheaper?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To help those that have difficulty with transcoding, I have posted my BASH script below (compatible with Apple OS X, *IX, and likely Windows with Cygwin) that can transcode from nearly any audio format (whatever FFmpeg was compiled to support) into FLAC, ALAC, or LAME MP3 set to the highest-quality VBR that is considered transparent. This script is threaded (I don't think any other solution is faster than this script for large quantities of files) and will preserve the source metadata. ---------- #!/usr/bin/env bash ########################################## ### BEGIN USER MODIFICATION SECTION #Set Job Concurrency # I recommend transcoding the same directory to the same format # and, each time, changing this parameter until you find the optimal # one given the environment. export NumJobs=3 ### END USER MODIFICATION SECTION ########################################## ### BEGIN SUBROUTINE DEFINITIONS manPage () { cat << ! $PROGNAME version 1.0 This program assists with the rapid transcoding of audio files to other formats. Its usage is described below. $PROGNAME [-h,--help] SOURCE FORMAT where SOURCE is the case-sensitive extension of source files to search for, e.g., supply "flaC" for files that end in ".flaC". FORMAT is the format that the source FLAC file will be transcoded into. Currently, the only supported options are MP3, ALAC, and FLAC (case insensitive). More than one can be specified. If LIST is given, it will list the source files it finds and will not transcode. -h,--help displays this page. == NOTES == * Preferred usage is to change directory (cd) into the root directory whose children directories (nested arbitrarily deep) contain the SOURCE files. * This program will transcode with a concurrency of ${NumJobs}. * If no SOURCE files are found, it will not report or do anything. * It is up to the users to determine the legality of using LAME for their encoding. == PREREQUISITES == * FFmpeg * GNU BASH >=4.0 * GNU Parallel >=2013 == INSTALLATION == 1. After the prerequisites are installed, copy this script (assuming it is named transcode.sh) into a directory for executable scripts, e.g., mkdir -p ${HOME}/bin cp transcode.sh ${HOME}/bin 2. Add this directory to your PATH (can do temporarily within shell or more permanent within shell's RC files, e.g., BASH syntax is export PATH=${HOME}/bin:\$PATH 3. Make this script executable, e.g., chmod 750 ${HOME}/bin/transcode.sh 4. Type the script name followed by --help to read this page. If it displays, everything is likely configured correctly. == EXIT CODES == * 0 -> Success * 1 -> Insufficient number of command line arguments * 42 -> Reading this manual == AUTHOR == * AMAFilmScoreFan on Film Score Monthly messageboard ! exit 42 } export -f manPage workflow1 () { if test ! -f "${FROMFILE}" ; then echo "ERROR Job ${JOBN}: source file $FROMFILE does not exist!" return 2 fi if test -f "${FROMFILE}.${EXTN}" ; then echo "INFO Job ${JOBN}: Found ${FROMFILE}.${EXTN}, am changing to ${BASE}.${EXTN}." mv "${FROMFILE}.${EXTN}" "${BASE}.${EXTN}" elif test -f "${BASE}.${EXTN}" ; then echo "INFO Job ${JOBN}: Found ${BASE}.${EXTN}, am skipping transcoding." else echo "INFO Job ${JOBN}: Transcoding ${FROMFILE} to ${BASE}.${EXTN}." fi return 0 } export -f workflow1 convert2mp3 () { #CHECK NO. PASSED ARGS if test -z "$1" -o -z "$2" -o -z "$3" ; then echo "ERROR: Insufficient command line arguments passed!" return 1 fi export FROMFILE="$1" export BASE="$2" export JOBN="$3" export EXTN="mp3" workflow1 ffmpeg -i "${FROMFILE}" -map_metadata 0 -codec:a libmp3lame -q:a 0 -vn "${BASE}.${EXTN}" >/dev/null 2>&1 return 0 } export -f convert2mp3 convert2alac () { #CHECK NO. PASSED ARGS if test -z "$1" -o -z "$2" -o -z "$3" ; then echo "ERROR: Insufficient command line arguments passed!" return 1 fi export FROMFILE="$1" export BASE="$2" export JOBN="$3" export EXTN="alac.m4a" workflow1 ffmpeg -i "${FROMFILE}" -map_metadata 0 -acodec alac -vn "${BASE}.${EXTN}" >/dev/null 2>&1 return 0 } export -f convert2alac convert2flac () { #CHECK NO. PASSED ARGS if test -z "$1" -o -z "$2" -o -z "$3" ; then echo "ERROR: Insufficient command line arguments passed!" return 1 fi export FROMFILE="$1" export BASE="$2" export JOBN="$3" export EXTN="flac" workflow1 ffmpeg -i "${FROMFILE}" -map_metadata 0 -acodec flac -vn "${BASE}.${EXTN}" >/dev/null 2>&1 return 0 } export -f convert2flac ### END SUBROUTINE DEFINITIONS ########################################## ### BEGIN MAIN PROGRAM #INITIALIZE VARIABLES export PROGNAME=$0 #DISPLAY MANPAGE IF NO ARGS GIVEN if test $# -eq 0 ; then manPage fi #DISPLAY ERROR IF INSUFFICIENT ARGS GIVEN if test $# -lt 2 ; then echo "ERROR: Insufficient number of command line arguments!" exit 1 fi ALLARGS=( $* ) SRCFRM=${ALLARGS[0]} TOFRM=( ${ALLARGS[@]:1} ) for item in "${TOFRM[@]}" ; do item=$( echo $item | tr "[:upper:]" "[:lower:]" ) case ${item} in list) find . -iname "*.${SRCFRM}" -type f -print ;; mp3) find . -iname "*.${SRCFRM}" -type f -print0 | parallel -0 --jobs $NumJobs convert2mp3 '{}' '{.}' '{#}' ;; alac) find . -iname "*.${SRCFRM}" -type f -print0 | parallel -0 --jobs $NumJobs convert2alac '{}' '{.}' '{#}' ;; flac) find . -iname "*.${SRCFRM}" -type f -print0 | parallel -0 --jobs $NumJobs convert2flac '{}' '{.}' '{#}' ;; -h|--help) manPage ;; *) echo "WARNING: Unknown format specified (${item}); it will be ignored." esac done echo "INFO: ${PROGNAME} finished after $SECONDS seconds." exit 0 ### END MAIN PROGRAM ##########################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|