#!__PERL__ -w ########################################################################### ## ## ## Centre for Speech Technology Research ## ## University of Edinburgh, UK ## ## Copyright (c) 1996 ## ## All Rights Reserved. ## ## ## ## Permission is hereby granted, free of charge, to use and distribute ## ## this software and its documentation without restriction, including ## ## without limitation the rights to use, copy, modify, merge, publish, ## ## distribute, sublicense, and/or sell copies of this work, and to ## ## permit persons to whom this work is furnished to do so, subject to ## ## the following conditions: ## ## 1. The code must retain the above copyright notice, this list of ## ## conditions and the following disclaimer. ## ## 2. Any modifications must be clearly marked as such. ## ## 3. Original authors' names are not deleted. ## ## 4. The authors' names are not used to endorse or promote products ## ## derived from this software without specific prior written ## ## permission. ## ## ## ## THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK ## ## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ## ## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ## ## SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE ## ## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ## ## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ## ## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ## ## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ## ## THIS SOFTWARE. ## ## ## ########################################################################### # /*@name raw_to_xgraph # * # * A simple script to convert raw sample data to something # * xgraph can plot. # * # * @author Richard Caley # * @version $Id: raw_to_xgraph.prl,v 1.2 2001/04/04 13:11:27 awb Exp $ # */ sub useage { print <=0) { if ($ARGV[0] =~ /-+h(elp)?/) { useage(); exit(0); } elsif ($ARGV[0] =~ /-+s(ample)?-?r?(ate)?/) { shift @ARGV; $sample_rate = $ARGV[0]; shift @ARGV; } else { last; } } if ($#ARGV>=0) { open(INPUT, $ARGV[0]) || die "can't open '$ARGV[0]' - $!"; $stream = INPUT; } if ($#ARGV >= 0) { useage(); exit(1); } binmode $stream; $c=0; while(sysread($stream, $buf, 256)) { foreach $i (unpack("s*", $buf)) { print "",($c++ + 0.0)/$sample_rate, " ", $i, "\n"; } } if ($stream eq INPUT) { close(INPUT); } exit(0);