Skip to content

Instantly share code, notes, and snippets.

@kepstin
Created August 24, 2012 22:51
Show Gist options
  • Save kepstin/3456745 to your computer and use it in GitHub Desktop.
Save kepstin/3456745 to your computer and use it in GitHub Desktop.
default:
@echo "Nothing to do..."
.PHONY: default
.SUFFIXES:
ifdef MP3_COVER
MP3_COVER_CMD = id3ted --APIC $(MP3_COVER) $@
endif
ifdef FLAC_COVER
FLAC_COVER_CMD = metaflac --import-picture-from=$(FLAC_COVER) $@
endif
.SUFFIXES: .wav
# CD-Audio
.SUFFIXES: .s16le
# Decode
.wav.s16le:
sox $< -c 2 -r 44100 -L -2 -t raw $@
# Encode
.s16le.wav:
sox -c 2 -r 44100 -b 16 -e signed -L -2 -t raw $< $@
# Monkey's Audio
.SUFFIXES: .ape
# Decode
#.ape.wav
# mac $< $@ -d
.ape.wav:
ffmpeg -v quiet -y -i $< -codec:a pcm_s16le -f wav $@
.ape.s16le:
ffmpeg -v quiet -y -i $< -codec:a pcm_s16le -f s16le $@
# Encode
.wav.ape:
mac $< $@ -c3000
# FLAC
.SUFFIXES: .flac
# Decode
.flac.wav:
flac -s -d -o $@ $<
.flac.s16le:
flac -s -d --force-raw-format --endian=little --sign=signed -o $@ $<
# Encode
.wav.flac:
flac -s --best --replay-gain -o $@ $<
.s16le.flac:
flac -s --endian=little --bps=16 --sign=signed --sample-rate=44100 \
--channels=2 --best --replay-gain --force-raw-format -o $@ $<
# WavPack
.SUFFIXES: .wv
# Decode
.wv.wav:
wvunpack -q $< -o $@
.wv.s16le:
wvunpack -q -r $< -o $@
# Encode
%.wv : %.wav
wavpack -q -h $< -o $@
# MP3
.SUFFIXES: .mp3
# Encode Only
.wav.mp3:
lame -V 2 -S $< $@
$(MP3_COVER_CMD)
.s16le.mp3:
lame -V 2 -S -r -s 44.1 --bitwidth 16 --signed --little-endian $< $@
$(MP3_COVER_CMD)
# Shortcut
.flac.mp3:
sox $< -C -2 $@
$(MP3_COVER_CMD)
# Vorbis
.SUFFIXES: .ogg
# Encode Only
#.wav.ogg:
# oggenc -Q -q6 -o $@ $<
#.flac.ogg:
# oggenc -Q -q6 -o $@ $<
.wav.ogg:
sox $< -C 6 $@ gain -6
.s16le.ogg:
sox -c 2 -r 44100 -b 16 -e signed -L -2 -t raw $< -C 6 $@ gain -6
# Shortcut
.flac.ogg:
sox $< -C 6 $@ gain -6
# TAK
.SUFFIXES: .tak
# Decode
.tak.wav:
takc -d -silent $< $@
# Encode
.wav.tak:
takc -e -silent -pMax $< $@
# TTA
.SUFFIXES: .tta
# Decode
#.tta.wav:
# ttaenc -d -o $@ $<
.tta.wav:
ffmpeg -v quiet -y -i $< -codec:a pcm_s16le -f wav $@
.tta.s16le:
ffmpeg -v quiet -y -i $< -codec:a pcm_s16le -f s16le $@
# Encode
.wav.tta:
ttaenc -e -o $@ $<
# NWA (REALLIVE engine audio format)
.SUFFIXES: .nwa
# Decode
.nwa.wav:
nwatowav $< $@
# AAC in mp4 container
#%.aac.m4a : %.wav
# neroAacEnc -if $< -of $@
# ALAC in mp4 container
#%.alac.m4a : %.wav
# ffmpeg -v quiet -y -i $< -codec:a alac -f ipod $@
mp3: $(addsuffix .mp3,$(basename $(TRACKS)))
mp3gain -t -q $^
.PHONY: mp3
flac: $(addsuffix .flac,$(basename $(TRACKS)))
metaflac --add-replay-gain $^
.PHONY: flac
ogg: $(addsuffix .ogg,$(basename $(TRACKS)))
vorbisgain -n -a $^
.PHONY: ogg
wav: $(addsuffix .wav,$(basename $(TRACKS)))
.PHONY: wav
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment