audeering / opensmile

The Munich Open-Source Large-Scale Multimedia Feature Extractor
https://audeering.github.io/opensmile/
Other
553 stars 74 forks source link

How to get eGeMAPSv02 low level descriptors #75

Open jhkonan opened 2 months ago

jhkonan commented 2 months ago

How are we supposed to modify this config, if at all, to get the egemap low level descriptors?

!cat /content/opensmile/config/egemaps/v02/eGeMAPSv02.conf
///////////////////////////////////////////////////////////////////////////////////////
///////// > openSMILE configuration file, Geneva feature set <       //////////////////
/////////                                                            //////////////////
///////// (c) 2014, 2020 by audEERING                                //////////////////
/////////     All rights reserved. See file COPYING for details.     //////////////////
///////////////////////////////////////////////////////////////////////////////////////

;;;;;;; component list ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[componentInstances:cComponentManager]
instance[dataMemory].type=cDataMemory
printLevelStats=0

;;;;;;;;;;;;;;;;;;;;;;;;;;;; main section ;;;;;;;;;;;;;;;;;;;;;;;;;;;

\{../../shared/standard_wave_input.conf.inc}
\{../../gemaps/v01b/GeMAPSv01b_core.lld.conf.inc}
\{eGeMAPSv02_core.lld.conf.inc}
\{../../gemaps/v01b/GeMAPSv01b_core.func.conf.inc}
\{eGeMAPSv02_core.func.conf.inc}

[componentInstances:cComponentManager]
instance[lldconcat].type=cVectorConcat
instance[funcconcat].type=cVectorConcat

[lldconcat:cVectorConcat]
reader.dmLevel = egemapsv02_lldsetE_smo;egemapsv02_lldsetF_smo
writer.dmLevel = lld
includeSingleElementFields = 1

[funcconcat:cVectorConcat]
reader.dmLevel = gemapsv01b_functionalsF0;gemapsv01b_functionalsLoudness;egemapsv02_functionalsMeanStddevZ;egemapsv02_functionalsMeanStddevVoiced;egemapsv02_functionalsMeanUnvoiced;gemapsv01b_temporalSet;egemapsv02_leq
writer.dmLevel = func
includeSingleElementFields = 1

\{../../shared/standard_data_output_no_lld_de.conf.inc}

My best guess is to modify the last line:

\{../../shared/standard_data_output_lldonly.conf.inc}

But this seems to fail, and I am having trouble getting this to work:

/content/opensmile/build/progsrc/smilextract/SMILExtract \
    -C /content/opensmile/config/egemaps/v02/eGeMAPSv02.conf \
    -I /content/example.wav \
    -O /content/output.csv
maxschmitt commented 1 week ago

Hi, you don't need to modify any config file. You can just use the option -lldcsvoutput (or -D) which is configured as a command line option in standard_data_output_lldonly.conf.inc.

Side notes: Please note that option -O is giving output as ARFF. In order to get CSV output with functionals (file-level features, no LLDs), you need to use -csvoutput. Please also note that the separator in the CSV files is ;.