A wav is a [windows] format sound file. ---- [AF] - here is a small package I started for reading some basic info from wav files. package provide wav 0.1 namespace eval ::wav {} proc ::wav::info {file} { set fh [open $file r] binary scan [read $fh 12] A4iA4 sig1 len sig2 if {$sig1 != "RIFF" || $sig2 != "WAVE"} { close $fh; return -code error "Not a WAV file" } binary scan [read $fh 24] A4issiiss id size format channels samplerate byterate align bitrate set len [expr {[file size $file] - [tell $fh] - 8 - ($size - 16)}] close $fh return [list format $format channels $channels samplerate $samplerate byterate $byterate bitrate $bitrate size $len] } array set data [::wav::info $argv] if {$data(channels) == 1} { set chans mono } elseif {$data(channels) == 2} { set chans stereo } else { set chans "$data(channels) channels" } puts "$argv: [expr {$data(size) / double($data(byterate))}] seconds, [expr {int($data(samplerate) / 1000.00)}]KHz, $data(bitrate)bit, $chans" ---- [Category Sound]