Convert old configuration files to the new python configuration
I tried to convert some of the old configuration files to new python configuration files. I converted some of the files:
emobase.conf
///////////////////////////////////////////////////////////////////////////////////////
///////// > openSMILE configuration file for live emotion recognition < ///////////////
///////// base set of 988 features, 1st level functionals //////////////////
///////// of low-level descriptors such as MFCC, Pitch, LSP, ... //////////////////
///////// //////////////////
///////// * written 2009 by Florian Eyben * //////////////////
///////// //////////////////
///////// (c) 2014 audEERING UG (haftungsbeschränkt), //////////////////
///////// All rights reserverd. //////////////////
///////////////////////////////////////////////////////////////////////////////////////
// Modified version:
// - compatibility of newest 2.1 openSMILE code with openEAR 0.1.0 models
///////////////////////////////////////////////////////////////////////////////////////
;
; This section is always required in openSMILE configuration files
; it configures the componentManager and gives a list of all components which are to be loaded
; The order in which the components are listed should match
; the order of the data flow for most efficient processing
;
///////////////////////////////////////////////////////////////////////////////////////
[componentInstances:cComponentManager]
instance[dataMemory].type=cDataMemory
;;; default source
[componentInstances:cComponentManager]
instance[dataMemory].type=cDataMemory
;;; source
\{\cm[source{?}:include external source]}
;;; main section
[componentInstances:cComponentManager]
;this line configures the default data memory:
instance[dataMemory].type=cDataMemory
instance[fr25].type=cFramer
;;; 40 ms frames features:
instance[fr40].type=cFramer
instance[w40].type=cWindower
instance[fft40].type=cTransformFFT
instance[fftmagphase40].type=cFFTmagphase
instance[acf40].type=cAcf
instance[cepstrum40].type=cAcf
; Pitch...
instance[pitchACF].type=cPitchACF
;;; 25 ms frames features:
instance[pe].type=cVectorPreemphasis
instance[win].type=cWindower
instance[fft].type=cTransformFFT
instance[fftmagphase].type=cFFTmagphase
instance[mspec].type=cMelspec
; MFCC
instance[mfcc].type=cMfcc
instance[lpc].type=cLpc
; Line Spectral Frequencies
instance[lsp].type=cLsp
; Zero-Crossings
instance[mzcr].type=cMZcr
; Intensity and Loudness (narrow-band approximation)
instance[intens].type=cIntensity
;;; all LLD concattenated and smoothed using a moving average filter
instance[lld].type=cContourSmoother
; delta coefficients of LLD
instance[delta1].type=cDeltaRegression
;;; functionals over FULL input (e.g. turns)
instance[functL1].type=cFunctionals
;;; write instances to a Weka ARFF file (comment out to disable)
instance[arffsink].type=cArffSink
;;; live classification of emotion (comment out lines to disable them):
;; run single threaded (nThreads=1)
; NOTE: a single thread is more efficient for processing small files, since multi-threaded processing involves more
; overhead during startup, which will make the system slower in the end
nThreads=1
;; do not show any internal dataMemory level settings
; (if you want to see them set the value to 1, 2, 3, or 4, depending on the amount of detail you wish)
printLevelStats=0
/////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// component configuration ////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
; the following sections configure the components listed above
; a help on configuration parameters can be obtained with
; SMILExtract -H
; or
; SMILExtract -H configTypeName (= componentTypeName)
/////////////////////////////////////////////////////////////////////////////////////////////
[fr40:cFramer]
reader.dmLevel=wave
writer.dmLevel=frames40
frameSize = 0.040
frameStep = 0.010
frameMode = fixed
frameCenterSpecial = center
[w40:cWindower]
reader.dmLevel=frames40
writer.dmLevel=win40frame
copyInputName = 1
processArrayFields = 1
winFunc = ham
gain = 1.0
offset = 0
[fft40:cTransformFFT]
reader.dmLevel=win40frame
writer.dmLevel=fftc40
copyInputName = 1
processArrayFields = 1
inverse = 0
; for compatibility with 2.2.0 and older versions
zeroPadSymmetric = 0
[fftmagphase40:cFFTmagphase]
reader.dmLevel=fftc40
writer.dmLevel=fftmag40
copyInputName = 1
processArrayFields = 1
inverse = 0
magnitude = 1
phase = 0
[acf40:cAcf]
reader.dmLevel=fftmag40
writer.dmLevel=acf40
nameAppend = acf
copyInputName = 1
processArrayFields = 1
usePower = 1
cepstrum = 0
acfCepsNormOutput = 0
[cepstrum40:cAcf]
reader.dmLevel=fftmag40
writer.dmLevel=cepstrum40
nameAppend = acf
copyInputName = 1
processArrayFields = 1
usePower = 1
cepstrum = 1
acfCepsNormOutput = 0
oldCompatCepstrum = 1
absCepstrum = 1
[pitchACF:cPitchACF]
; the pitchACF component must ALWAYS read from acf AND cepstrum in the given order!
reader.dmLevel=acf40;cepstrum40
writer.dmLevel=pitch
processArrayFields=0
maxPitch = 500
voiceProb = 1
voiceQual = 0
HNR = 0
F0 = 1
F0raw = 0
F0env = 1
voicingCutoff = 0.550000
[fr25:cFramer]
reader.dmLevel=wave
writer.dmLevel=frames
frameSize = 0.025
frameStep = 0.010
frameMode = fixed
frameCenterSpecial = center
[pe:cVectorPreemphasis]
reader.dmLevel=frames
writer.dmLevel=framespe
copyInputName = 1
processArrayFields = 1
k=0.97
[win:cWindower]
reader.dmLevel=framespe
writer.dmLevel=winframe
copyInputName = 1
processArrayFields = 1
winFunc = ham
gain = 1.0
offset = 0
[fft:cTransformFFT]
reader.dmLevel=winframe
writer.dmLevel=fftc
copyInputName = 1
processArrayFields = 1
inverse = 0
; for compatibility with 2.2.0 and older versions
zeroPadSymmetric = 0
[fftmagphase:cFFTmagphase]
reader.dmLevel=fftc
writer.dmLevel=fftmag
copyInputName = 1
processArrayFields = 1
inverse = 0
magnitude = 1
phase = 0
[mspec:cMelspec]
reader.dmLevel=fftmag
writer.dmLevel=mspec1
copyInputName = 1
processArrayFields = 1
htkcompatible = 1
nBands = 26
lofreq = 0
hifreq = 8000
usePower = 1
inverse = 0
specScale = mel
[mfcc:cMfcc]
reader.dmLevel=mspec1
writer.dmLevel=mfcc1
copyInputName = 0
processArrayFields = 1
firstMfcc = 1
lastMfcc = 12
cepLifter = 22.0
htkcompatible = 1
[lpc:cLpc]
reader.dmLevel=framespe
writer.dmLevel=lpc
copyInputName = 1
processArrayFields = 1
method = acf
p = 8
saveLPCoeff = 1
lpGain = 0
saveRefCoeff = 0
residual = 0
forwardFilter = 0
lpSpectrum = 0
[lsp:cLsp]
reader.dmLevel=lpc
writer.dmLevel=lsp
copyInputName = 1
processArrayFields = 0
[intens:cIntensity]
reader.dmLevel=frames
writer.dmLevel=intens
copyInputName = 1
processArrayFields = 1
intensity=1
loudness =1
[mzcr:cMZcr]
reader.dmLevel=frames
writer.dmLevel=mzcr
copyInputName = 1
processArrayFields = 1
zcr = 1
amax = 0
mcr = 0
maxmin = 0
dc = 0
[lld:cContourSmoother]
reader.dmLevel=intens;mfcc1;lsp;mzcr;pitch
writer.dmLevel=lld
writer.levelconf.nT = 2500
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
nameAppend = sma
copyInputName = 1
noPostEOIprocessing = 0
smaWin = 3
// ---- delta regression of LLD ----
[delta1:cDeltaRegression]
reader.dmLevel=lld
writer.dmLevel=lld_de
blocksize=1
writer.levelconf.nT = 2500
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
nameAppend = de
copyInputName = 1
noPostEOIprocessing = 0
deltawin=2
// statistical functionals
[functL1:cFunctionals]
reader.dmLevel=lld;lld_de
writer.dmLevel=func
copyInputName = 1
; frameMode = var will enable the functionals component to listen for messages from the turn detector
frameMode = full
functionalsEnabled=Extremes;Regression;Moments;Percentiles
Extremes.max = 1
Extremes.min = 1
Extremes.range = 1
Extremes.maxpos = 1
Extremes.minpos = 1
Extremes.amean = 1
Extremes.maxameandist = 0
Extremes.minameandist = 0
; Note: the much better way to normalise the times of maxpos and minpos
; is 'turn', however for compatibility with old files the default 'frame'
; is kept here:
Extremes.norm = frame
Regression.linregc1 = 1
Regression.linregc2 = 1
Regression.linregerrA = 1
Regression.linregerrQ = 1
Regression.qregc1 = 0
Regression.qregc2 = 0
Regression.qregc3 = 0
Regression.qregerrA = 0
Regression.qregerrQ = 0
Regression.centroid = 0
Regression.doRatioLimit = 0
Regression.centroidRatioLimit = 0
Moments.doRatioLimit = 0
Moments.variance = 0
Moments.stddev = 1
Moments.skewness = 1
Moments.kurtosis = 1
Moments.amean = 0
Percentiles.quartiles = 1
Percentiles.iqr = 1
//////////////////////////////////////////////////////////////////////
/////////////////// data output configuration //////////////////////
//////////////////////////////////////////////////////////////////////
// ----- you can use this to save the features extracted ------
[arffsink:cArffSink]
reader.dmLevel=func
; do not print "frameNumber" attribute to ARFF file
number=0
; name of output file as commandline option
filename=\cm[arffout(O){output.arff}:name of WEKA Arff output file]
; name of @relation in the ARFF file
relation=\cm[corpus{SMILEfeaturesLive}:corpus name, arff relation]
; base name of the current instance, turn number will be appended
instanceBase=liveturn
; name of class label
class[0].name = emotion
; list of nominal classes OR "numeric"
class[0].type = \cm[classes{unknown}:all classes for arff file attribute]
; the class label or value for the current instance
target[0].all = \cm[classlabel{unassigned}:instance class label]
; ** NOTE: theoretically the classified class label could be assigned here, however this would require
; ** saving the class label along with the frame in the dataMemory
; ** or sending this meta-data via a message (including frame number)
; ** neither solution is currently implemented.... :-(
;
append=0
//////---------------------- END -------------------------///////
;;; sink
\{\cm[sink{?}:include external sink]}
IS10_paraling_compat.conf
///////////////////////////////////////////////////////////////////////////////////////
///////// > openSMILE configuration file for IS10 features < //////////////////
///////// //////////////////
///////// (c) 2014 by audEERING //////////////////
///////// All rights reserved. See file COPYING for details. //////////////////
///////////////////////////////////////////////////////////////////////////////////////
// NOTE: This file is for version 2.1 and above and produces
// numerically compatible output to the original IS10 set,
// EXCEPT for Jitter/Shimmer, as some bugs have been fixed there
// w/o maintaining backwards compatibility.
// For new designs one should however use the IS10_paraling.conf which
// returns incompatible, yet enhanced and fixed features.
//
// Usage:
// SMILExtract -C thisconfig.conf -I input.wav -O output.arff
//
///////////////////////////////////////////////////////////////////////////////////////
;
; This section is always required in openSMILE configuration files
; it configures the componentManager and gives a list of all components which are to be loaded
; The order in which the components are listed should match
; the order of the data flow for most efficient processing
;
///////////////////////////////////////////////////////////////////////////////////////
[componentInstances:cComponentManager]
instance[dataMemory].type=cDataMemory
;;; default source
[componentInstances:cComponentManager]
instance[dataMemory].type=cDataMemory
;;; source
\{\cm[source{?}:include external source]}
;;; main section
[componentInstances:cComponentManager]
; this line configures the default data memory:
instance[dataMemory].type=cDataMemory
;;; 40 ms frames features:
instance[fr40].type=cFramer
instance[w40].type=cWindower
instance[fft40].type=cTransformFFT
instance[fftmagphase40].type=cFFTmagphase
; SHS Pitch:
instance[scale].type=cSpecScale
instance[pitchShs].type=cPitchShs
instance[pitchSmooth].type=cPitchSmoother
instance[pitchJitter].type=cPitchJitter
instance[pitchSmooth2].type=cPitchSmoother
instance[res].type=cSpecResample
;;; 25 ms frames features:
instance[fr25].type=cFramer
instance[pe].type=cVectorPreemphasis
instance[win].type=cWindower
instance[fft].type=cTransformFFT
instance[fftmagphase].type=cFFTmagphase
; mfcc
instance[mspec].type=cMelspec
instance[mfcc].type=cMfcc
; log mel frequency bands (mfb)
instance[mspec2].type=cMelspec
instance[vo].type=cVectorOperation
instance[lpc].type=cLpc
; Line Spectral Frequencies
instance[lsp].type=cLsp
; Loudness (narrow-band approximation)
instance[intens].type=cIntensity
;;; all LLD concattenated and smoothed using a moving average filter
instance[lld].type=cContourSmoother
instance[lld2].type=cContourSmoother
; delta coefficients of LLD
instance[delta1].type=cDeltaRegression
instance[delta2].type=cDeltaRegression
;;; functionals over FULL input (e.g. turns)
instance[functL1].type=cFunctionals
instance[functL1nz].type=cFunctionals
instance[functOnsets].type=cFunctionals
;; run single threaded (nThreads=1)
; NOTE: a single thread is more efficient for processing small files, since multi-threaded processing involves more
; overhead during startup, which will make the system slower in the end
nThreads=1
;; do not show any internal dataMemory level settings
; (if you want to see them set the value to 1, 2, 3, or 4, depending on the amount of detail you wish)
printLevelStats=0
/////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// component configuration ////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
; the following sections configure the components listed above
; a help on configuration parameters can be obtained with
; SMILExtract -H
; or
; SMILExtract -H configTypeName (= componentTypeName)
/////////////////////////////////////////////////////////////////////////////////////////////
[fr40:cFramer]
reader.dmLevel=wave
writer.dmLevel=frames40
frameMode = fixed
frameSize = 0.060
frameStep = 0.010
frameCenterSpecial = left
noPostEOIprocessing = 1
[w40:cWindower]
reader.dmLevel=frames40
writer.dmLevel=win40frame
winFunc = gauss
sigma = 0.25
gain = 1.0
[fft40:cTransformFFT]
reader.dmLevel=win40frame
writer.dmLevel=fftc40
; for compatibility with 2.2.0 and older versions
zeroPadSymmetric = 0
[fftmagphase40:cFFTmagphase]
reader.dmLevel=fftc40
writer.dmLevel=fftmag40
magnitude = 1
phase = 0
[scale:cSpecScale]
reader.dmLevel=fftmag40
writer.dmLevel=hps
scale=log
; octave scale
logScaleBase=2
specSmooth = 0
auditoryWeighting = 0
specEnhance = 0
minF = 25
maxF = -1
interpMethod = spline
[pitchShs:cPitchShs]
reader.dmLevel=hps
writer.dmLevel=pitchShs
F0raw = 0
voicingClip = 0
voicingC1=0
scores=1
voicing=1
nCandidates = 3
octaveCorrection = 0
greedyPeakAlgo = 0
compressionFactor = 0.85
nHarmonics = 15
voicingCutoff = 0.75
maxPitch = 620
minPitch = 52
[pitchSmooth:cPitchSmoother]
reader.dmLevel=pitchShs
writer.dmLevel=pitch
F0raw = 0
F0final = 0
F0finalEnv = 1
voicingFinalUnclipped = 1
medianFilter0 = 0
postSmoothingMethod = simple
;simple
octaveCorrection = 0
writer.levelconf.nT=10
;writer.levelconf.noHang=2
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
[pitchSmooth2:cPitchSmoother]
reader.dmLevel=pitchShs
writer.dmLevel=pitchF
F0raw = 0
F0final = 1
F0finalEnv = 0
voicingFinalUnclipped = 0
medianFilter0 = 0
postSmoothingMethod = simple
octaveCorrection = 0
writer.levelconf.nT=10
;writer.levelconf.noHang=2
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
;;;; default (template) configuration section for component 'cPitchJitter' ;;;;
[pitchJitter:cPitchJitter]
reader.dmLevel = wave
writer.dmLevel = jitter
// nameAppend =
copyInputName = 1
F0reader.dmLevel = pitchF
F0field = F0final
searchRangeRel = 0.250000
jitterLocal = 1
jitterDDP = 1
jitterLocalEnv = 0
jitterDDPEnv = 0
shimmerLocal = 1
shimmerLocalEnv = 0
onlyVoiced = 0
;periodLengths = 0
;periodStarts = 0
inputMaxDelaySec = 1
usePeakToPeakPeriodLength = 0
shimmerUseRmsAmplitude = 0
minCC = 0.5
minNumPeriods = 2
useBrokenJitterThresh = 1
[fr25:cFramer]
reader.dmLevel=wave
writer.dmLevel=frames
frameSize = 0.025
frameStep = 0.010
frameCenterSpecial = left
[pe:cVectorPreemphasis]
reader.dmLevel=frames
writer.dmLevel=framespe
k=0.97
[win:cWindower]
reader.dmLevel=framespe
writer.dmLevel=winframe
winFunc = ham
gain = 1.0
[fft:cTransformFFT]
reader.dmLevel=winframe
writer.dmLevel=fftc
; for compatibility with 2.2.0 and older versions
zeroPadSymmetric = 0
[fftmagphase:cFFTmagphase]
reader.dmLevel=fftc
writer.dmLevel=fftmag
magnitude = 1
phase = 0
[mspec:cMelspec]
reader.dmLevel=fftmag
writer.dmLevel=mspec1
htkcompatible = 0
usePower = 1
lofreq = 20
hifreq = 8000
nBands=26
specScale = mel
bwMethod = lr
[mfcc:cMfcc]
reader.dmLevel = mspec1
writer.dmLevel = mfcc
htkcompatible = 0
firstMfcc=0
lastMfcc=14
cepLifter=22
copyInputName = 0
[mspec2:cMelspec]
reader.dmLevel=fftmag
writer.dmLevel=mspec2
htkcompatible = 0
usePower = 1
lofreq = 20
hifreq = 6500
nBands=8
specScale = mel
bwMethod = lr
[vo:cVectorOperation]
reader.dmLevel=mspec2
writer.dmLevel=mspec2log
operation = log
copyInputName = 0
nameAppend=logMelFreqBand
[res:cSpecResample]
reader.dmLevel=fftc
writer.dmLevel=outpR
targetFs = 11000
[lpc:cLpc]
;reader.dmLevel=framespe
reader.dmLevel=outpR
writer.dmLevel=lpc
p=8
method = acf
saveLPCoeff = 1
lpGain = 0
saveRefCoeff = 0
residual = 0
forwardFilter = 0
lpSpectrum = 0
[lsp:cLsp]
reader.dmLevel=lpc
writer.dmLevel=lsp
[intens:cIntensity]
reader.dmLevel=frames
writer.dmLevel=intens
intensity=0
loudness=1
[lld:cContourSmoother]
reader.dmLevel=intens;mfcc;mspec2log;lsp;pitch
writer.dmLevel=lld1
buffersize=1000
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
smaWin = 3
; this level must grow to hold ALL the LLD of the full input
// ---- delta regression of LLD ----
[delta1:cDeltaRegression]
reader.dmLevel=lld1
writer.dmLevel=lld1_de
buffersize=1000
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
deltawin=2
blocksize=1
[lld2:cContourSmoother]
reader.dmLevel=pitchF;jitter
writer.dmLevel=lld2
buffersize=1000
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
; this level must grow to hold ALL the LLD of the full input
smaWin = 3
noZeroSma = 0
// ---- delta regression of LLD ----
[delta2:cDeltaRegression]
reader.dmLevel=lld2
writer.dmLevel=lld2_de
buffersize=1000
writer.levelconf.isRb=0
writer.levelconf.growDyn=1
deltawin=2
blocksize=1
[functOnsets:cFunctionals]
reader.dmLevel=pitchF
writer.dmLevel=functOnsets
; frameSize and frameStep = 0 => functionals over complete input
; (NOTE: buffersize of lld and lld_de levels must be large enough!!)
frameMode = full
frameSize = 0
frameStep = 0
copyInputName=0
functNameAppend=Turn
functionalsEnabled=Onset;Times
//noPostEOIprocessing = 0
Onset.threshold = 0
;Onset.thresholdOnset = 0
;Onset.thresholdOffset = 0
Onset.useAbsVal = 0
Onset.onsetPos = 0
Onset.offsetPos = 0
Onset.numOnsets = 1
Onset.numOffsets = 0
Onset.norm = segment
Times.upleveltime25 = 0
Times.downleveltime25 = 0
Times.upleveltime50 = 0
Times.downleveltime50 = 0
Times.upleveltime75 = 0
Times.downleveltime75 = 0
Times.upleveltime90 = 0
Times.downleveltime90 = 0
Times.risetime = 0
Times.falltime = 0
Times.leftctime = 0
Times.rightctime = 0
Times.duration = 1
Times.norm = second
// statistical functionals
[functL1:cFunctionals]
reader.dmLevel=lld1;lld1_de
writer.dmLevel=funct
; frameSize and frameStep = 0 => functionals over complete input
; (NOTE: buffersize of lld and lld_de levels must be large enough!!)
frameMode = full
frameSize=0
frameStep=0
functionalsEnabled=Extremes;Regression;Moments;Percentiles;Times
Extremes.max = 0
Extremes.min = 0
Extremes.range = 0
Extremes.maxpos = 1
Extremes.minpos = 1
Extremes.amean = 1
Extremes.maxameandist=0
Extremes.minameandist=0
Extremes.norm = frame
Regression.linregc1 = 1
Regression.linregc2 = 1
Regression.linregerrA = 1
Regression.linregerrQ = 1
Regression.qregc1 = 0
Regression.qregc2 = 0
Regression.qregc3 = 0
Regression.qregerrA = 0
Regression.qregerrQ = 0
Regression.centroid = 0
Regression.oldBuggyQerr = 1
Regression.normInputs = 0
Regression.normRegCoeff = 0
Regression.centroidRatioLimit = 0
Regression.doRatioLimit = 0
Moments.doRatioLimit = 0
Moments.variance = 0
Moments.stddev = 1
Moments.skewness = 1
Moments.kurtosis = 1
Moments.amean = 0
Percentiles.quartiles = 1
Percentiles.quartile1 = 0
Percentiles.quartile2 = 0
Percentiles.quartile3 = 0
Percentiles.iqr = 1
Percentiles.iqr12 = 0
Percentiles.iqr23 = 0
Percentiles.iqr13 = 0
Percentiles.interp = 1
Percentiles.percentile = 0.01;0.99
Percentiles.pctlrange=0-1
Times.upleveltime25 = 0
Times.downleveltime25 = 0
Times.upleveltime50 = 0
Times.downleveltime50 = 0
Times.upleveltime75 = 1
Times.downleveltime75 = 0
Times.upleveltime90 = 1
Times.downleveltime90 = 0
Times.risetime = 0
Times.falltime = 0
Times.leftctime = 0
Times.rightctime = 0
Times.duration = 0
Times.norm = segment
nonZeroFuncts = 0
// statistical functionals
[functL1nz:cFunctionals]
reader.dmLevel=lld2;lld2_de
writer.dmLevel=functNz
; frameSize and frameStep = 0 => functionals over complete input
; (NOTE: buffersize of lld and lld_de levels must be large enough!!)
frameMode=full
frameSize=0
frameStep=0
functionalsEnabled=Extremes;Regression;Moments;Percentiles;Times
Extremes.max = 0
Extremes.min = 0
Extremes.range = 0
Extremes.maxpos = 1
Extremes.minpos = 1
Extremes.amean = 1
Extremes.maxameandist=0
Extremes.minameandist=0
Extremes.norm = frame
Regression.linregc1 = 1
Regression.linregc2 = 1
Regression.linregerrA = 1
Regression.linregerrQ = 1
Regression.qregc1 = 0
Regression.qregc2 = 0
Regression.qregc3 = 0
Regression.qregerrA = 0
Regression.qregerrQ = 0
Regression.centroid = 0
Regression.oldBuggyQerr = 1
Regression.normInputs = 0
Regression.normRegCoeff = 0
Regression.centroidRatioLimit = 0
Regression.doRatioLimit = 0
Moments.doRatioLimit = 0
Moments.variance = 0
Moments.stddev = 1
Moments.skewness = 1
Moments.kurtosis = 1
Moments.amean = 0
Percentiles.quartiles = 1
Percentiles.quartile1 = 0
Percentiles.quartile2 = 0
Percentiles.quartile3 = 0
Percentiles.iqr = 1
Percentiles.iqr12 = 0
Percentiles.iqr23 = 0
Percentiles.iqr13 = 0
Percentiles.interp = 1
Percentiles.percentile = 0.99
;Percentiles.pctlrange=0-1
Times.upleveltime25 = 0
Times.downleveltime25 = 0
Times.upleveltime50 = 0
Times.downleveltime50 = 0
Times.upleveltime75 = 1
Times.downleveltime75 = 0
Times.upleveltime90 = 1
Times.downleveltime90 = 0
Times.risetime = 0
Times.falltime = 0
Times.leftctime = 0
Times.rightctime = 0
Times.duration = 0
Times.norm = segment
nonZeroFuncts=1
;;;;;;;;; prepare features for standard output module
[componentInstances:cComponentManager]
instance[lldconcat].type=cVectorConcat
instance[llddeconcat].type=cVectorConcat
instance[funcconcat].type=cVectorConcat
[lldconcat:cVectorConcat]
reader.dmLevel = lld1;lld2
writer.dmLevel = lld
includeSingleElementFields = 1
[llddeconcat:cVectorConcat]
reader.dmLevel = lld1_de;lld2_de
writer.dmLevel = lld_de
includeSingleElementFields = 1
[funcconcat:cVectorConcat]
reader.dmLevel = funct;functNz;functOnsets
writer.dmLevel = func
includeSingleElementFields = 1
//////---------------------- END -------------------------///////
;;; sink
\{\cm[sink{?}:include external sink]}IS10_paraling_compat.conf
I want to convert the AVEC2013 and smileF0_mean configuration files, but it is not as simple as the previous files.
How can I convert them?
Could you please be a little bit more specific what are the problems with those configuration files?
These are the configuration files that opensmile-python is giving:

In order to get emobase.conf and IS10_paraling_compat.conf I had to take them from opensmile/config/emobase/emobase.conf and opensmile/config/is09-13/IS10_paraling_compat.conf and change them so they will work with the python version of opensmile.
The main changes are the removal of the next parts:
;;; wave file input
instance[waveIn].type=cWaveSource
[waveIn:cWaveSource]
; this sets the level this component writes to
; the level will be created by this component
; no other components may write to a level having the same name
writer.dmLevel=wave
; this defines a new commandline option "-I" or "-inputfile", which can be used to specify
; the filename on the commandline instead of having it "hard-coded" in the config file
filename=\cm[inputfile(I){test.wav}:name of input file]
; mix stereo files down to mono for analysis
monoMixdown=1
And the addition of the next lines:
;;; source
\{\cm[source{?}:include external source]}
;;; sink
\{\cm[sink{?}:include external sink]}IS10_paraling_compat.conf
It worked for the emobase.conf and IS10_paraling_compat.conf but it is not working for AVEC2013.conf and smileF0_mean.conf.
In opensmile/config/avec11-14/avec2013.conf, we can see that the configuration file is depending on other configuration files (not compact), so It is not as easy to change.
In opensmile/config/prosody/smileF0_mean.conf we can see the same situation, the configuration file is depending on other configuration files and it is not as easy to change.
Is there a way to get the compact configuration files? Is there a way to change some of these configuration files and make them suitable for opensmile-python?
These are the configuration files that opensmile-python is giving:
In order to get
emobase.confandIS10_paraling_compat.confI had to take them from opensmile/config/emobase/emobase.conf and opensmile/config/is09-13/IS10_paraling_compat.conf and change them so they will work with the python version of opensmile. The main changes are the removal of the next parts:;;; wave file input instance[waveIn].type=cWaveSource[waveIn:cWaveSource] ; this sets the level this component writes to ; the level will be created by this component ; no other components may write to a level having the same name writer.dmLevel=wave ; this defines a new commandline option "-I" or "-inputfile", which can be used to specify ; the filename on the commandline instead of having it "hard-coded" in the config file filename=\cm[inputfile(I){test.wav}:name of input file] ; mix stereo files down to mono for analysis monoMixdown=1And the addition of the next lines:
;;; source \{\cm[source{?}:include external source]};;; sink \{\cm[sink{?}:include external sink]}IS10_paraling_compat.confIt worked for the
emobase.confandIS10_paraling_compat.confbut it is not working forAVEC2013.confandsmileF0_mean.conf. In opensmile/config/avec11-14/avec2013.conf, we can see that the configuration file is depending on other configuration files (not compact), so It is not as easy to change. In opensmile/config/prosody/smileF0_mean.conf we can see the same situation, the configuration file is depending on other configuration files and it is not as easy to change.Is there a way to get the compact configuration files? Is there a way to change some of these configuration files and make them suitable for opensmile-python?
I was wondering exactly the same thing. I am interested in the featureset IS11_speaker_state.conf, but I am unsure how to adjust this file. Any advice here @frankenjoe?
Is there a way to get the compact configuration files?
I'm not aware of an automated way of converting multiple config files that depend on each other to a single compact file. @chausner-audeering or is there a way?
Is there a way to change some of these configuration files and make them suitable for opensmile-python?
We do not have resources at the moment to port more config files. But we are happy to include them when users of opensmile-python provide them.