The label creator assigns information to each signal block to use as ground truth during model training. It makes use of sound type information obtained from sound file names, on- and offset information obtained from annotation files. The label creator also has access to the information generated by the scene configuration (e.g. source azimuth, block energy, source index, etc).

# Available label creators¶

## AzmDistributionLabeler¶

The AzmDistributionLabeler assigns each block a bin from the 360-deg azimuth plane indicating the location of emitting source.

Table 38 Key value pairs for configuring AzmDistributionLabeler:
Argument key Default value Description
angularResolution 15 deg Number of bins to span the 360-deg plane
sourcesMinEnergy -20 dB minimum source energy (otherwise block excluded)
labelBlockSize_s auto duration of label block size in seconds
sourceIds all which sources to consider

## AzmLabeler¶

The AzmLabeler assigns each block a scalar azimuth indicating the location of emitting source.

Table 39 Key value pairs for configuring AzmLabeler:
Argument key Default value Description
sourcesMinEnergy -30 dB minimum source energy (otherwise block excluded)
labelBlockSize_s auto duration of label block size in seconds
sourceIds 1 which sources to consider

## MultiEventTypeLabeler¶

The MultiEventTypeLabeler assigns each block a sound type id (e.g. alarm, footsteps).

Table 40 Key value pairs for configuring MultiEventTypeLabeler:
Argument key Default value Description
minBlockToEventRatio 0.75

minimum ratio of event span within block

to qualify for labeling

maxNegBlockToEventRatio 0 minimum source energy (otherwise block excluded)
labelBlockSize_s auto duration of label block size in seconds
removeUnclearBlocks true wether to exclude unclear blocks
types {{‘Type1’},{‘Type2’}} set of available sound types
negOut ‘rest’

‘rest’: two-state label depending on which type

occupies the block most

‘none’: assign multiple types to the same block

srcPrioMethod ‘order’

Source prioritization strategies:

‘energy’: label according to source with highest energy

‘order’: label according to source index

‘time’: label according to earliest onset

srcTypeFilterOut empty

e.g. [2,1;3,2]: throw away type 1 blocks from src 2

and type 2 blocks from src 3

nrgSrcsFilter empty

idxs of srcs to be account for block-filtering

based on too low energy. If empty, ignore.

fileFilterOut empty blocks containing these files get filtered out
sourcesMinEnergy -20 minimum source energy (otherwise block excluded)

## IdAzmDistributionLabeler¶

The IdAzmDistributionLabeler assigns each block a bin from the 360^{o} azimuth plane indicating the location of emitting source as well as setting class bins to one indicating the sound type present in the block. The label takse the form of a matrix. The number of rows equals the number of supported sound types and the numbe rof columns equals the number of bins that span the azimuth plane. It is filled with zeros except for the 1’s at the locations of the sound types the occupy the block.

See AzmDistributionLabeler and MultiEventTypeLabeler on possible configuration.

## NumberOfSourcesLabeler¶

The NumberOfSourcesLabeler counts the number of active sources within a block an assigns this as a label to the block.

Table 41 Key value pairs for configuring NumberOfSourcesLabeler:
Argument key Default value Description
labelBlockSize_s auto duration of label block size in seconds
sourcesMinEnergy -20 minimum source energy (otherwise block excluded)

## MultiLabeler¶

The MultiLabeler allows for concatenating labels produced by multiple label creators into a longer label vector to assign to a single block.

nSrcs = NumberOfSourcesLabeler();
id = NumberOfSourcesLabeler('types', {{'baby'}, {'dog'}});
labeler = MultiLabeler(nSrcs, id); % produces labels containing [nSrcs_label, id_label]