aubio  0.4.0
 All Data Structures Files Functions Variables Typedefs Macros
Typedefs | Functions
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 More...
 
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 More...
 
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 More...
 
uint_t aubio_source_get_samplerate (aubio_source_t *s)
 get samplerate of source object More...
 
uint_t aubio_source_get_channels (aubio_source_t *s)
 get channels of source object More...
 
uint_t aubio_source_seek (aubio_source_t *s, uint_t pos)
 seek source object More...
 
void del_aubio_source (aubio_source_t *s)
 close source and cleanup memory More...
 

Detailed Description

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

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

To write to file, use aubio_sink_t.

source_avcodec : libav

aubio can be optionally compiled with libav, 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. This provides access to most common audio file formats, including compressed ones.

source_sndfile : libsndfile

Also optional, aubio can be built against libsndfile, which can read most uncompressed formats.

Definition in file source.h.

Function Documentation

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.
uint_t aubio_source_get_channels ( aubio_source_t s)

get channels of source object

Parameters
ssource object, created with new_aubio_source
Returns
channels
Examples:
io/test-source_multi.c.
uint_t aubio_source_get_samplerate ( aubio_source_t s)

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.
uint_t aubio_source_seek ( aubio_source_t s,
uint_t  pos 
)

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
void del_aubio_source ( aubio_source_t s)

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, 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.