speech-tools/scripts/raw_to_xgraph.prl
2015-09-19 10:52:26 +02:00

115 lines
3.5 KiB
Plaintext

#!__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 <rjc@cstr.ed.ac.uk>
# * @version $Id: raw_to_xgraph.prl,v 1.2 2001/04/04 13:11:27 awb Exp $
# */
sub useage
{
print <<END;
Convert raw sample data into something xgraph can plot.
Useage: raw_to_xgraph [-help] [ RAW_SAMPLE_DATA_FILE ]
-sr NNN Wave sample rate.
-help Print this help message
END
}
#__SHARED_SETUP__
$stream = STDIN;
$sample_rate = 1;
while ($#ARGV>=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);