Skip to content

Commit

Permalink
Update to version 3.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
chausner-audeering committed Jan 4, 2022
1 parent 4097f02 commit a76ec42
Show file tree
Hide file tree
Showing 368 changed files with 26,120 additions and 29,256 deletions.
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,40 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [3.0.1] - 2022-01-04

## Added
- eGeMAPSv02 feature set config which fixes two missing features in the LLD output
that are mentioned in the GeMAPS paper.

## Changed
- Introduced a standard_data_output_no_lld_de.conf.inc include file to make the GeMAPS configs
not need to define a fake lld_de level.
- Removed -ffast-math and /fp:fast compiler flags to improve the reproducability
of output across compilers and systems.
- SMILExtract no longer logs to a file by default.
- Many internal refactorings and cleanups.

## Removed
- Removed SEMAINE-related components and binaries.
- Removed obsolete cJniSink and cJniMessageInterface components.
- Removed unused internal support for integer data in data memory levels.

## Fixed
- Fixed a race condition when multiple openSMILE instances are initialized at the same time
in separate threads.
- Fixed a race condition in smile_reset which could lead to the function failing when
multiple openSMILE instances are used concurrently.
- Multiple fixes and improvements to the condition variable implementation.
- Fixed a rare race condition in cExternalSource and cExternalAudioSource.
- Fixed incorrect Wave file headers written by cWaveSink when sample format was set to 32-bit float.
- cArffSink now correctly escapes special characters in the output (e.g. instance names).
- Fixed a build issue preventing the android-template sample app from being buildable
on Windows and macOS.
- Various other minor fixes and tweaks.

## [3.0.0] - 2020-10-20

## Added
- New components:
- cDataPrintSink
Expand Down
45 changes: 9 additions & 36 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@ endif()
project(openSMILE)

option(STATIC_LINK "Build libopensmile as a static lib." ON)
option(MARCH_NATIVE "Tune compiler optimizations to the processor of this machine. Disable if the compiled binary needs to be portable." ON)
option(MARCH_NATIVE "Tune compiler optimizations to the processor of this machine. Disable if the compiled binary needs to be portable." OFF)
option(WITH_PORTAUDIO "Compile with PortAudio support." OFF)
option(WITH_FFMPEG "Compile with FFmpeg support." OFF)
option(WITH_OPENSLES "Compile with OpenSL ES support (Android only).")
option(WITH_OPENSLES "Compile with OpenSL ES support (Android only)." OFF)
option(WITH_OPENCV "Compile with OpenCV support." OFF)
option(WITH_JULIUS "Compile with Julius support." OFF)
set(BUILD_FLAGS "" CACHE STRING "Build flags controlling which components of openSMILE are included in the build.")
set(PROFILE_GENERATE "" CACHE PATH "Path where to save profile information for profile-guided optimization.")
set(PROFILE_USE "" CACHE PATH "Path to profile information to use for profile-guided optimization.")
Expand All @@ -24,13 +23,15 @@ if(PROFILE_GENERATE AND PROFILE_USE)
endif()

set(WATCH_PLATFORMS WATCHOS WATCHOSCOMBINED SIMULATOR_WATCHOS)
if((IS_IOS_PLATFORM) AND (PLATFORM IN_LIST WATCH_PLATFORMS))
if(IS_IOS_PLATFORM AND (PLATFORM IN_LIST WATCH_PLATFORMS))
set(IS_IOS_WATCH_PLATFORM ON)
else()
set(IS_IOS_WATCH_PLATFORM OFF)
endif()

# set C++ standard to version 11 for all targets
# set C and C++ standards for all targets
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

Expand Down Expand Up @@ -91,10 +92,6 @@ if(APPLE)
add_definitions(-D__OSX__)
endif()

if(NOT WIN32)
add_definitions(-DHAVE_UNISTD_H -DHAVE_PTHREAD)
endif()

add_definitions(${BUILD_FLAGS})

# update version information in src/include/core/git_version.hpp
Expand Down Expand Up @@ -132,22 +129,22 @@ configure_file(src/include/core/git_version.hpp.in src/include/core/git_version.
add_subdirectory(src/newmat)
add_subdirectory(progsrc/smileapi)

if(NOT IS_IOS_WATCH_PLATFORM)
if(NOT IS_IOS_PLATFORM AND NOT IS_IOS_WATCH_PLATFORM)
add_subdirectory(progsrc/smilextract)
endif()

# libopensmile target #########################################################

set(opensmile_SOURCES
$<TARGET_OBJECTS:newmat>
src/classifiers/julius/juliusSink.cpp
src/classifiers/libsvm/svm.cpp
src/classifiers/libsvmliveSink.cpp
src/classifiers/svmSink.cpp
src/core/commandlineParser.cpp
src/core/componentManager.cpp
src/core/configManager.cpp
src/core/dataMemory.cpp
src/core/dataMemoryLevel.cpp
src/core/dataProcessor.cpp
src/core/dataReader.cpp
src/core/dataSelector.cpp
Expand All @@ -159,6 +156,7 @@ set(opensmile_SOURCES
src/core/smileCommon.cpp
src/core/smileComponent.cpp
src/core/smileLogger.cpp
src/core/smileThread.cpp
src/core/vecToWinProcessor.cpp
src/core/vectorProcessor.cpp
src/core/vectorTransform.cpp
Expand Down Expand Up @@ -245,7 +243,6 @@ set(opensmile_SOURCES
src/lldcore/pitchSmoother.cpp
src/lldcore/plp.cpp
src/lldcore/spectral.cpp
src/other/bowProducer.cpp
src/other/maxIndex.cpp
src/other/valbasedSelector.cpp
src/other/vectorConcat.cpp
Expand All @@ -257,7 +254,6 @@ set(opensmile_SOURCES
src/portaudio/portaudioSource.cpp
src/portaudio/portaudioWavplayer.cpp
src/android/openslesSource.cpp
src/android/jniMessageInterface.cpp
src/rnn/rnn.cpp
src/rnn/rnnProcessor.cpp
src/rnn/rnnSink.cpp
Expand All @@ -282,7 +278,6 @@ if(STATIC_LINK)
target_compile_definitions(opensmile PUBLIC -D__STATIC_LINK)
else()
add_library(opensmile SHARED ${opensmile_SOURCES})
target_compile_definitions(opensmile PRIVATE -DBUILDING_DLL)
endif()

target_include_directories(opensmile
Expand All @@ -308,7 +303,6 @@ if(NOT WIN32 AND NOT STATIC_LINK)
endif()

if(WIN32)
target_compile_definitions(opensmile PUBLIC -D__VISTA)
target_link_libraries(opensmile
PRIVATE
Ws2_32 # Winsock2 for networking under Windows
Expand Down Expand Up @@ -348,20 +342,6 @@ endif()
# allow linking of libopensmile into shared libraries
set_property(TARGET opensmile PROPERTY POSITION_INDEPENDENT_CODE ON)

if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_compile_options(opensmile
PRIVATE
-ffast-math
-ftree-vectorize
)
else()
target_compile_options(opensmile
PRIVATE
/fp:fast
/GL
)
endif()

if (MARCH_NATIVE AND NOT MSVC AND NOT ANDROID_NDK AND NOT IS_IOS_PLATFORM)
target_compile_options(opensmile
PRIVATE
Expand Down Expand Up @@ -447,13 +427,6 @@ if(WITH_OPENCV)
target_compile_definitions(opensmile PRIVATE -DHAVE_OPENCV)
endif(WITH_OPENCV)

# Julius
if(WITH_JULIUS)
find_package(Julius REQUIRED)
target_link_libraries(opensmile PRIVATE Julius)
target_compile_definitions(opensmile PRIVATE -DHAVE_JULIUSLIB)
endif(WITH_JULIUS)

install(TARGETS opensmile
DESTINATION lib
EXPORT opensmile-targets)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Copyright (c) audEERING GmbH, Gilching, Germany. All rights reserved.
http://www.audeering.com/

Copyright (c) 2016-2020, audEERING GmbH
Copyright (c) 2016-2022, audEERING GmbH
Copyright (c) 2013-2015, audEERING UG (haftungsbeschraenkt)
Copyright (c) 2008-2013, Institute for Human-Machine Communication,
Technische Universitaet Muenchen, Germany
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Contact us at [email protected] (or visit us at https://www.audeering.com) for
Original authors: Florian Eyben, Felix Weninger, Martin Wöllmer, Björn Schuller
Copyright © 2008-2013, Institute for Human-Machine Communication, Technische Universität München, Germany
Copyright © 2013-2015, audEERING UG (haftungsbeschränkt)
Copyright © 2016-2020, audEERING GmbH
Copyright © 2016-2022, audEERING GmbH

Citing
------
Expand Down
3 changes: 1 addition & 2 deletions buildIos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ ios_flags=(
-DIS_IOS_PLATFORM=ON
-DSMILEAPI_STATIC_LINK=ON # required since shared libraries are not supported on iOS
-DCMAKE_TOOLCHAIN_FILE=./cmake/ios.toolchain.cmake
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY=""
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=OFF
)

cmake -G "Xcode" "${cmake_flags[@]}" "${ios_flags[@]}" -DBUILD_FLAGS="$build_flags" "$@" ..
Expand Down
33 changes: 20 additions & 13 deletions buildIosUniversalLib.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
#!/bin/bash

# Set -DPLATFORM to "SIMULATOR" to build for iOS simulator 32 bit (i386) DEPRECATED
# Set -DPLATFORM to "SIMULATOR64" (example above) to build for iOS simulator 64 bit (x86_64)
# Set -DPLATFORM to "OS" to build for Device (armv7, armv7s, arm64)
# Set -DPLATFORM to "OS64" to build for Device (arm64)
# Set -DPLATFORM to "OS64COMBINED" to build for Device & Simulator (FAT lib) (arm64, x86_64)
# Set -DPLATFORM to "TVOS" to build for tvOS (arm64)
# Set -DPLATFORM to "TVOSCOMBINED" to build for tvOS & Simulator (arm64, x86_64)
# Set -DPLATFORM to "SIMULATOR_TVOS" to build for tvOS Simulator (x86_64)
# Set -DPLATFORM to "WATCHOS" to build for watchOS (armv7k, arm64_32)
# Set -DPLATFORM to "WATCHOSCOMBINED" to build for watchOS & Simulator (armv7k, arm64_32, i386)
# Set -DPLATFORM to "SIMULATOR_WATCHOS" to build for watchOS Simulator (i386)
# Set -DPLATFORM to
# OS = Build for iPhoneOS.
# OS64 = Build for arm64 iphoneOS.
# OS64COMBINED = Build for arm64 x86_64 iphoneOS. Combined into FAT STATIC lib (supported on 3.14+ of CMakewith "-G Xcode" argument ONLY)
# SIMULATOR = Build for x86 i386 iphoneOS Simulator.
# SIMULATOR64 = Build for x86_64 iphoneOS Simulator.
# SIMULATORARM64 = Build for arm64 iphoneOS Simulator.
# TVOS = Build for arm64 tvOS.
# TVOSCOMBINED = Build for arm64 x86_64 tvOS. Combined into FAT STATIC lib (supported on 3.14+ of CMake with "-G Xcode" argument ONLY)
# SIMULATOR_TVOS = Build for x86_64 tvOS Simulator.
# WATCHOS = Build for armv7k arm64_32 for watchOS.
# WATCHOSCOMBINED = Build for armv7k arm64_32 x86_64 watchOS. Combined into FAT STATIC lib (supported on 3.14+ of CMake with "-G Xcode" argument ONLY)
# SIMULATOR_WATCHOS = Build for x86_64 for watchOS Simulator.
# MAC = Build for x86_64 macOS.
# MAC_ARM64 = Build for Apple Silicon macOS.
# MAC_CATALYST = Build for x86_64 macOS with Catalyst support (iOS toolchain on macOS).
# Note: The build argument "MACOSX_DEPLOYMENT_TARGET" can be used to control min-version of macOS
# MAC_CATALYST_ARM64 = Build for Apple Silicon macOS with Catalyst support (iOS toolchain on macOS).
# Note: The build argument "MACOSX_DEPLOYMENT_TARGET" can be used to control min-version of macOS

PLATFORMS=("OS" "SIMULATOR64")
COMBINED_PLATFORMS=("OS64COMBINED" "TVOSCOMBINED" "WATCHOSCOMBINED")
Expand Down Expand Up @@ -51,8 +59,7 @@ for PLATFORM in "${PLATFORMS[@]}"; do

if [[ " ${COMBINED_PLATFORMS[@]} " =~ " ${PLATFORM} " ]]; then
ios_flags+=(
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY=""
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=OFF
)
cmake "${cmake_flags[@]}" "${ios_flags[@]}" -DBUILD_FLAGS="$build_flags" "$@" -G Xcode ../..
cmake --build . --target install --config Release
Expand Down
3 changes: 0 additions & 3 deletions build_flags.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,4 @@ $cmakeFlags = @(

# whether to compile with OpenSL ES support (only applies when building for Android)
"-DWITH_OPENSLES=ON"

# whether to compile with Julius support
"-DWITH_JULIUS=OFF"
)
3 changes: 0 additions & 3 deletions build_flags.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@ cmake_flags=(

# whether to compile with OpenSL ES support (only applies when building for Android)
-DWITH_OPENSLES=ON

# whether to compile with Julius support
-DWITH_JULIUS=OFF
)

build_flags="${build_flags[@]}"
53 changes: 0 additions & 53 deletions cmake/FindJulius.cmake

This file was deleted.

2 changes: 1 addition & 1 deletion cmake/Findportaudio.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ if (PORTAUDIO_LIBRARIES AND PORTAUDIO_INCLUDE_DIRS)
set(PORTAUDIO_FOUND TRUE)
else (PORTAUDIO_LIBRARIES AND PORTAUDIO_INCLUDE_DIRS)
if (NOT WIN32)
include(FindPkgConfig)
find_package(PkgConfig)
pkg_check_modules(PORTAUDIO2 portaudio-2.0)
endif (NOT WIN32)

Expand Down
Loading

0 comments on commit a76ec42

Please sign in to comment.