audeering / opensmile

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

zsh: command not found: SMILExtract #49

Open alisonqiu opened 2 years ago

alisonqiu commented 2 years ago

similar to issue #25, I got zsh: command not found: SMILExtract when running SMILExtract -h but the solution didn't solve my problem. My guess is the documentation says "CMake 3.5.1 or higher is required" but the Latest Release of CMake is only 3.23.2. Could that be the issue? Any help is appreciated!

chausner-audeering commented 2 years ago

Please elaborate on the exact steps you are performing. Make sure your working directory contains the SMILExtract binary and run it with ./SMILExtract.

alisonqiu commented 2 years ago

For some reason running it again worked, but I'll document the process just in case it helps anyone:)

I have MacBook Air (M1). Here are my versions of dependencies: GNU Make 3.81 gcc (Homebrew GCC 11.3.0_1) 11.3.0 g++ (Homebrew GCC 11.3.0_1) 11.3.0 cmake version 3.23.2

cloning the source code from GitHub and running bash build.share both successful and I've added to PATH:

Screen Shot 2022-06-07 at 10 04 15 AM

and I have the SMILExtract binary

Screen Shot 2022-06-07 at 10 05 29 AM

Then I ran ./SMILExtract -h:

alisonqiu@Alisons-Air smilextract % ./SMILExtract -h

 =============================================================== 
   openSMILE version 3.0.1 (Rev. 1e17214)
   Build date: 2022-06-07T01:14:37Z
   Build branch: 'master'
   (c) 2022 by audEERING GmbH
   All rights reserved. See the file COPYING for license terms.
 =============================================================== 

Usage: ./SMILExtract [-option (value)] ...

 -h  Show this usage information

 -C, -configfile <string>
     Path to openSMILE config file
     (default: 'smile.conf')

 -l, -loglevel <integer>
     Verbosity level (0-9)
     (default: 2)

 -t, -nticks <integer>
     Number of ticks to process (-1 = infinite) (only works for single-thread processing, i.e. nThreads=1)
     (default: -1)

 -L, -components [boolean 0/1]
     Show component list
     (default: 0)

 -H, -configHelp [string]
     Show documentation of registered config types (if an argument is given, show only documentation for config types beginning with the name given in the argument)
     (default: '')

 -configDflt [string]
     Show default config section templates for each config type (if an argument is given, show only documentation for config types beginning with the name given in the argument, OR for a list of components in conjunctions with the 'cfgFileTemplate' option enabled)
     (default: '')

 -cfgFileTemplate [boolean 0/1]
     Print a complete template config file for a configuration containing the components specified in a comma separated string as argument to the 'configDflt' option
     (default: 0)

 -cfgFileDescriptions [boolean 0/1]
     Include description in config file templates.
     (default: 0)

 -c, -ccmdHelp [boolean 0/1]
     Show custom commandline option help (those specified in config file)
     (default: 0)

 -exportHelp [boolean 0/1]
     Print detailed documentation of registered config types in JSON format.
     (default: 0)

 -logfile <string>
     Set path of log file
     (default: '')

 -noconsoleoutput [boolean 0/1]
     Don't output any messages to the console (log file is not affected by this option)
     (default: 0)

 -appendLogfile [boolean 0/1]
     Append log messages to an existing logfile instead of overwriting the logfile at every start
     (default: 0)
alisonqiu commented 2 years ago

Actually I'm still having issues...

As you can see I previously ran ./SMILExtract -h in/Users/alisonqiu/opensmile/build/progsrc/smilextract not /Users/alisonqiu/opensmile, so when I ty to extract features from the former I got an error

 alisonqiu@Alisons-Air smilextract % ./SMILExtract -C config/demo/demo1_energy.conf -I example-audio/opensmile.wav -O opensmile.energy.csv
(MSG) [2] SMILExtract: openSMILE starting!
(MSG) [2] SMILExtract: config file is: config/demo/demo1_energy.conf
(MSG) [2] cComponentManager: successfully registered 102 component types.
(ERR) [1] configManager: cFileConfigReader::openInput : cannot find input file 'config/demo/demo1_energy.conf'!
(base) alisonqiu@Alisons-Air smilextract % ./SMILExtract -h

I think the reason is config is in /Users/alisonqiu/opensmile not /Users/alisonqiu/opensmile/build/progsrc/smilextract. Could anyone help me fix this error?

chausner-audeering commented 2 years ago

You need to make sure that the relative paths that you pass to SMILExtract are valid relative paths from where you run the binary. If you run the binary from within /Users/alisonqiu/opensmile/build/progsrc/ you need to also adjust the path to the config file. config/demo/demo1_energy.conf is only valid if you run from /Users/alisonqiu/opensmile/ as your working directory.