31 Commits

Author SHA1 Message Date
Tabitha Cromarty
6a4abbc848 Make multiple MacOS variants targeting different Metal versions (#266)
* Make multiple MacOS variants targeting different Metal versions

Different MacOS versions support different maximum Metal versions. As we build on MacOS 14, it's
likely that when embedding the Metal shaders into the Metal backend they're being built for
Metal 3.1, the maximum supported version on MacOS 14. This may be why users are seeing crashes
when trying to use Metal on older versions of MacOS

This will also allow users of MacOS 15 and newer to take advantage of improvements from Metal 3.2

* Fix checking incorrect env var for MacOS version
2025-12-07 13:04:18 +00:00
Tabitha Cromarty
0650b14ba1 Fix MacOS 12 crashes and codesigning issues (#262)
* Refactor, fix codesigning, generate debug package

* Bundle libomp and Accelerate framework

* Bump version numbers

* Stop bundling Accelerate framework

* Update whispercpp deps to 0.0.11-2

* Format cmake files
2025-11-21 00:14:06 +00:00
Tabby Cromarty
67e259fab4 Attempt to force resign bundle after build on MacOS 2025-11-11 22:09:34 +00:00
Tabby Cromarty
4ec6ccac9b Try to get failure log if notarization fails 2025-11-11 20:38:07 +00:00
Tabby Cromarty
5479fea8b4 Fix minor issues in metadata and build scripts found when porting changes to obs-cleanstream 2025-11-11 18:23:47 +00:00
Tabby Cromarty
fb950ab7e4 Override config in GH actions rather than build scripts and fix passing accel to packaging action 2025-11-07 16:21:04 +00:00
Tabby Cromarty
dc0406aac1 Ignore --config parameter in build-linux script if amd acceleration used 2025-11-07 15:51:43 +00:00
Tabby Cromarty
f017f0ba9f Ignore --config parameter in package-linux script if amd acceleration used 2025-11-07 15:30:01 +00:00
Tabby Cromarty
4c4e498d57 Set Release config as default in package-linux script if amd acceleration used 2025-11-07 15:15:44 +00:00
Tabitha Cromarty
b93277e608 Acceleration improvements and fixes (#241)
* Update Whisper.cpp and add Linux acceleration (source builds only)

Update Whisper.cpp from v1.6.2 to v1.8.1

Supported Linux acceleration methods:
* CUDA
* hipblas
* Vulkan
* OpenCL

If suitable development libraries are installed for any of the above when building from source, then support for them
will be built into both whisper.cpp and the LocalVocal plugin

* Test behaviour with combinations of multiple backends

* Use found dependencies to decide which acceleration features to enable

Also try to build Whispercpp from source on Windows with acceleration (not working)

* Add GPU device selection option in plugin settings

Allows the selection of which GPU backend to use if more than one is
available, as well as disabling GPU backends in case the only
available ones don't work or are somehow slower than the CPU alone

* Add OpenCL support for Linux source build

* Comment out seemingly unused DISABLE_ONNX_RUNTIME_GPU option

* Update prebuilt Whisper deps to 0.0.9 (Whisper 1.8.2) and refactor cmake file

* Handle new GGML IGPU device type

* Bump whisper deps to 0.0.9-1 to fix hipblas

* Try to avoid running apt in CI when packages are cached

* Add option to enable/disable flash attention

* Install Vulkan SDK properly for CI build and try adding OpenCL and hip dev libs

* Build with shared libs on linux and allow use of dynamic backends

* Update deps to 0.0.10 (runtime module linking/importing is likely broken)

* Update deps to 0.0.10-2; try to fix linking & other platform specific issues

* Bump version number to 0.5.0

* Fix Ubuntu packaging

* Fix dynamic linking on MacOS

* Update README

* Cleanup CMake files a bit and make prebuilt build on Linux the default over full source build

* Fix Linux full source build
2025-11-07 14:38:53 +00:00
Tabitha Cromarty
d954c421ba Use more caching to reduce CI times for Mac and Linux (#252)
* Try caching ICU build prefix to speed up CI times

* Don't bother with Linux ICU cache

The Linux build spends most of its time installng packages with apt not building ICU

* Reduce ICU cache size by not including src dir

* Try caching linux apt packages

* Find cached ICU correctly

* Use specific version of cache-apt-packages-action

* Format CMakeLists.txt

* Fix checking of find_library vars

* Empty commit to check improved build times after caching

* Add qt base dev packages to cached CI packages
2025-10-31 13:14:00 +00:00
Tabitha Cromarty
1af21f2b08 Use system ICU and curl by default on Linux where possible (#250)
* Use system ICU and curl by default on Linux

* Add curl, icu and vulkan apt dependencies

* Stick to using static ICU for CI builds for compatibility
2025-10-30 15:36:52 +00:00
Tabitha Cromarty
eccea49d99 Require OpenBLAS on Linux so that CT2 works (and enable it for Whisper too) (#251)
* Enable some CT2 backends on Linux

* Might as well enable OpenBLAS for whisper too

* Format cmake files

* Update README to add info about OpenBLAS now being a required dependency

* Fix OpenBLAS dependencies and linking for Ubuntu package
2025-10-30 14:49:12 +00:00
Tabitha Cromarty
6a90c27e6b Fix compatibility with OBS v32 (#231)
Stop using deprecated API functions that were removed in OBS v32 (See: https://github.com/obsproject/obs-studio/pull/12488)
* Use the return value from `obs_scene_add` instead of looking it up after creating it using the deprecated `obs_scene_sceneitem_from_source` function
* Use v2 sceneitem transform API instead of deprecated v1 API
* Change all uses of `circlebuf` to `deque` as it's been renamed in OBS

Additional bug fixes:
* Wait until scenes are loaded to create text source if it's missing. Previously the creation of the text source could fail due to there not being any scenes yet to create it in
* Fix build on MacOS and some Linux distributions
* Catch exceptions thrown by ONNX runtime and log an error instead of crashing

Other changes:
* Update OBS source dependencies
  * OBS: 30.1.2 -> 31.1.1
  * OBS deps: 2024-03-19 -> 2025-07-11
  * Qt6 deps: 2024-03-19 -> 2025-02-04
* Update build files to more closely match the current plugin template repository

Fixes: #230
Fixes: #227
2025-10-17 22:03:16 +01:00
Roy Shilkrot
548cb293ee Update prebuilt Whispercpp version to 0.0.7 and change download URL (#180)
* Update prebuilt Whispercpp version to 0.0.7 and change download URL

* Update acceleration options in build scripts
2024-10-25 12:28:50 -04:00
Roy Shilkrot
78907ea14d refactor: Update whisper model path and enable hipBLAS acceleration (#146)
* refactor: Update whisper model path and enable hipBLAS acceleration

* refactor: Update whisper model path and enable hipBLAS acceleration

* refactor: Update whisper model path and enable hipBLAS acceleration

* refactor: Update whisper model path and enable hipBLAS acceleration

* refactor: Update whisper model path and enable hipBLAS acceleration

* refactor: Update whisper model path and enable CoreML acceleration
2024-07-31 00:40:36 -04:00
Roy Shilkrot
65da380f9f Bump whisper, clblast, add buffered output (#90)
* Bump whisper, clblast, add buffered output

* Update CPU_OR_CUDA environment variable error messages

* Update Cublas validation in Package-Windows.ps1 and initialize function in captions-thread.h

* Update Cublas validation and fix typo in Package-Windows.ps1

* Update default whisper model path to Whisper Tiny English (74Mb)

* Update translation strings for multiple locales
2024-04-18 10:28:32 -04:00
Kaito Udagawa
f4307168de Update build scripts according to the latest obs-plugintemplate (#87)
* Update build-project.yaml

* Update action.yaml

* Update helpers_common.cmake

* Update compilerconfig.cmake

* Update .clang-format

* Fix

* Fix

* Update build-project.yaml

* Update check-format.yaml

* Update push.yaml

* Update build-project.yaml
2024-04-15 08:19:40 -04:00
Roy Shilkrot
4638ce80fe Remove Cublas input from build script (#80)
* Remove Cublas input from build script

* Remove CUDA Toolkit installation and curl submodule
2024-04-01 21:59:37 -04:00
Roy Shilkrot
a569da2ed3 Built-in Translation (#79)
* Add translation feature and dependencies

* Add model-infos.cpp and translate_add_context to en-US.ini

* Fix formatting and whitespace issues

* Update build plugin and version, fix translation and whisper-utils

* Fix compiler warning and simplify code in transcription-filter.cpp

* Update CMakePresets.json and buildspec.json

* Fix Clang compiler warnings

* Enable QT in CMakePresets.json

* Fix compiler warnings and create missing config folder

* Fix formatting of is_lead_byte and is_trail_byte macros
2024-04-01 14:37:31 -04:00
Roy Shilkrot
17ffcfc2c1 Enable MacOS ARM64 and Windows CUDA builds (#76)
* Enable CoreML and allow fallback to CPU on MacOS ARM64

* Disable CoreML support on MacOS ARM64

* Fix build configuration for MacOS

* Update macOS build configuration based on MACOS_ARCH environment variable

* Update BuildWhispercpp.cmake to disable FMA instructions on non-Apple platforms

* Add cuBLAS support to build and package actions

* Update Cublas versions in Windows build and packaging scripts

* Update CUDA_TOOLKIT_ROOT_DIR environment variable

* Add sub-packages and non-cuda-sub-packages options to CUDA toolkit setup

* Update CUDA sub-packages in build-project.yaml

* Add "visual_studio_integration" to sub-packages in CUDA build workflow

* Fix typo in build-project.yaml

* Fix typo in CUDA build method

* Update sub-packages in CUDA toolkit installation

* Remove unnecessary CUDA sub-packages and method
2024-03-22 13:33:07 -04:00
Roy Shilkrot
8fe7da6d42 Fix Max Channels, Update macOS brew command and fix compiler warnings (#75) 2024-03-17 13:16:01 -04:00
Kaito Udagawa
a02b2ac819 Revert Fix CI partially (#38)
* Revert "Fix CI (#37)"

This reverts commit 832efe1865.

* Update build-project.yaml

* Update .build.zsh
2023-10-11 04:47:54 +09:00
Kaito Udagawa
832efe1865 Fix CI (#37) 2023-10-11 04:01:09 +09:00
Roy Shilkrot
15b6e1ed00 Merge pull request #28 from obs-ai/roy.fix_linux_crash 2023-09-28 02:04:23 -04:00
Roy Shilkrot
3fa1f11418 fix osx build 2023-09-28 00:09:56 -04:00
Roy Shilkrot
01412a1094 add openblas 2023-09-25 23:55:32 -04:00
Przemek Pawlas
9e3d94eca3 fix: Windows CUDA compilation was incorrectly described 2023-09-15 20:16:52 +02:00
Roy Shilkrot
b92bf4d36c add cuda build options 2023-09-12 01:03:05 -04:00
Roy Shilkrot
d39af65712 add zip to win pkg 2023-08-15 23:22:32 +03:00
Roy Shilkrot
ad7cb94c55 Initial commit 2023-08-10 22:05:20 +03:00