The FeatureSet Object
An interactive Tk-based display, which shows features in different ways. Playing of SVector features (ADCs) is supported as well as displaying Janus labels.
An interactive Tk-based control panel using featshow . Menu to read and write audio files, process them and convert into FMatrix features like spectrum, melscale and others.
Prints out a single frame (FMatrix feature) or sample (SVector feature):
proc showFrame {fs feature frame} {
set out [$fs : $feature . data]
puts [lindex [lindex $out 0] $frame]
}
#----------------------------------------------
# You can define new methods for an object type
# using the method 'method':
FeatureSet method normCh fesNormChannel -text \
"normalize each channel of a FMatrix feature"
# Now you can use:
# % FeatureSet fs
# % ...
# % fs normCh NEW OLD
#----------------------------------------------
proc fesNormChannel {fs fenew feold} {
if [catch "set coeffN [$fs:$feold configure -coeffN]"] {return -1}
if {$coeffN<1} {
$fs FMatrix $fenew 0 0
return 0
}
$fs split $fenew $feold 0 0
$fs normalize $fenew $fenew
for {set i 1} {$i < $coeffN} {incr i} {
$fs split fespl $feold $i $i
$fs normalize fespl fespl
$fs merge $fenew $fenew fespl
}
$fs delete fespl
return $coeffN
}