Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 0e54ba0ee564ce6063a5e83aa86060c5 > files > 252

festival-speechtools-devel-1.2.96-18.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  EST_Wave</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.6">
</HEAD>
 <body bgcolor="#ffffff" link="#0000ff" 
	vlink="#dd0000" text="#000088" alink="9000ff">

<A HREF = "http://www.cstr.ed.ac.uk/">
   <IMG align=left BORDER=0 SRC = "cstr.gif"></A> 
<A HREF="http://www.cstr.ed.ac.uk/projects/speech_tools.html">
	<IMG BORDER=0 ALIGN=right SRC="est.jpg" width=150 height=93></A>
<br>

<br clear=left>
<p align=right>

In file ../include/EST_Wave.h:<TABLE BORDER=0><TR>
<TD VALIGN=TOP><H2>class  <A HREF="#DOC.DOCU">EST_Wave</A></H2></TD></H2></TD></TR></TABLE>
<BLOCKQUOTE>A class for storing digital waveforms.</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="CEST_Featured,MEST_Featured.html,CEST_Wave,MEST_Wave.html,CEST_SingleChannelWave,MEST_SingleChannelWave.html">
<param name=before value="M,M,M^_">
<param name=after value="Md_,M,M">
<param name=indent value="0,1,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><TABLE>
<DT><H3>Public Methods</H3><DD><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>EST_Wave</B> ()<BR>
<I>default constructor</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>EST_Wave</B> (const <!1><A HREF="EST_Wave.html#DOC.81.2">EST_Wave</A> &amp;<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR>
<I>copy constructor</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>EST_Wave</B> (int samps, int chans, short* <!1><A HREF="EST_TVector.html#DOC.15.1.19">memory</A>, int offset=0, int <!1><A HREF="EST_Wave.html#DOC.81.5.3">sample_rate</A>=default_sample_rate, int free_when_destroyed=0)<BR>
<I>Construct from memory supplied by caller</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Access functions for finding ampltiudes of samples </B> <BR>
<I></I>
<P><TABLE>
<TR>
<TD VALIGN=TOP><A HREF="#DOC.81.4.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>short&amp; </TD><TD><B>a</B> (int i, int <!1><A HREF="EST_Track.html#DOC.71.4.2">channel</A> = 0)<BR>
<I>return amplitude of sample &lt;tt&gt;i&lt;/tt&gt; from channel &lt;tt&gt; channel&lt;/tt&gt;.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.4.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>short </TD><TD><B>operator()</B> (int i, int <!1><A HREF="EST_Track.html#DOC.71.4.2">channel</A>) const <BR>
<I>return amplitude of sample &lt;tt&gt;i&lt;/tt&gt; from channel &lt;tt&gt; channel&lt;/tt&gt;.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.4.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>short </TD><TD><B>operator()</B> (int i) const <BR>
<I>return amplitude of sample &lt;tt&gt;i&lt;/tt&gt; from channel 0.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.4.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>short&amp; </TD><TD><B>a_safe</B> (int i, int <!1><A HREF="EST_Track.html#DOC.71.4.2">channel</A> = 0)<BR>
<I>Version of a() that returns zero if index is out of array bounds.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.4.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float </TD><TD><B>t</B> (int i) const <BR>
<I>return the time position in seconds of the ith sample</I>
</TD></TR></TABLE></P>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Information functions </B> <BR>
<I></I>
<P><TABLE>
<TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>num_samples</B> () const <BR>
<I>return the number of samples in the waveform</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>num_channels</B> () const <BR>
<I>return the number of channels in the waveform</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>sample_rate</B> () const <BR>
<I>return the sampling rate (frequency)</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set_sample_rate</B> (const int <!1><A HREF="EST_TVector.html#DOC.15.1.20.3">n</A>)<BR>
<I>Set sampling rate to &lt;tt&gt;n&lt;/tt&gt;</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>length</B> () const <BR>
<I>return the size of the waveform, ie.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float </TD><TD><B>end</B> ()<BR>
<I>return the time position of the last sample</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool </TD><TD><B>have_left_context</B> (unsigned int <!1><A HREF="EST_TVector.html#DOC.15.1.20.3">n</A>) const <BR>
<I>Can we look N samples to the left?</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_String.html">EST_String</A> </TD><TD><B>sample_type</B> () const <BR>
<I>returns the file format of the file from which the waveform was read.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_String.html">EST_String</A> </TD><TD><B>name</B> () const <BR>
<I>A string indentifying the waveform, commonly used to store the filename</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.5.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>set_name</B> (const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_TVector.html#DOC.15.1.20.3">n</A>)<BR>
<I>Sets name</I>
</TD></TR></TABLE></P>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Waveform manipulation functions </B> <BR>
<I></I>
<P><TABLE>
<TR>
<TD VALIGN=TOP><A HREF="#DOC.81.6.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>resize</B> (int <!1><A HREF="EST_Wave.html#DOC.81.5.1">num_samples</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.2">num_channels</A> = EST_ALL, int <!1><A HREF="set.html">set</A>=1)<BR>
<I>resize the waveform </I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.6.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>resample</B> (int rate)<BR>
<I>Resample waveform to &lt;tt&gt;rate&lt;/tt&gt;</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.6.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>rescale</B> (float gain, int normalize=0)<BR>
<I>multiply all samples by a factor &lt;tt&gt;gain&lt;/tt&gt;.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.6.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>clear</B> ()<BR>
<I>clear waveform and set size to 0</I>
</TD></TR></TABLE></P>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>File i/o functions </B> <BR>
<I></I>
<P><TABLE>
<TR>
<TD VALIGN=TOP><A HREF="#DOC.81.7.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_read_status.html">EST_read_status</A> </TD><TD><B>load</B> (const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_TokenStream.html#DOC.10.7.9">filename</A>, int offset=0, int <!1><A HREF="EST_Wave.html#DOC.81.5.5">length</A> = 0, int rate = default_sample_rate)<BR>
<I>Load a file into the waveform.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.7.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_read_status.html">EST_read_status</A> </TD><TD><B>load_file</B> (const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_TokenStream.html#DOC.10.7.9">filename</A>, const <!1><A HREF="EST_String.html">EST_String</A> filetype, int <!1><A HREF="EST_Wave.html#DOC.81.5.3">sample_rate</A>, const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_Wave.html#DOC.81.5.8">sample_type</A>, int bo, int nc, int offset = 0, int <!1><A HREF="EST_Wave.html#DOC.81.5.5">length</A> = 0)<BR>
<I>Load a file of type &lt;tt&gt;filetype&lt;/tt&gt; into the waveform.</I>
</TD></TR></TABLE></P>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; </TD><TD><B>operator = </B> (const <!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; <!1><A HREF="EST_TrieNode.html#DOC.12.1">w</A>)<BR>
<I>Assignment operator</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; </TD><TD><B>operator +=</B> (const <!1><A HREF="EST_Wave.html">EST_Wave</A> &amp;<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR>
<I>Add to existing wave in serial.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; </TD><TD><B>operator |=</B> (const <!1><A HREF="EST_Wave.html">EST_Wave</A> &amp;<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR>
<I>Add wave in parallel, ie.</I>
</TD></TR><TR>
<TD VALIGN=TOP><A HREF="#DOC.81.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>integrity</B> () const <BR>
<I></I>
</TD></TR></TABLE></P>

</DL>
<HR><H3>Inherited from <A HREF="EST_Featured.html">EST_Featured</A>:</H3>
<DL>
</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>A class for storing digital waveforms. The waveform is stored as
an arraay of 16 bit shorts. Mutliple channels are supported, but if no
channel information is given the 0th channel is accessed.
&lt;p&gt;

<P>The waveforms can be of any sample rate, and can be changed to another
samping rate using the &lt;tt&gt;resample&lt;/tt&gt; function.
</BLOCKQUOTE>
<DL>

<A NAME="EST_Wave"></A>
<A NAME="DOC.81.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> EST_Wave()</B></TT>
<DD>default constructor
<DL><DT><DD></DL><P>
<A NAME="EST_Wave"></A>
<A NAME="DOC.81.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> EST_Wave(const <!1><A HREF="EST_Wave.html#DOC.81.2">EST_Wave</A> &amp;<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT>
<DD>copy constructor
<DL><DT><DD></DL><P>
<A NAME="EST_Wave"></A>
<A NAME="DOC.81.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> EST_Wave(int samps, int chans, short* <!1><A HREF="EST_TVector.html#DOC.15.1.19">memory</A>, int offset=0, int <!1><A HREF="EST_Wave.html#DOC.81.5.3">sample_rate</A>=default_sample_rate, int free_when_destroyed=0)</B></TT>
<DD>Construct from memory supplied by caller
<DL><DT><DD></DL><P>
<A NAME="Access functions for finding ampltiudes of samples "></A>
<A NAME="DOC.81.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Access functions for finding ampltiudes of samples </B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="a"></A>
<A NAME="DOC.81.4.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>short&amp; a(int i, int <!1><A HREF="EST_Track.html#DOC.71.4.2">channel</A> = 0)</B></TT>
<DD>return amplitude of sample &lt;tt&gt;i&lt;/tt&gt; from channel &lt;tt&gt;
channel&lt;/tt&gt;.  By default the 0th channel is selected. This
function can be used for assignment.
<DL><DT><DD></DL><P>
<A NAME="operator()"></A>
<A NAME="DOC.81.4.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>short operator()(int i, int <!1><A HREF="EST_Track.html#DOC.71.4.2">channel</A>) const </B></TT>
<DD>return amplitude of sample &lt;tt&gt;i&lt;/tt&gt; from channel &lt;tt&gt;
channel&lt;/tt&gt;.  By default the 0th channel is selected.
<DL><DT><DD></DL><P>
<A NAME="operator()"></A>
<A NAME="DOC.81.4.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>short operator()(int i) const </B></TT>
<DD>return amplitude of sample &lt;tt&gt;i&lt;/tt&gt; from channel 0. 
<DL><DT><DD></DL><P>
<A NAME="a_safe"></A>
<A NAME="DOC.81.4.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>short&amp; a_safe(int i, int <!1><A HREF="EST_Track.html#DOC.71.4.2">channel</A> = 0)</B></TT>
<DD>Version of a() that returns zero if index is out of array
bounds.  This is particularly useful in signal processing when
you want to have windows going off the end of the waveform.  
<DL><DT><DD></DL><P>
<A NAME="t"></A>
<A NAME="DOC.81.4.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float t(int i) const </B></TT>
<DD>return the time position in seconds of the ith sample
<DL><DT><DD></DL><P></DL>

<A NAME="Information functions "></A>
<A NAME="DOC.81.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Information functions </B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="num_samples"></A>
<A NAME="DOC.81.5.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int num_samples() const </B></TT>
<DD>return the number of samples in the waveform
<DL><DT><DD></DL><P>
<A NAME="num_channels"></A>
<A NAME="DOC.81.5.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int num_channels() const </B></TT>
<DD>return the number of channels in the waveform
<DL><DT><DD></DL><P>
<A NAME="sample_rate"></A>
<A NAME="DOC.81.5.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int sample_rate() const </B></TT>
<DD>return the sampling rate (frequency)
<DL><DT><DD></DL><P>
<A NAME="set_sample_rate"></A>
<A NAME="DOC.81.5.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set_sample_rate(const int <!1><A HREF="EST_TVector.html#DOC.15.1.20.3">n</A>)</B></TT>
<DD>Set sampling rate to &lt;tt&gt;n&lt;/tt&gt;
<DL><DT><DD></DL><P>
<A NAME="length"></A>
<A NAME="DOC.81.5.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int length() const </B></TT>
<DD>return the size of the waveform, ie. the number of samples.
<DL><DT><DD></DL><P>
<A NAME="end"></A>
<A NAME="DOC.81.5.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float end()</B></TT>
<DD>return the time position of the last sample
<DL><DT><DD></DL><P>
<A NAME="have_left_context"></A>
<A NAME="DOC.81.5.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool have_left_context(unsigned int <!1><A HREF="EST_TVector.html#DOC.15.1.20.3">n</A>) const </B></TT>
<DD>Can we look N samples to the left?
<DL><DT><DD></DL><P>
<A NAME="sample_type"></A>
<A NAME="DOC.81.5.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_String.html">EST_String</A> sample_type() const </B></TT>
<DD>returns the file format of the file from which the waveform
was read. If the waveform has not been read from a file, this is set
to the default type 
<DL><DT><DD></DL><P>
<A NAME="name"></A>
<A NAME="DOC.81.5.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_String.html">EST_String</A> name() const </B></TT>
<DD>A string indentifying the waveform, commonly used to store the filename
<DL><DT><DD></DL><P>
<A NAME="set_name"></A>
<A NAME="DOC.81.5.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set_name(const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_TVector.html#DOC.15.1.20.3">n</A>)</B></TT>
<DD>Sets name
<DL><DT><DD></DL><P></DL>

<A NAME="Waveform manipulation functions "></A>
<A NAME="DOC.81.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Waveform manipulation functions </B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="resize"></A>
<A NAME="DOC.81.6.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void resize(int <!1><A HREF="EST_Wave.html#DOC.81.5.1">num_samples</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.2">num_channels</A> = EST_ALL, int <!1><A HREF="set.html">set</A>=1)</B></TT>
<DD>resize the waveform 
<DL><DT><DD></DL><P>
<A NAME="resample"></A>
<A NAME="DOC.81.6.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void resample(int rate)</B></TT>
<DD>Resample waveform to &lt;tt&gt;rate&lt;/tt&gt;
<DL><DT><DD></DL><P>
<A NAME="rescale"></A>
<A NAME="DOC.81.6.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void rescale(float gain, int normalize=0)</B></TT>
<DD>multiply all samples by a factor &lt;tt&gt;gain&lt;/tt&gt;. This checks for
overflows and puts them to the maximum positive or negative value
as appropriate.
<DL><DT><DD></DL><P>
<A NAME="clear"></A>
<A NAME="DOC.81.6.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void clear()</B></TT>
<DD>clear waveform and set size to 0
<DL><DT><DD></DL><P></DL>

<A NAME="File i/o functions "></A>
<A NAME="DOC.81.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> File i/o functions </B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="load"></A>
<A NAME="DOC.81.7.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_read_status.html">EST_read_status</A> load(const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_TokenStream.html#DOC.10.7.9">filename</A>, int offset=0, int <!1><A HREF="EST_Wave.html#DOC.81.5.5">length</A> = 0, int rate = default_sample_rate)</B></TT>
<DD>Load a file into the waveform. The load routine attempts to
automatically determine which file type is being loaded.  A
portion of the waveform can be loaded by setting &lt;tt&gt;
offset&lt;/tt&gt; to the sample position from the beginning and
&lt;length&gt; to the number of required samples after this.  
<DL><DT><DD></DL><P>
<A NAME="load_file"></A>
<A NAME="DOC.81.7.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_read_status.html">EST_read_status</A> load_file(const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_TokenStream.html#DOC.10.7.9">filename</A>, const <!1><A HREF="EST_String.html">EST_String</A> filetype, int <!1><A HREF="EST_Wave.html#DOC.81.5.3">sample_rate</A>, const <!1><A HREF="EST_String.html">EST_String</A> <!1><A HREF="EST_Wave.html#DOC.81.5.8">sample_type</A>, int bo, int nc, int offset = 0, int <!1><A HREF="EST_Wave.html#DOC.81.5.5">length</A> = 0)</B></TT>
<DD>Load a file of type &lt;tt&gt;filetype&lt;/tt&gt; into the waveform. This
can be used to load unheadered files, in which case the fields
&lt;tt&gt;sample_rate, sample_type, bo&lt;/tt&gt; and &lt;tt&gt;nc&lt;/tt&gt; are used
to specify the sample rate, type, byte order and number of
channels.  A portion of the waveform can be loaded by setting
&lt;tt&gt; offset&lt;/tt&gt; to the sample position from the beginning and
&lt;length&gt; to the number of required samples after this.
<DL><DT><DD></DL><P></DL>

<A NAME="operator = "></A>
<A NAME="DOC.81.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; operator = (const <!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; <!1><A HREF="EST_TrieNode.html#DOC.12.1">w</A>)</B></TT>
<DD>Assignment operator
<DL><DT><DD></DL><P>
<A NAME="operator +="></A>
<A NAME="DOC.81.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; operator +=(const <!1><A HREF="EST_Wave.html">EST_Wave</A> &amp;<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT>
<DD>Add to existing wave in serial. Waveforms must have the same
number of channels.
<DL><DT><DD></DL><P>
<A NAME="operator |="></A>
<A NAME="DOC.81.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_Wave.html">EST_Wave</A>&amp; operator |=(const <!1><A HREF="EST_Wave.html">EST_Wave</A> &amp;<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT>
<DD>Add wave in parallel, ie. make wave &lt;tt&gt;a&lt;/tt&gt; become new
channels in existing waveform.
<DL><DT><DD></DL><P>
<A NAME="integrity"></A>
<A NAME="DOC.81.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void integrity() const </B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="EST_SingleChannelWave.html">EST_SingleChannelWave</A><BR>
</DL>

<DL><DT><DT><B>Friends:</B><DD>  ostream&amp; operator &lt;&lt; (ostream&amp; p_values, const <!1><A HREF="EST_Wave.html">EST_Wave</A> &amp;sig)<BR><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<A HREF = "http://www.ed.ac.uk/">
   <IMG align=right BORDER=0 SRC = "edcrest.gif"></A>

<P Align=left><I>This page is part of the 
<A HREF="http://www.cstr.ed.ac.uk/projects/speech_tools.html">
Edinburgh Speech Tools Library</A> documentation
<br>
Copyright <A HREF="http://www.ed.ac.uk"> University of Edinburgh</A> 1997
<br>
Contact: <A HREF="mailto:speech_toolss@cstr.ed.ac.uk"> 
         speech_tools@cstr.ed.ac.uk </a>
</P>
<br clear=right>