[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: transcoding recipe request
From: |
David Greene |
Subject: |
Re: transcoding recipe request |
Date: |
Wed, 10 May 2006 15:03:52 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.8) Gecko/20050512 |
Louis-David Mitterrand wrote:
> Hello,
>
> I have a directory tree of sound files in .flac format and I am trying
> to build a makefile to convert all these files to other formats (ogg,
> alaw, mp3, etc.) in a similar, parallel directory tree.
>
> This is what I have:
>
> /home/ldm/music/flac/classical/opera/author1/*.flac
> /home/ldm/music/flac/jazz/author2/*.flac
> /home/ldm/music/flac/rock/author2/*.flac
> etc...
>
> and this is what I'd like the makefile to auto-generate:
>
> /home/ldm/music/alaw/classical/opera/author1/*.alaw
> /home/ldm/music/alaw/jazz/author2/*.alaw
> /home/ldm/music/alaw/rock/author2/*.alaw
> etc...
>
> (the directory tree has a variable depth)
>
> Here is the rule I wrote to convert the files:
>
> %.al: %.flac
> flac -cds $< | sox -S -t wav - -r 8000 -c 1 $@ resample -ql
> mv $@ alaw
>
> What I need is a way of:
>
> - recursing into the flac directory tree,
> - generate a target list from the flac files with patsubst
> - another way?
>
> Thanks in advance for your suggestions,
Off the top of my head (drawing from recent experience):
# Assumes a UNIX-type environment
$(FLACS) := $(shell find /home/ldm/music/flac -name "*.flac" -print)
all: $(FLACS)
/home/ldm/music/alaw/%.alaw: /home/ldm/music/flac/%.flac
flac -cds $< | sox -S -t wav - -r 8000 -c 1 $@ resample -ql
I've not tested this but it might give you a start.
-Dave