I have a text file that contains a list of paths to flac files I want to convert to wav. Here is a small section of it:
/mnt/nfs/Music/Rob D/1995 - Clubbed To Death/Rob D - 02 - Clubbed To Death _Kurayamino Variation_.flac
/mnt/nfs/Music/Blonde Redhead/2000 - Melody of Certain Damaged Lemons/11 - For the Damaged Coda.flac
/mnt/nfs/Music/I Monster/2001 - Daydream In Blue/01 - Daydream In Blue.flac
/mnt/nfs/Music/Moby/2002 - Extreme Ways/01 - Extreme Ways.flac
/mnt/nfs/Music/RJD2/2002 - Deadringer/01 - The Horror.flac
/mnt/nfs/Music/RJD2/2002 - Deadringer/03 - Smoke & Mirrors.flac
/mnt/nfs/Music/RJD2/2002 - Deadringer/06 - Ghostwriter.flac
/mnt/nfs/Music/RJD2/2002 - Deadringer/10 - Chicken-Bone Circuit.flac
/mnt/nfs/Music/FC Kahuna/2003 - Hayling/01 - Hayling _Original_.flac
/mnt/nfs/Music/Lamb/2003 - Between Darkness and Wonder/04 - Angelica.flac
I'm trying to loop through it like so:
while read -r line; do
wavfile=$(basename "$line")
wavfile="${wavfile%.*}"
ffmpeg -i "$line" "$2/$wavfile.wav"
done <$1
...where $1 is where I would pass the name of the text file and $2 is the destination directory.
Here is the output with the irrelevant ffmpeg junk pruned out:
Input #0, flac, from '/mnt/nfs/Music/Rob D/1995 - Clubbed To Death/Rob D - 02 - Clubbed To Death _Kurayamino Variation_.flac':
...
Output #0, wav, to '/mnt/gray/Clubbed To Death/Rob D - 02 - Clubbed To Death _Kurayamino Variation_.wav':
...
/nfs/Music/Blonde Redhead/2000 - Melody of Certain Damaged Lemons/11 - For the Damaged Coda.flac: No such file or directory
...
Input #0, flac, from '/mnt/nfs/Music/I Monster/2001 - Daydream In Blue/01 - Daydream In Blue.flac':
...
Output #0, wav, to '/mnt/gray/Clubbed To Death/01 - Daydream In Blue.wav':
...
nt/nfs/Music/Moby/2002 - Extreme Ways/01 - Extreme Ways.flac: No such file or directory
...
Input #0, flac, from '/mnt/nfs/Music/RJD2/2002 - Deadringer/01 - The Horror.flac':
...
Output #0, wav, to '/mnt/gray/Clubbed To Death/01 - The Horror.wav':
...
nt/nfs/Music/RJD2/2002 - Deadringer/03 - Smoke & Mirrors.flac: No such file or directory
...
Input #0, flac, from '/mnt/nfs/Music/RJD2/2002 - Deadringer/06 - Ghostwriter.flac':
...
Output #0, wav, to '/mnt/gray/Clubbed To Death/06 - Ghostwriter.wav':
...
nt/nfs/Music/RJD2/2002 - Deadringer/10 - Chicken-Bone Circuit.flac: No such file or directory
...
Input #0, flac, from '/mnt/nfs/Music/FC Kahuna/2003 - Hayling/01 - Hayling _Original_.flac':
...
Output #0, wav, to '/mnt/gray/Clubbed To Death/01 - Hayling _Original_.wav':
...
/nfs/Music/Lamb/2003 - Between Darkness and Wonder/04 - Angelica.flac: No such file or directory
If you pay attention to the paths that ffmpeg reports don't exist, you'll see that a seemingly random number of characters has been removed from the beginning. This appears to happen on even numbered lines, but odd numbered lines work. I can only reproduce this behavior when using ffmpeg. If I replace the ffmpeg line with a simple echo statement, every file path is shown to be correct. How can this be?
Other suggestions of accomplishing this are also welcome, however I do need the files processed in the order by which I have them listed in the file.