Analyzer from External librairies

Aubio

aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. See http://aubio.org/

Aubio Melenergy

class timeside.plugins.analyzer.externals.aubio_melenergy.AubioMelEnergy[source]

Bases: timeside.core.analyzer.Analyzer

Aubio Mel Energy analyzer

static id()[source]

Short alphanumeric, lower-case string which uniquely identify this processor, suitable for use as an HTTP/GET argument value, in filenames, etc…

static name()[source]

Return the analyzer name, such as “Mean Level”, “Max level”, “Total length, etc..

post_process()[source]
process(analyzer, frames, eod)[source]
setup(channels=None, samplerate=None, blocksize=None, totalframes=None)[source]

Allocate internal resources and reset state, so that this processor is ready for a new run.

The channels, samplerate and/or blocksize and/or totalframes arguments may be required by processors which accept input. An error will occur if any of these arguments is passed to an output-only processor such as a decoder.

static unit()[source]

Return the unit of the data such as “dB”, “seconds”, etc…

Aubio MFCC

class timeside.plugins.analyzer.externals.aubio_mfcc.AubioMfcc[source]

Bases: timeside.core.analyzer.Analyzer

Aubio MFCC analyzer

static id()[source]

Short alphanumeric, lower-case string which uniquely identify this processor, suitable for use as an HTTP/GET argument value, in filenames, etc…

static name()[source]

Return the analyzer name, such as “Mean Level”, “Max level”, “Total length, etc..

post_process()[source]
process(analyzer, frames, eod)[source]
setup(channels=None, samplerate=None, blocksize=None, totalframes=None)[source]

Allocate internal resources and reset state, so that this processor is ready for a new run.

The channels, samplerate and/or blocksize and/or totalframes arguments may be required by processors which accept input. An error will occur if any of these arguments is passed to an output-only processor such as a decoder.

static unit()[source]

Return the unit of the data such as “dB”, “seconds”, etc…

Aubio Pitch

class timeside.plugins.analyzer.externals.aubio_pitch.AubioPitch(blocksize_s=None, stepsize_s=None)[source]

Bases: timeside.core.analyzer.Analyzer

Aubio Pitch estimation analyzer

static id()[source]

Short alphanumeric, lower-case string which uniquely identify this processor, suitable for use as an HTTP/GET argument value, in filenames, etc…

static name()[source]

Return the analyzer name, such as “Mean Level”, “Max level”, “Total length, etc..

post_process()[source]
process(analyzer, frames, eod)[source]
setup(channels=None, samplerate=None, blocksize=None, totalframes=None)[source]

Allocate internal resources and reset state, so that this processor is ready for a new run.

The channels, samplerate and/or blocksize and/or totalframes arguments may be required by processors which accept input. An error will occur if any of these arguments is passed to an output-only processor such as a decoder.

static unit()[source]

Return the unit of the data such as “dB”, “seconds”, etc…

Aubio Spectral Descriptors collection

class timeside.plugins.analyzer.externals.aubio_specdesc.AubioSpecdesc[source]

Bases: timeside.core.analyzer.Analyzer

Aubio Spectral Descriptors collection analyzer

static id()[source]

Short alphanumeric, lower-case string which uniquely identify this processor, suitable for use as an HTTP/GET argument value, in filenames, etc…

static name()[source]

Return the analyzer name, such as “Mean Level”, “Max level”, “Total length, etc..

post_process()[source]
process(analyzer, frames, eod)[source]
setup(channels=None, samplerate=None, blocksize=None, totalframes=None)[source]

Allocate internal resources and reset state, so that this processor is ready for a new run.

The channels, samplerate and/or blocksize and/or totalframes arguments may be required by processors which accept input. An error will occur if any of these arguments is passed to an output-only processor such as a decoder.

static unit()[source]

Return the unit of the data such as “dB”, “seconds”, etc…

Aubio Temporal

class timeside.plugins.analyzer.externals.aubio_temporal.AubioTemporal[source]

Bases: timeside.core.analyzer.Analyzer

Aubio Temporal analyzer

static id()[source]

Short alphanumeric, lower-case string which uniquely identify this processor, suitable for use as an HTTP/GET argument value, in filenames, etc…

static name()[source]

Return the analyzer name, such as “Mean Level”, “Max level”, “Total length, etc..

post_process()[source]
process(analyzer, frames, eod)[source]
setup(channels=None, samplerate=None, blocksize=None, totalframes=None)[source]

Allocate internal resources and reset state, so that this processor is ready for a new run.

The channels, samplerate and/or blocksize and/or totalframes arguments may be required by processors which accept input. An error will occur if any of these arguments is passed to an output-only processor such as a decoder.

static unit()[source]

Return the unit of the data such as “dB”, “seconds”, etc…

Yaafe

Module Yaafe Analyzer

class timeside.plugins.analyzer.externals.yaafe.Yaafe(feature_plan=None, input_samplerate=32000)[source]

Bases: timeside.core.analyzer.Analyzer

Yaafe feature extraction library interface analyzer

Parameters:

feature_plan : list, optional

Yaafe feature plan as a list of feature definition, default to [‘mfcc: MFCC blockSize=512 stepSize=256’]

input_samplerate : int, optional

The samplerate, default to 32000.

Examples

>>> import timeside
>>> from timeside.core.tools.test_samples import samples
>>> from timeside.core import get_processor
>>> source = samples['C4_scale.wav']
>>> FileDecoder = get_processor('file_decoder')
>>> YaafeAnalyzer = get_processor('yaafe')
>>> # feature extraction defition
>>> feature_plan = ['mfcc: MFCC CepsIgnoreFirstCoeff=0 blockSize=1024 stepSize=256',
...                 'mfccd1: MFCC CepsIgnoreFirstCoeff=0 blockSize=1024 stepSize=256 > Derivate DOrder=1',
...                 'mfccd2: MFCC CepsIgnoreFirstCoeff=0 blockSize=1024 stepSize=256 > Derivate DOrder=2',
...                 'zcr: ZCR blockSize=1024 stepSize=256']
>>> decoder = FileDecoder(uri=source)
>>> yaafe = YaafeAnalyzer(feature_plan=feature_plan,
...                       input_samplerate=16000)
>>> pipe = (decoder | yaafe)
>>> pipe.run()
>>> print yaafe.results.keys()
['yaafe.mfccd1', 'yaafe.mfcc', 'yaafe.mfccd2', 'yaafe.zcr']
>>> # Access to one of the result:
>>> res_mfcc = yaafe.results['yaafe.mfcc']
>>> print type(res_mfcc.data_object)
<class 'timeside.core.analyzer.FrameValueObject'>
>>> res_mfcc.data  
array([[...]])
force_samplerate

Yaafe analyzer force the pipe samplerate to match the input_samplerate parameters

static id()[source]

Short alphanumeric, lower-case string which uniquely identify this processor, suitable for use as an HTTP/GET argument value, in filenames, etc…

static name()[source]

Return the analyzer name, such as “Mean Level”, “Max level”, “Total length, etc..

post_process()[source]
process(analyzer, frames, eod)[source]
setup(channels=None, samplerate=None, blocksize=None, totalframes=None)[source]

Allocate internal resources and reset state, so that this processor is ready for a new run.

The channels, samplerate and/or blocksize and/or totalframes arguments may be required by processors which accept input. An error will occur if any of these arguments is passed to an output-only processor such as a decoder.

static unit()[source]

Return the unit of the data such as “dB”, “seconds”, etc…