Bånder

Audio2Midi extends BaseAlgorithm
in package

Audio2Midi

Inputs:

[vector_real] frame - the input frame to analyse

Outputs:

[real] pitch - pitch given in Hz [real] loudness - detected loudness in decibels [vector_string] messageType - the output of MIDI message type, as string, {noteoff, noteon, noteoff-noteon} [vector_real] midiNoteNumber - the output of detected MIDI note number, as integer, in range [0,127] [vector_real] timeCompensation - time to be compensated in the messages

Parameters:

applyTimeCompensation: bool ∈ {true,false} (default = true) whether to apply time compensation correction to MIDI note detection

hopSize: integer ∈ [1,inf) (default = 32) equivalent to I/O buffer size

loudnessThreshold: real ∈ [-inf,0] (default = -51) loudness level above/below which note ON/OFF start to be considered, in decibels

maxFrequency: real ∈ [10,20000] (default = 2300) maximum frequency to detect in Hz

midiBufferDuration: real ∈ [0.005,0.5] (default = 0.0500000007451) duration in seconds of buffer used for voting in MidiPool algorithm

minFrequency: real ∈ [10,20000] (default = 60) minimum frequency to detect in Hz

minNoteChangePeriod: real ∈ (0,1] (default = 0.0299999993294) minimum time to wait until a note change is detected (testing only)

minOccurrenceRate: real ∈ [0,1] (default = 0.5) rate of predominant pitch occurrence in MidiPool buffer to consider note ON event

minOffsetCheckPeriod: real ∈ (0,1] (default = 0.20000000298) minimum time to wait until an offset is detected (testing only)

minOnsetCheckPeriod: real ∈ (0,1] (default = 0.0750000029802) minimum time to wait until an onset is detected (testing only)

pitchConfidenceThreshold: real ∈ [0,1] (default = 0.25) level of pitch confidence above which note ON/OFF start to be considered

sampleRate: integer ∈ [8000,inf) (default = 44100) sample rate of incoming audio frames

transpositionAmount: integer ∈ (-69,50) (default = 0) Apply transposition (in semitones) to the detected MIDI notes.

tuningFrequency: integer ∈ {432,440} (default = 440) tuning frequency for semitone index calculation, corresponding to A3 [Hz]

Description:

Wrapper around Audio2Pitch and Pitch2Midi for real time application. This algorithm has a state that is used to estimate note on/off events based on consequent compute() calls.

Category: Io Mode: standard

Table of Contents

Properties

$algorithmName  : string
$category  : string
$essentia  : EssentiaFFI
$mode  : string
$parameters  : array<string|int, mixed>
$algorithmHandle  : CData|null
$configured  : bool

Methods

__construct()  : mixed
__destruct()  : mixed
compute()  : array<string|int, mixed>
getAlgorithmName()  : string
getCategory()  : string
getMode()  : string
getParameters()  : array<string|int, mixed>
setParameter()  : self
configure()  : void
isValidParameter()  : bool
validateInput()  : void
cleanupAlgorithm()  : void
configureAlgorithmParameters()  : void
estimateOutputSize()  : int
executeAlgorithm()  : array<string|int, mixed>
executeGenericAlgorithm()  : array<string|int, mixed>
executeSpecificAlgorithm()  : array<string|int, mixed>
getAlgorithmCreateFunction()  : string
getValidParameters()  : array<string|int, mixed>
initializeAlgorithm()  : void
prepareInput()  : mixed
processOutput()  : array<string|int, mixed>
processRhythmOutput()  : array<string|int, mixed>
processSpectralOutput()  : array<string|int, mixed>
processStatsOutput()  : array<string|int, mixed>
processTemporalOutput()  : array<string|int, mixed>
processTonalOutput()  : array<string|int, mixed>
setAlgorithmParameter()  : void
setArrayParameter()  : void
validateAlgorithmInput()  : void

Properties

$algorithmName

protected string $algorithmName = 'Audio2Midi'

$parameters

protected array<string|int, mixed> $parameters = []

$algorithmHandle

private CData|null $algorithmHandle = null

Methods

__construct()

public __construct([array<string|int, mixed> $parameters = [] ]) : mixed
Parameters
$parameters : array<string|int, mixed> = []

compute()

public compute(mixed $input) : array<string|int, mixed>
Parameters
$input : mixed
Return values
array<string|int, mixed>

getAlgorithmName()

public getAlgorithmName() : string
Return values
string

getCategory()

public getCategory() : string
Return values
string

getParameters()

public getParameters() : array<string|int, mixed>
Return values
array<string|int, mixed>

setParameter()

public setParameter(string $key, mixed $value) : self
Parameters
$key : string
$value : mixed
Return values
self

configure()

protected configure(array<string|int, mixed> $parameters) : void
Parameters
$parameters : array<string|int, mixed>

isValidParameter()

protected isValidParameter(string $parameter) : bool
Parameters
$parameter : string
Return values
bool

validateInput()

protected validateInput(mixed $input, string $expectedType) : void
Parameters
$input : mixed
$expectedType : string

cleanupAlgorithm()

private cleanupAlgorithm() : void

configureAlgorithmParameters()

private configureAlgorithmParameters() : void

estimateOutputSize()

private estimateOutputSize(mixed $input) : int
Parameters
$input : mixed
Return values
int

executeAlgorithm()

private executeAlgorithm(mixed $input) : array<string|int, mixed>
Parameters
$input : mixed
Return values
array<string|int, mixed>

executeGenericAlgorithm()

private executeGenericAlgorithm(FFI $ffi, mixed $input) : array<string|int, mixed>
Parameters
$ffi : FFI
$input : mixed
Return values
array<string|int, mixed>

executeSpecificAlgorithm()

private executeSpecificAlgorithm(FFI $ffi, mixed $input) : array<string|int, mixed>
Parameters
$ffi : FFI
$input : mixed
Return values
array<string|int, mixed>

getAlgorithmCreateFunction()

private getAlgorithmCreateFunction() : string
Return values
string

getValidParameters()

private getValidParameters() : array<string|int, mixed>
Return values
array<string|int, mixed>

initializeAlgorithm()

private initializeAlgorithm() : void

prepareInput()

private prepareInput(mixed $input) : mixed
Parameters
$input : mixed

processOutput()

private processOutput(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

processRhythmOutput()

private processRhythmOutput(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

processSpectralOutput()

private processSpectralOutput(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

processStatsOutput()

private processStatsOutput(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

processTemporalOutput()

private processTemporalOutput(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

processTonalOutput()

private processTonalOutput(array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

setAlgorithmParameter()

private setAlgorithmParameter(FFI $ffi, string $key, mixed $value) : void
Parameters
$ffi : FFI
$key : string
$value : mixed

setArrayParameter()

private setArrayParameter(FFI $ffi, string $key, array<string|int, mixed> $value) : void
Parameters
$ffi : FFI
$key : string
$value : array<string|int, mixed>

validateAlgorithmInput()

private validateAlgorithmInput(mixed $input) : void
Parameters
$input : mixed

        
On this page

Search results