IT++ Logo
Public Member Functions | List of all members
itpp::SND_In_File Class Reference

Class to read audio data from au file. More...

#include <itpp/srccode/audiofile.h>

Public Member Functions

 SND_In_File ()
 Default constructor - creates uninitialized stream.
 SND_In_File (const char *fname)
 Constructor from file name fname.
 ~SND_In_File ()
 Stream destructor.
bool open (const char *fname)
 Open the file fname.
void close ()
 Close the file.
Audio_Stream_Description get_description () const
 Get stream description.
bool seek_read (std::streamoff pos)
 Go to sample number pos.
std::streamoff tell_read ()
 Get current position in samples.
std::streamoff num_samples () const
 Get number of samples in stream.
bool read_sample (double &s, int ch=0)
 Read single sample s at current position to channel ch.
vec read_channel (int n, int ch=0)
 Read n samples from channel ch starting at current position.
mat read (int n)
 Read n samples from all channels starting at current position into matrix.

Detailed Description

Class to read audio data from au file.

Input stream of audio samples uses binary stream to get encoded audio data from snd audio file. Audio can be read as single sample from current read position in audio stream, as a vector of samples containing data from single audio channel or as matrix with audio channels stored columnwise.

Following example illustratates read operations with SND_In_File

using namespace itpp;
int main() {
//create audio stream
SND_In_File f_in("");
//get description
//read 100 audio samples if file contains stereo data on 8 kHz sampling rate
mat in(100,2); vec first_channel(100); vec second_channel(100);
if((d.get_num_channels == 2) && (d.get_sampling_rate() == 8000) && (f_in.num_samples()>=100))
in =;
f_in.seek_read(0); //reposition to the first sample
first_channel = f_in.read_channel(100); //read first channel
f_in.seek_read(0); //reposition to the first sample
second_channel = f_in.read_channel(100,1); //read second channel
return 0;

Definition at line 176 of file audiofile.h.

The documentation for this class was generated from the following file:
SourceForge Logo

Generated on Sat Jul 6 2013 10:54:34 for IT++ by Doxygen 1.8.2