music.makeWav
Description
This script decodes all mp3 or ogg files in the current directory to wave files.
Required programs
Download
Source code
1#!/bin/sh
2# the next line restarts using tclsh \
3exec tclsh "$0" "$@"
4
5#
6# required programs:
7# lame
8# ogg123
9#
10
11
12foreach file [lsort [glob -nocomplain -types f *.{ogg,mp3}]] {
13 set ext [file extension $file]
14
15 set new_file "[file rootname $file].wav"
16
17 if {[file exists $new_file]} then {
18 puts "ERROR: $file not decoded. Target file already exists"
19 unset file ext new_file
20 continue
21 }
22
23 puts -nonewline "Deccoding $file .. "
24 flush stdout
25
26 if {$ext == ".ogg"} then {
27 exec ogg123 --quiet -d wav $file -f $new_file
28 }
29
30 if {$ext == ".mp3"} then {
31 catch {exec lame --quiet --decode $file $new_file}
32 }
33
34 puts "Done"
35
36 unset file ext new_file
37}