Source code for opensmile.core.define

from __future__ import annotations

import enum

import audobject


[docs]class FeatureSet(enum.Enum): r"""Enumeration of standard feature sets. The following feature sets are available: * :attr:`ComParE_2016` * :attr:`GeMAPS`, deprecated alias for :attr:`GeMAPSv01a` * :attr:`GeMAPSv01a` * :attr:`GeMAPSv01b` * :attr:`eGeMAPS`, deprecated alias for :attr:`eGeMAPSv01a` * :attr:`eGeMAPSv01a` * :attr:`eGeMAPSv01b` * :attr:`eGeMAPSv02` * :attr:`emobase` * :attr:`IS09` * :attr:`IS10` * :attr:`IS11` * :attr:`IS12` * :attr:`IS13` For references, see the papers on: * `ComParE 2016`_ * GeMAPS_ * eGeMAPS_ * emobase_ * IS09_ * IS10_ * IS11_ * IS12_ * IS13_ .. _ComParE 2016: http://www.tangsoo.de/documents/Publications/Schuller16-TI2.pdf .. _GeMAPS: https://sail.usc.edu/publications/files/eyben-preprinttaffc-2015.pdf .. _eGeMAPS: https://sail.usc.edu/publications/files/eyben-preprinttaffc-2015.pdf .. _IS09: https://opus.bibliothek.uni-augsburg.de/opus4/files/66757/i09_0312.pdf .. _IS10: https://opus.bibliothek.uni-augsburg.de/opus4/files/66767/i10_2794.pdf .. _IS11: https://opus.bibliothek.uni-augsburg.de/opus4/files/66989/i11_3201.pdf .. _IS12: https://opus.bibliothek.uni-augsburg.de/opus4/files/66988/i12_0254.pdf .. _IS13: http://www5.informatik.uni-erlangen.de/Forschung/Publikationen/2013/Schuller13-TI2.pdf """ ComParE_2016 = "compare/ComParE_2016" GeMAPS = "gemaps/v01a/GeMAPSv01a" # legacy GeMAPSv01a = "gemaps/v01a/GeMAPSv01a" GeMAPSv01b = "gemaps/v01b/GeMAPSv01b" eGeMAPS = "egemaps/v01a/eGeMAPSv01a" # legacy eGeMAPSv01a = "egemaps/v01a/eGeMAPSv01a" eGeMAPSv01b = "egemaps/v01b/eGeMAPSv01b" eGeMAPSv02 = "egemaps/v02/eGeMAPSv02" emobase = "emobase/emobase" IS09 = "is09-13/IS09_emotion" IS10 = "is09-13/IS10_paraling_compat" IS11 = "is09-13/IS11_speaker_state" IS12 = "is09-13/IS12_speaker_trait_compat" IS13 = "is09-13/IS13_ComParE"
class FeatureSetResolver(audobject.resolver.Base): r"""Custom value resolver for :class:`opensmile.FeatureSet`.""" def decode(self, value: str) -> str | FeatureSet: if value in FeatureSet.__members__: value = FeatureSet[value] return value def encode(self, value: str | FeatureSet) -> str: if isinstance(value, FeatureSet): value = str(value).split(".")[-1] return value def encode_type(self): return str
[docs]class FeatureLevel(enum.Enum): r"""Enumeration of standard feature levels. * :attr:`LowLevelDescriptors` - low-level descriptors (LLD) calculated over a sliding window * :attr:`LowLevelDescriptors_Deltas` - Delta regression of LLDs * :attr:`Functionals` - statistical functionals mapping variable series of LLDs to static values For more information see https://mediatum.ub.tum.de/doc/1082431/1082431.pdf """ LowLevelDescriptors = "lld" LowLevelDescriptors_Deltas = "lld_de" Functionals = "func"
class FeatureLevelResolver(audobject.resolver.Base): r"""Custom value resolver for :class:`opensmile.FeatureLevel`.""" def decode(self, value: str) -> str | FeatureLevel: if value in FeatureLevel.__members__: value = FeatureLevel[value] return value def encode(self, value: str | FeatureLevel) -> str: if isinstance(value, FeatureLevel): value = str(value).split(".")[-1] return value def encode_type(self): return str