#!/usr/bin/tclsh set ffmpeg [exec which ffmpeg] puts "ffmpeg = $ffmpeg" if { [llength $argv] < 2 } { puts "\n$argv0n bps\n" exit -1 } set fi [lindex $argv 0] set br [lindex $argv 1] puts "$fi" puts "target $br bps" if { [regexp -all {(.*)\.([mM][pP]3)} $fi a b c] } { set fo "${b}_${br}bps.$c" puts "$fi ==> $fo, ext=$c, new bitrate=$br" set id3 [exec id3v2 -l $fi] set id3par "" if { [regexp -line {TIT2.*: (.*)\n} $id3 dummy title c] } { puts Title=$title } if { [regexp -line {TPE1.*: (.*)\n} $id3 dummy singer c] } { puts singer=$singer } if { [regexp -line {TALB.*: (.*)\n} $id3 dummy album c] } { puts album=$album } if { [regexp -line {TYER.*: (.*)\n} $id3 dummy year c] } { puts year=$year } if { [regexp -line {TCON.*\(([0-9]+)\)\n} $id3 dummy genre c] } { puts genre=$genre } set cmd "$ffmpeg -threads 16 -y -ab $br -i $fi $fo" if {![file exists $fo]} { if { [catch { set res [eval exec $cmd] fid }] } { #puts stderr "Could not execute $cmd" if {[info exists fid] } { puts stderr $fid" } #exit 1 } } if {[info exists title]} { append idpar " --TIT2 \"$title\"" } if {[info exists singer]} { append idpar " --TPE1 \"$singer\"" } if {[info exists album]} { append idpar " --TALB \"$album\"" } if {[info exists year]} { append idpar " --TYER \"$year\"" } if {[info exists genre]} { append idpar " --TCON \"$genre\"" } set cmd "id3v2 $idpar $fo" puts $cmd if { [file exists $fo]} { eval exec $cmd } } else { puts "Not an MP3 file" }
Sunday, November 14, 2010
Downsampling MP3 file
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment