aubio  0.4.1
Typedefs | Functions
io/source.h File Reference

Media source to read blocks of consecutive audio samples from file. More...

Go to the source code of this file.

Typedefs

typedef struct _aubio_source_t aubio_source_t
 media source object

Functions

aubio_source_tnew_aubio_source (char_t *uri, uint_t samplerate, uint_t hop_size)
 create new aubio_source_t
void aubio_source_do (aubio_source_t *s, fvec_t *read_to, uint_t *read)
 read monophonic vector of length hop_size from source object
void aubio_source_do_multi (aubio_source_t *s, fmat_t *read_to, uint_t *read)
 read polyphonic vector of length hop_size from source object
uint_t aubio_source_get_samplerate (aubio_source_t *s)
 get samplerate of source object
uint_t aubio_source_get_channels (aubio_source_t *s)
 get channels of source object
uint_t aubio_source_seek (aubio_source_t *s, uint_t pos)
 seek source object
uint_t aubio_source_close (aubio_source_t *s)
 close source object
void del_aubio_source (aubio_source_t *s)
 close source and cleanup memory

Detailed Description

Media source to read blocks of consecutive audio samples from file.

To write to file, use aubio_sink_t.

Depending on how aubio was compiled, the following sources will be available.

When creating a new source using new_aubio_source, the new function of each of the compiled-in sources will be used, in the following order, until one of them gets successfully created. If all sources returned NULL, new_aubio_source will return NULL.

source_avcodec : libav

aubio can be optionally compiled with [libav](http://libav.org), which can read from a very large number of audio and video formats, including over different network protocols such as HTTP.

source_apple_audio : ExtAudioFileRef

On Mac and iOS platforms, aubio should be compiled with CoreAudio [Extended Audio File Services] (https://developer.apple.com/library/mac/documentation/MusicAudio/Reference/ExtendedAudioFileServicesReference/Reference/reference.html). This provides access to most common audio file formats, including compressed ones.

source_sndfile : libsndfile

Also optional, aubio can be built against [libsndfile](http://www.mega-nerd.com/libsndfile/), which can read [most uncompressed formats](http://www.mega-nerd.com/libsndfile/#Features).

source_wavread : native WAV reader

A simple source to read from 16-bits PCM RIFF encoded WAV files.

Definition in file source.h.


Function Documentation

close source object

Parameters:
ssource object, created with new_aubio_source
Returns:
0 if sucessful, non-zero on failure
void aubio_source_do ( aubio_source_t s,
fvec_t read_to,
uint_t read 
)

read monophonic vector of length hop_size from source object

Parameters:
ssource object, created with new_aubio_source
read_tofvec_t of data to read to
readupon returns, equals to number of frames actually read

Upon returns, `read` contains the number of frames actually read from the source. `hop_size` if enough frames could be read, less otherwise.

Examples:
io/test-sink.c, io/test-source.c, onset/test-onset.c, synth/test-sampler.c, and tempo/test-tempo.c.
void aubio_source_do_multi ( aubio_source_t s,
fmat_t read_to,
uint_t read 
)

read polyphonic vector of length hop_size from source object

Parameters:
ssource object, created with new_aubio_source
read_tofmat_t of data to read to
[out]readupon returns, equals to number of frames actually read

Upon returns, `read` contains the number of frames actually read from the source. `hop_size` if enough frames could be read, less otherwise.

Examples:
io/test-source_multi.c.

get channels of source object

Parameters:
ssource object, created with new_aubio_source
Returns:
channels
Examples:
io/test-source_multi.c.

get samplerate of source object

Parameters:
ssource object, created with new_aubio_source
Returns:
samplerate, in Hz
Examples:
io/test-sink.c, io/test-source.c, io/test-source_multi.c, onset/test-onset.c, synth/test-sampler.c, and tempo/test-tempo.c.

seek source object

Parameters:
ssource object, created with new_aubio_source
posposition to seek to, in frames
Returns:
0 if sucessful, non-zero on failure

close source and cleanup memory

Parameters:
ssource object, created with new_aubio_source
Examples:
io/test-sink.c, io/test-source.c, io/test-source_multi.c, onset/test-onset.c, synth/test-sampler.c, and tempo/test-tempo.c.
aubio_source_t* new_aubio_source ( char_t uri,
uint_t  samplerate,
uint_t  hop_size 
)

create new aubio_source_t

Parameters:
urithe file path or uri to read from
sampleratesampling rate to view the fie at
hop_sizethe size of the blocks to read from

Creates a new source object. If `0` is passed as `samplerate`, the sample rate of the original file is used.

The samplerate of newly created source can be obtained using aubio_source_get_samplerate.

Examples:
io/test-sink.c, io/test-source.c, io/test-source_multi.c, onset/test-onset.c, synth/test-sampler.c, and tempo/test-tempo.c.
 All Data Structures Files Functions Variables Typedefs Defines