Select Your Labeler¶
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.
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.
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).
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.
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]