opensmile-python icon indicating copy to clipboard operation
opensmile-python copied to clipboard

How can I calculate the functions per second?

Open AAAbeer opened this issue 10 months ago • 0 comments

Hi, I have this issue and would appreciate any help.

I was thinking of making the functionals per one second for frame and window size and not one output for the whole audio file as the default configuration. So, I copied all config files of GeMAPSv01b along with shared ones.

Then did these changes:

FrameModeFunctionals.conf.inc

frameMode = fixed
frameSize = 1.0
frameStep = 1.0
frameCenterSpecial = left

BufferMode.conf.inc

writer.levelconf.growDyn = 0
writer.levelconf.isRb = 1
writer.levelconf.nT = 5

for this writer.levelconf.nT option I did not find in the documentation what I should put or it will be handled automatically?

Finally, I used this in Python

smile = opensmile.Smile(
    feature_set='/...../OpenSMILE_configs/GeMAPSv01b.conf',
    feature_level='func',
    loglevel=2,
    logfile="smile.log",
)

features = smile.process_file(audio_files[3])
features.head()

After all that, the output still showed one record for the whole file! This is the log I got, maybe there is a problem or I missed something, I could not understand the log of "destination levels are full ".

Note that this is my first time working with audio features.

['[ 28.03.2025 - 04:17:17 ]\n',
 '    (MSG) [2] SMILEapi: openSMILE starting!\n',
 '[ 28.03.2025 - 04:17:17 ]\n',
 '    (MSG) [2] SMILEapi: config file is: /content/drive/My Drive/..../...../OpenSMILE_configs/GeMAPSv01b.conf\n',
 '[ 28.03.2025 - 04:17:17 ]\n',
 '    (MSG) [2] cComponentManager: successfully registered 102 component types.\n',
 '[ 28.03.2025 - 04:17:17 ]\n',
 "    (MSG) [2] instance 'gemapsv01b_logSpectral': logSpecFloor = -140.00  (specFloor = 1.000000e-14)\n",
 '[ 28.03.2025 - 04:17:17 ]\n',
 '    (MSG) [2] cComponentManager: successfully finished createInstances (50 component instances were finalised, 1 data memories were finalised)\n',
 '[ 28.03.2025 - 04:17:19 ]\n',
 '    (MSG) [2] cComponentManager: starting single thread processing loop\n',
 '[ 28.03.2025 - 04:18:23 ]\n',
 '    (WRN) [2] cComponentManager: The following component(s) could not perform any work because destination levels are full but no other component performed any work either: gemapsv01b_smoE. Processing will possibly be incomplete. For more details, enable the execDebug option of cComponentManager.\n',
 '[ 28.03.2025 - 04:18:23 ]\n',
 '    (WRN) [2] cComponentManager: The following component(s) could not perform any work because destination levels are full but no other component performed any work either: gemapsv01b_smoE. Processing will possibly be incomplete. For more details, enable the execDebug option of cComponentManager.\n',
 '[ 28.03.2025 - 04:18:23 ]\n',
 '    (WRN) [2] cComponentManager: The following component(s) could not perform any work because destination levels are full but no other component performed any work either: gemapsv01b_smoE. Processing will possibly be incomplete. For more details, enable the execDebug option of cComponentManager.\n',
 '[ 28.03.2025 - 04:18:23 ]\n',
 '    (MSG) [2] cComponentManager: Processing finished! System ran for 97271 ticks.\n']

AAAbeer avatar Mar 28 '25 05:03 AAAbeer