Allows generating captions via the windows speech recognition API (SAPI). This is currently marked as experimental due to speech recognition technology still being less than ideal. Speech recognition technology in general is probably never going to be anywhere near perfect. Microsoft's speech recognition in particular requires a bit of training via the windows speech recognition tool to ensure it can dictate better. Clear speech with a good mic is recognized fairly well, but casual speech and/or speaking with a poor microphone will have some significant issues. Captions can often be way off when speaking casually rather than with clear diction.
83 lines
1.7 KiB
CMake
83 lines
1.7 KiB
CMake
project(frontend-tools)
|
|
|
|
if(APPLE)
|
|
find_library(COCOA Cocoa)
|
|
include_directories(${COCOA})
|
|
endif()
|
|
|
|
if(WIN32 OR APPLE)
|
|
set(frontend-tools_HEADERS
|
|
auto-scene-switcher.hpp
|
|
)
|
|
set(frontend-tools_SOURCES
|
|
auto-scene-switcher.cpp
|
|
)
|
|
set(frontend-tools_UI
|
|
forms/auto-scene-switcher.ui
|
|
)
|
|
endif()
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/frontend-tools-config.h.in"
|
|
"${CMAKE_BINARY_DIR}/config/frontend-tools-config.h")
|
|
|
|
set(frontend-tools_HEADERS
|
|
${frontend-tools_HEADERS}
|
|
"${CMAKE_BINARY_DIR}/config/frontend-tools-config.h"
|
|
output-timer.hpp
|
|
tool-helpers.hpp
|
|
)
|
|
set(frontend-tools_SOURCES
|
|
${frontend-tools_SOURCES}
|
|
frontend-tools.c
|
|
output-timer.cpp
|
|
)
|
|
set(frontend-tools_UI
|
|
${frontend-tools_UI}
|
|
forms/output-timer.ui
|
|
)
|
|
|
|
if(WIN32)
|
|
set(frontend-tools_PLATFORM_SOURCES
|
|
auto-scene-switcher-win.cpp)
|
|
|
|
if(BUILD_CAPTIONS)
|
|
set(frontend-tools_PLATFORM_SOURCES
|
|
${frontend-tools_PLATFORM_SOURCES}
|
|
captions.cpp
|
|
captions-stream.cpp)
|
|
set(frontend-tools_PLATFORM_HEADERS
|
|
captions.hpp
|
|
captions-stream.hpp)
|
|
set(frontend-tools_PLATFORM_UI
|
|
forms/captions.ui)
|
|
endif()
|
|
elseif(APPLE)
|
|
set(frontend-tools_PLATFORM_SOURCES
|
|
auto-scene-switcher-osx.mm)
|
|
set_source_files_properties(auto-scene-switcher-osx.mm
|
|
PROPERTIES COMPILE_FLAGS "-fobjc-arc")
|
|
|
|
set(frontend-tools_PLATFORM_LIBS
|
|
${COCOA})
|
|
endif()
|
|
|
|
qt5_wrap_ui(frontend-tools_UI_HEADERS
|
|
${frontend-tools_UI}
|
|
${frontend-tools_PLATFORM_UI})
|
|
|
|
add_library(frontend-tools MODULE
|
|
${frontend-tools_HEADERS}
|
|
${frontend-tools_SOURCES}
|
|
${frontend-tools_UI_HEADERS}
|
|
${frontend-tools_PLATFORM_SOURCES}
|
|
${frontend-tools_PLATFORM_HEADERS}
|
|
)
|
|
target_link_libraries(frontend-tools
|
|
${frontend-tools_PLATFORM_LIBS}
|
|
obs-frontend-api
|
|
Qt5::Widgets
|
|
libobs)
|
|
|
|
install_obs_plugin_with_data(frontend-tools data)
|