Linux 源码构建需先装 libcurl、libssl、icu、openblas、OpenCL、Vulkan 等开发依赖并安装 Rust;构建前需设置 ACCELERATION 为 generic/nvidia/amd;macOS 打包脚本输出目录可能与预期不符,需手动改名。
obs-localvocal
royshilGPL-2.0活跃维护OBS 直播插件,用本地 Whisper 模型实时做语音识别和字幕,不用把音频传到云端,直播时也能直接出字幕。
OBS plugin for local speech recognition and captioning using AI
Windows/macOS 直接下载 Releases 中的安装包运行;Linux 用 .deb 安装或源码构建:./.github/scripts/build-linuxREADME 称无需 GPU,可在 CPU 上运行;同时提供 NVidia、AMD 专用安装包,Linux 构建可启用 CUDA/ROCm/Vulkan/OpenCL 后端。未给出具体显存或型号要求。
OBS 插件,用本地 Whisper 实时把语音转成字幕并翻译,无需云端和 GPU
OBS 直播插件,用本地 Whisper 模型实时做语音识别和字幕,不用把音频传到云端,直播时也能直接出字幕。
核心能力
- 基于 whisper.cpp 在本地实时转写语音
- 用 CTranslate2 把转写结果翻译成任意语言
- 数据全部留在本机,无需联网、无云成本
- 提供 Windows/Linux/macOS 预编译安装包
- 按 generic/NVidia/AMD 分发包适配不同加速
容易踩的坑
- 0.6.2OBS Localvocal 0.6.2最新正式版2026-04-21 · 2026-04-21 20:06 UTC
What's Changed
- Fix onnxruntime clash with BackgroundRemoval by @NaGeLBailey in https://github.com/royshil/obs-localvocal/pull/303
- Use CI preset for building Ubuntu to avoid building with system ICU by @Tabby in https://github.com/royshil/obs-localvocal/pull/305
New Contributors
- @NaGeLBailey made their first contribution in https://github.com/royshil/obs-localvocal/pull/303
Full Changelog: https://github.com/royshil/obs-localvocal/compare/0.6.1...0.6.2
Checksums
obs-localvocal-0.6.2-macos-12-arm64.pkg: 7d5886b5d8c060350a5bd5e10476cd5a95651690117ddd09bd05d060090fd9a5 obs-localvocal-0.6.2-macos-12-x86_64.pkg: 29506f7aecf023d5edd6f0101974b98f814830f37bf206b5ebfe2436d2c1b4a5 obs-localvocal-0.6.2-macos-13-arm64.pkg: 057a6841199c11f6d0cc8924c25c927ee6cdf1224afabfaa28fb2ce688ffd70d obs-localvocal-0.6.2-macos-13-x86_64.pkg: bf61e7130c23b5a5082e452e4109e588ddebb32e668b44da6fe7284df45b556a obs-localvocal-0.6.2-macos-14-arm64.pkg: cd8ce70828df7e496e2f62b2b4d12398f39122a1d6bde04f0b7a13ea3a830fda obs-localvocal-0.6.2-macos-14-x86_64.pkg: 82e7418cd58fa0bc1dde09d09a80796aba5a188319030ecafdc974d8a0186d0b obs-localvocal-0.6.2-macos-15-arm64.pkg: e0a1acece3a9bf016bf3311471b33385dd1fe0e3c3636c9f0246118fa3d2e838 obs-localvocal-0.6.2-macos-15-x86_64.pkg: 79e01249308b2d255312918437aa22588531deed6d7bbf058cffd5c6372b791e obs-localvocal-0.6.2-macos-embedded-arm64.pkg: 62abc6c0b6f0b979a2107e27fa60a33986b57af007496c10afa02d43143a1b85 obs-localvocal-0.6.2-macos-embedded-x86_64.pkg: 2259f9daa8cbf1f569b009ca1dd7ec77bc81cc087106b80bb66dae0ac5fd7deb obs-localvocal-0.6.2-source.tar.xz: 8886f6fa65c54f4640417c830392a62eebcdd4ec0f6be67b889ff21974bcb679 obs-localvocal-0.6.2-windows-x64-amd-Installer.exe: 3e140d048bdbdb40de866832d5ad2269c45a5ed834f246e2024c9ed50863b8db obs-localvocal-0.6.2-windows-x64-amd.zip: 316f8165b4a64298e171e15f54613a56173ac62d94cd8a254b1daddc11330e03 obs-localvocal-0.6.2-windows-x64-generic-Installer.exe: c8f276ae183b81f4f4fc97bbdb5ce398a3edfd228f562c53c918f565247ca674 obs-localvocal-0.6.2-windows-x64-generic.zip: 463f6c4733c76c80a4174f1930a8b3b329d3b92a72df0ecdb21780fab122871b obs-localvocal-0.6.2-windows-x64-nvidia-Installer.exe: 6ba284f16bedafddc52ba6294ea4e23e3ecd2aeac2647c9a8bc685b8886ac0ef obs-localvocal-0.6.2-windows-x64-nvidia.zip: dd8d4aa2640e85b5c3e47e8f1432040c150d5830cb5f62b814bfbb1f2bcde4b8 obs-localvocal-0.6.2-x86_64-linux-gnu-amd.deb: b26446b40b69e6984647da21d5916554dd43b9d24a878e3101aa37b619affc79 obs-localvocal-0.6.2-x86_64-linux-gnu-generic-dbgsym.ddeb: 6c1eaeb1a8111b881bcdc34bd1b82c3d900672b689f40f0491cc444034228468 obs-localvocal-0.6.2-x86_64-linux-gnu-generic.deb: 6b487d640b993f9593bd76e770c5c3acb84d0f731960b25bb3061be9cabe58cf obs-localvocal-0.6.2-x86_64-linux-gnu-nvidia-dbgsym.ddeb: 339e991b061bc671eae10f7995b66455f05beea36c8ba8023c0b10642858f2aa obs-localvocal-0.6.2-x86_64-linux-gnu-nvidia.deb: 0a21f27251da5ce9b726ad284fcc3f5908002a8df19a0d17cb28b45714b2907f - 0.6.1OBS Localvocal 0.6.12026-04-01 · 2026-04-01 16:17 UTC
查看更新说明
What's Changed
- Using deprecated model for Claude model by @Antblue in https://github.com/royshil/obs-localvocal/pull/292
- Add Flatpak packaging support by @FlorentPoinsaut in https://github.com/royshil/obs-localvocal/pull/297
- Flatpak releases will come later, for now this just makes it easier for users to build the plugin as a flatpak package
- Fix ranges for logprob_thold, entropy_thold and n_max_text_ctx whisper params by @Tabby in https://github.com/royshil/obs-localvocal/pull/299
- Restored the embedded/generic MacOS variant (the way MacOS builds used to be before v0.6.0) as well as the MacOS version specific variants added in v0.6.0
New Contributors
- @Antblue made their first contribution in https://github.com/royshil/obs-localvocal/pull/292
- @FlorentPoinsaut made their first contribution in https://github.com/royshil/obs-localvocal/pull/297
Full Changelog: https://github.com/royshil/obs-localvocal/compare/0.6.0...0.6.1
Checksums
obs-localvocal-0.6.1-macos-12-arm64.pkg: 3885d48fe2ac39b587678f3f68bd01d32d6c29fcad48777fd62791d723844462 obs-localvocal-0.6.1-macos-12-x86_64.pkg: 821bd0e71c1c08494f2b04bb6faa1c5d9fdd2b5bbaa09fbeb9589ebab9916806 obs-localvocal-0.6.1-macos-13-arm64.pkg: 7342428df4339d3a8ff39d4bf7c40cdd607af561cf12e37e59d9b826b70dfba5 obs-localvocal-0.6.1-macos-13-x86_64.pkg: 3b7f3f748eac39129a245afd5f7d9d9ca2979635aecde1cae8aadd64c9cdcd52 obs-localvocal-0.6.1-macos-14-arm64.pkg: fb2432e6b2403df7d026aed87a3f0acf87fa9e28b8dc15bf532fce494bbcbb6c obs-localvocal-0.6.1-macos-14-x86_64.pkg: 65c21e694ba0f4de40880f67ac35fa791f727bfe6d71c21fceac994c43f49ced obs-localvocal-0.6.1-macos-15-arm64.pkg: f245e6577aad3039d887cbb62da461b1b6b7808aa611e675cda13bb5d649fa7b obs-localvocal-0.6.1-macos-15-x86_64.pkg: 66cc150b6577c5cdb2d42f43ffcd5712ec374df9199c7f6ed13288b7ad745d34 obs-localvocal-0.6.1-macos-embedded-arm64.pkg: 198663e23fcde2c84f1af15091f7ee63aa328c2b9ad40c5efdcc133c21d25bfc obs-localvocal-0.6.1-macos-embedded-x86_64.pkg: 6d9027fabfe8ee22083e1336de135c341f15fdde6beb49dab646b8689865fb6f obs-localvocal-0.6.1-source.tar.xz: 477d17fbfa497e6ec0847e2ed63458afca04ea149989a1e569706b9e4bc84859 obs-localvocal-0.6.1-windows-x64-amd-Installer.exe: 01233af2a125172bda961a6b2ff037d442181fda098a75a2c99f0f44f64ddb05 obs-localvocal-0.6.1-windows-x64-amd.zip: 2a2236217fa9916afd0262d479a971348b8daea27471cfcc7a4147e346cabe23 obs-localvocal-0.6.1-windows-x64-generic-Installer.exe: d422061000fce1dd00f25454c208e81a1c002743b2314b7dcba4b23e46b2e24f obs-localvocal-0.6.1-windows-x64-generic.zip: 3c53b5c991069f9267c0948c6b4f0fa7981c17a7c32f2572ec6b3039aa4526b5 obs-localvocal-0.6.1-windows-x64-nvidia-Installer.exe: c2d896d5ea4f3fa5981b065c46defd2e74fc60907b9f84ee7b2c0818ce60fa16 obs-localvocal-0.6.1-windows-x64-nvidia.zip: c7201a9cca03426e6afd14973f59d65c18225cc3a90eaa6b4b36cc8af5e7a399 obs-localvocal-0.6.1-x86_64-linux-gnu-amd.deb: a308957120edca448c35aef071a88b3b92524694a02938c8cfe1df4cdc6a379b obs-localvocal-0.6.1-x86_64-linux-gnu-generic-dbgsym.ddeb: 3b4bf343ae9e3977986706beeefcef12d053dc6a3531db331926bca870385fa5 obs-localvocal-0.6.1-x86_64-linux-gnu-generic.deb: 65c49151735331937b5124ad0a27b7ae777b37d2806d1bffd107f07fc476d3f8 obs-localvocal-0.6.1-x86_64-linux-gnu-nvidia-dbgsym.ddeb: 57645e35e4b9c3961ee223b027ccd7a07374f59f202cb147fe3e09e217ddd64b obs-localvocal-0.6.1-x86_64-linux-gnu-nvidia.deb: 09dbfeccb2370119ae9e59b1f72d2bf2eb07d24dcddf5dea310f9b864fc7f487 - 0.6.0OBS Localvocal 0.6.02026-01-05 · 2026-01-05 17:43 UTC
查看更新说明
Experimental release to test whether building for specific Metal versions fixes crashes on older MacOS releases
Checksums
obs-localvocal-0.6.0-macos-12-arm64.pkg: e6fefcd9a3e9000774b9d8b019c7f84c76e7c6c2c95c33aa71153a6f80dad421 obs-localvocal-0.6.0-macos-12-x86_64.pkg: 75a2876e04a49b57db323bf7c5a0b4e274e26b6d431f2f9f3a19a4308f239d88 obs-localvocal-0.6.0-macos-13-arm64.pkg: 9e3a48390ad484c9d9cb8e917a3b0113aa8bcd094bbd094aba29fd63e0112cfb obs-localvocal-0.6.0-macos-13-x86_64.pkg: 9070e09cccab3aa805bc82c51795d76b9f9811cd238299d252336bd66731b1ee obs-localvocal-0.6.0-macos-14-arm64.pkg: 9958e88ca9c0779abbb05eca1a300c11791efd01248901738e70f908d76f489e obs-localvocal-0.6.0-macos-14-x86_64.pkg: 7b0f5a7765133a95662c2f92437963411caf87f23d5a3c60b99746878dd63aec obs-localvocal-0.6.0-macos-15-arm64.pkg: a7bc9f3b4f8a7ad831520176968bdfe471e41f2c6279d282b536617ad7ca1609 obs-localvocal-0.6.0-macos-15-x86_64.pkg: 096a0bd76959373eca576529c295a61b0490d38202088b4dcf59099068670515 obs-localvocal-0.6.0-source.tar.xz: 62fb5718c6fe910290a21da86dc381d7933cac91e59c1d12c3c072bfd262db40 obs-localvocal-0.6.0-windows-x64-amd-Installer.exe: d5bae74a103218ac28746e76f97c66860feb532fd605000f6fdc7d6af446323e obs-localvocal-0.6.0-windows-x64-amd.zip: 080914e594e4ba98667578819f1c882fe10a254600e255477107cf0191598554 obs-localvocal-0.6.0-windows-x64-generic-Installer.exe: 680fd23684a83f3646c8a86ddc45c5527ff33cd8cd0878b259e9a61a073dce59 obs-localvocal-0.6.0-windows-x64-generic.zip: c75990998acf81156fa8fa79e1e41c36b9883e6539f00240f653e45c2a4c9748 obs-localvocal-0.6.0-windows-x64-nvidia-Installer.exe: 6bc838515ca8e3e853f8b6d83cad39e5f8a48149d95a7b38a359b4c61db31a73 obs-localvocal-0.6.0-windows-x64-nvidia.zip: 0a05b96e2f645f66f6dff671d335fdc74a88055330f4be989bfe159656448727 obs-localvocal-0.6.0-x86_64-linux-gnu-amd.deb: d83236de2f0589401450b54603b7e00b287b5fbbab39cffe696423b11050d0a9 obs-localvocal-0.6.0-x86_64-linux-gnu-generic-dbgsym.ddeb: 49ee2d3a08f101b7a9b195baa29bc95d936e3ff00e7cd404374fbfcaf5d5647f obs-localvocal-0.6.0-x86_64-linux-gnu-generic.deb: 0a67c58b255e0a207b725f583194dea657a77c9d58bebf8a86e159e767a5ac23 obs-localvocal-0.6.0-x86_64-linux-gnu-nvidia-dbgsym.ddeb: 4afb6d2b91ba813adb411d17b89d33f2ed278d1deb64f7187ed317377b7e5a25 obs-localvocal-0.6.0-x86_64-linux-gnu-nvidia.deb: a7b9eb6f33c2818d184cfc9b2d5d0f5afc4cdb64bedd243da4d7497ca873bc37 - 0.5.3OBS Localvocal 0.5.32025-11-25 · 2025-11-25 00:16 UTC
查看更新说明
What's Changed
- Update whisper dependencies to 0.0.12 by @Tabby in https://github.com/royshil/obs-localvocal/pull/264
- Updates Vulkan SDK on Windows to 1.4.328.1
- Adds more Vulkan operations that Whisper.cpp can make use of which should improve Vulkan performance
- Build ROCm/HIPBLAS Whisper.cpp backend for all available GPU architectures available in ROCm instead of whatever the default was, which fixes crashes when using the HIPBLAS backend on compatible GPUs (may still crash on incompatible/unsupported GPUs)
- See ROCm compatibility matrix for the full list of GPU architectures. Every architecture listed there is now included in the targets being built for
- Updates Vulkan SDK on Windows to 1.4.328.1
Full Changelog: https://github.com/royshil/obs-localvocal/compare/0.5.2...0.5.3
Checksums
obs-localvocal-0.5.3-macos-arm64.pkg: 8ad273703525786a0a5c236794646451c745706781cd328eeda588011aa66e49 obs-localvocal-0.5.3-macos-x86_64.pkg: 9d1372b53dead70cf345e40658fffff2e342c96e17b664026184523826b3735e obs-localvocal-0.5.3-source.tar.xz: fcbf0cd8d02d8496132c364263bc8aad4b9a45f8b1df726803fda10e803b52f0 obs-localvocal-0.5.3-windows-x64-amd-Installer.exe: 9fd82a69b21938ed76ebd502ee3536bb5b7d2d377494173c1dcbfbd7bfbc784b obs-localvocal-0.5.3-windows-x64-amd.zip: 370665bdb2979814ec54fe09bf383d2b156bcd4baaadab8208e3a64223eca044 obs-localvocal-0.5.3-windows-x64-generic-Installer.exe: 32df9baa8ab710009fe8d13e613ef87ae167061f6d6fcd0409916d98dca4041a obs-localvocal-0.5.3-windows-x64-generic.zip: 99e3d0ddff32e5d46cedac3ec6a51dff55e85e2382c957ecbf211f8091d89675 obs-localvocal-0.5.3-windows-x64-nvidia-Installer.exe: d8482811d2eefee1f4e4c85c5003f1dbdde2804784df10108922a8e2da9ba386 obs-localvocal-0.5.3-windows-x64-nvidia.zip: 0fddce727d2dd62bdf35e49f706f8e9287def391c5ff4c39f0722b7ce67c5fb8 obs-localvocal-0.5.3-x86_64-linux-gnu-amd.deb: c3ee6d8662b5c1d82551cfc814d8fa11fdcfb47083cfbbb16513a5ae53476b0f obs-localvocal-0.5.3-x86_64-linux-gnu-generic-dbgsym.ddeb: f9636f03ce3b82bda2900f668c188c159918e58906d641ac7138629237db13ae obs-localvocal-0.5.3-x86_64-linux-gnu-generic.deb: 0899fe1afc50bc096a84c76792eabbd9e4cb05077f22df42026e98e5a3716210 obs-localvocal-0.5.3-x86_64-linux-gnu-nvidia-dbgsym.ddeb: eb72d39d5daf92c9f48e4f4421f32fa7787359436e4f55f0b9ccc22b482f9b01 obs-localvocal-0.5.3-x86_64-linux-gnu-nvidia.deb: ecf5f861fd41104495954b60342cb28b314d4cd4dd5e73e98ec194c20b142d27 - Update whisper dependencies to 0.0.12 by @Tabby in https://github.com/royshil/obs-localvocal/pull/264
- 0.5.2OBS Localvocal 0.5.22025-11-21 · 2025-11-21 00:33 UTC
查看更新说明
What's Changed
- Fix MacOS 12 crashes and codesigning issues by @Tabby in https://github.com/royshil/obs-localvocal/pull/262
[EDIT] Previous mention of additional AMD GPU targets was incorrect, I made a mistake in how I configured those. Next release for more AMD GPUs :)
Full Changelog: https://github.com/royshil/obs-localvocal/compare/0.5.1...0.5.2
Checksums
obs-localvocal-0.5.2-macos-arm64.pkg: 7de4caa46df5c4027cf10709aa04d42cc7083f21e84faa2bd7894e1bf67eb19d obs-localvocal-0.5.2-macos-x86_64.pkg: 4a44a753986436dc79b543f1b24d07b2624a050d3e99279913236d013e556934 obs-localvocal-0.5.2-source.tar.xz: 8a88cd914365a2f8fe4abd4695a2352cb31aca97902c9fd8cc5efb87c92fbfc9 obs-localvocal-0.5.2-windows-x64-amd-Installer.exe: 1ee97fa44a2bd9685643de61d244ec6dc30bcc3c2ed36ee50ec90dd2025b5e8d obs-localvocal-0.5.2-windows-x64-amd.zip: 16523941cdbd81206376e00f6f1d8b08d163ebf583a1feabbf2f9b6e12000a1a obs-localvocal-0.5.2-windows-x64-generic-Installer.exe: 0aefbd3dd12ba6fcc7a3a2cfb70f95f92a3312c13e2a3a1a00aca573a482dbab obs-localvocal-0.5.2-windows-x64-generic.zip: 448787fdbf1c571144057a96b46c549c4d3bcc599dbc8b3b3914f14f3758b851 obs-localvocal-0.5.2-windows-x64-nvidia-Installer.exe: 4f1b97e9abacbd973a5b0d6d90c29017b9b1fd2cfab5ffc95b0d0dd3c46dceaa obs-localvocal-0.5.2-windows-x64-nvidia.zip: bf9e911f1118da334d109f841981605bd6a75e828ae1bc04fe6e438fbf7533bd obs-localvocal-0.5.2-x86_64-linux-gnu-amd.deb: 8c0727878745bccd953955fe9c279998a7f703b60265a5377217e5a2e6a140d4 obs-localvocal-0.5.2-x86_64-linux-gnu-generic-dbgsym.ddeb: 18b4563b71260c21a419c1a12948c74d3778790541287baba1d51b2f4f2d1348 obs-localvocal-0.5.2-x86_64-linux-gnu-generic.deb: 17f6128b65bbbba8c75cc5302e0c75a76b3bc5414b5c8dd85b18527a45a3c8da obs-localvocal-0.5.2-x86_64-linux-gnu-nvidia-dbgsym.ddeb: 04e3d437358c640ed25a9355c9c97161ae598c3d99f76128bf9a27958bf4d6cf obs-localvocal-0.5.2-x86_64-linux-gnu-nvidia.deb: 59370b35f5faa6ac728962f318d439749eb9246f115b4437635a4023ea53db75
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Repo sponsors: Recall.ai - API for desktop recording
If you’re looking for a hosted desktop recording API, consider checking out Recall.ai, an API that records Zoom, Google Meet, Microsoft Teams, in-person meetings, and more.
LocalVocal - Speech AI assistant OBS Plugin
Downloads
Windows
| OS | Generic (x86_64) | NVidia (x86_64) | AMD (x86_64) |
|---|---|---|---|
| Windows 10/11 |
Linux
| OS | Generic (x86_64) | NVidia (x86_64) | AMD (x86_64) |
|---|---|---|---|
| Ubuntu 22.04 (Jammy) .deb |
MacOS
| MacOS | Intel x86_64 | ARM64 (Apple silicon - M1/M2/M3/M4) |
|---|---|---|
| Generic* | ||
| 12 (Monterey) | ||
| 13 (Ventura) | ||
| 14 (Sonoma) | ||
| 15 (Sequoia) |
*While variants for specific versions of MacOS may work better on that version of MacOS, the Generic variant is likely the best option. See MacOS Variants below for more details
Check out the latest releases for downloads and install instructions.
Introduction
LocalVocal lets you transcribe, locally on your machine, speech into text and simultaneously translate to any language. ✅ No GPU required, ✅ no cloud costs, ✅ no network and ✅ no downtime! Privacy first - all data stays on your machine.
The plugin runs OpenAI's Whisper to process real-time speech and predict a transcription, utilizing Whisper.cpp from ggerganov to run the model efficiently on CPUs and GPUs. Translation is done with CTranslate2.
Usage
Do more with LocalVocal:
- RealTime Translation
- Translate Caption any Application
- Real-time Translation with DeepL
- Real-time Translation with OpenAI
- ChatGPT + Text-to-speech
- POST Captions to YouTube
- Local LLM Real-time Translation
- Usage Tutorial
Current Features:
- Transcribe audio to text in real time in 100 languages
- Display captions on screen using text sources
- Send captions to a .txt or .srt file (to read by external sources or video playback) with and without aggregation option
- Sync'ed captions with OBS recording timestamps
- Send captions on a RTMP stream to e.g. YouTube, Twitch
- Bring your own Whisper model (any GGML)
- Translate captions in real time to major languages (with cloud prviders, Whisper built-in translation as well as NMT models)
- CUDA, hipBLAS (AMD ROCm), Apple Arm64, AVX & SSE acceleration support
- Filter out or replace any part of the produced captions
- Partial transcriptions for a streaming-captions experience
- 100s of fine-tuned Whisper models for dozens of languages from HuggingFace
Available Versions
LocalVocal is available in multiple versions to cater to different hardware configurations and operating systems. Below is a brief explanation of the different versions you can download:
- Windows (please ensure you have the latest MSVC runtime installed)
- generic: This version runs on all systems. See Generic variants for more details
- NVidia: This version is optimized for systems with NVIDIA GPUs. See NVidia optimized variants for more details
- AMD: This version is optimized for systems with AMD GPUs. See AMD optimized variants for more details
- MacOS
- Intel (x86_64): This version is for Mac computers with Intel processors. See MacOS variants
- Apple Silicon (arm64): This version is optimized for Mac computers with Apple Silicon (M1, M2, etc.) processors. See MacOS variants
- Linux x86_64: This version is for Linux systems with x86_64 architecture.
- generic: This version runs on all systems. See Generic variants for more details
- NVidia: This version is optimized for systems with NVIDIA GPUs. See NVidia optimized variants for more details
- AMD: This version is optimized for systems with AMD GPUs. See AMD optimized variants for more details
Make sure to download the version that matches your system's hardware and operating system for the best performance.
Whisper backends are now loaded dynamically when the plugin starts, which has 2 major benefits:
- Better CPU performance and compatibility - Whisper can automatically select the best CPU backend that works on your system out of all the ones available. This means that the plugin can now make full use of newer CPUs with more features, as well as making it usable on even older hardware than before (prior to v0.5.0 it was assumed that users would have at least AVX2 capable CPUs)
- More stability - If a backend is present that cannot be used on your system, either due to unavailable CPU features, missing dependencies, or something else, it will simply not be loaded instead of causing a crash
To ensure the plugin works "out-of-the-box", it is configured by default to use the CPU only (this is also the case for users upgrading from versions older than v0.5.0). This is to avoid immediate crashes on startup if for any reason your GPU cannot be used by one of the Whisper backends (e.g. the Metal backend on Apple just crashes if it is unable to allocate a buffer to load a model into)
If you want to use GPU acceleration, please ensure you go into the plugin settings and select your desired GPU acceleration backend
Generic variants
These variants should run well on any system regardless of hardware configuration. They contain the following Whispercpp backends:
- CPU
- Generic x86_64
- Generic x86_64 with SSE4.2
- Sandy Bridge (CPU with SSE4.2, AVX)
- Haswell (CPU with SSE4.2, AVX, F16C, AVX2, BMI2, FMA)
- Sky Lake (CPU with SSE4.2, AVX, F16C, AVX2, BMI2, FMA, AVX512)
- Ice Lake (CPU with SSE4.2, AVX, F16C, AVX2, BMI2, FMA, AVX512, AVX512_VBMI AVX512_VNNI)
- Alder Lake (CPU with SSE4.2, AVX, F16C, AVX2, BMI2, FMA, AVX_VNNI)
- Sapphire Rapids (CPU with SSE4.2, AVX, F16C, AVX2, BMI2, FMA, AVX512, AVX512_VBMI AVX512_VNNI, AVX512_BF16, AMX_TITLE, AMX_INT8)
- OpenBLAS - Used in conjunction with a CPU backend to accelerate processing speed
- Vulkan - Standard cross-platform graphics library allowing for GPU accelerated processing on GPUs that aren't supported by CUDA or ROCm. Can also work with integrated GPUs)
- May need the Vulkan runtime on Windows which can be downloaded at https://sdk.lunarg.com/sdk/download/1.4.328.1/windows/VulkanRT-X64-1.4.328.1-Installer.exe
- OpenCL (currently Linux only) - Industry standard parallel compute library that may be faster than Vulkan on supported GPUs
NVidia optimized variants
These variants contain all the backends from the generic variant, plus a CUDA backend that provides accelerated performance on supported NVidia GPUS. If the OpenCL backend is available on your platform, it also uses the CUDA OpenCL library instead of the generic one.
Make sure you have the latest NVidia GPU drivers installed and you will likely also need the CUDA toolkit v12.8.0 or newer.
If installing on Linux, to avoid installing the entire CUDA toolkit if you don't need it you can just install either the cuda-runtime-12.8 package to get all the runtime libs and drivers, or the cuda-libaries-12-8 package to just get the runtime libraries.
AMD optimized variants
These variants contain all the backends from the generic variant, plus a hipblas backend using AMD's ROCm framework that accelerates computation on supported AMD GPUs
Please ensure you have a compatible AMD GPU driver installed
Mac OS variants
These variants come with the following backends available:
- CPU
- The same x86_64 variants as listed in Generic variants for Intel CPUs
- m1, m2/m3, and m4 variants for ARM CPUs
- Accelerate - Used in conjunction with a CPU backend to accelerate processing speed
- Metal - Uses the system's GPU for accelerated processing
- CoreML - Special backend that uses Apple's CoreML instead of Whisper's normal model processing, running on either the Metal or CPU backends
- Vulkan - For systems that can't use Metal to accelerate transcription on the GPU (likely most if not all Intel Macs), Vulkan is available as an alternative for using the GPU. To be able to use this backend, you must first install the Vulkan SDK. After doing so, you should see an additional Vulkan GPU device for each GPU available in the "Whisper backend configuration" section of the plugin filter settings.
The Generic MacOS version embeds the Metal shaders into whisper.cpp as intermediate bytecode, which is compiled at runtime for the computer and GPU being used. This is probably the best version to use unless you have a reason to use the others, and may be able to take advantage of newer features in Metal 4 in MacOS Tahoe
Variants with Metal shaders pre-compiled for specific Metal API versions which may or may not work slightly better on the appropriate version of MacOS:
- MacOS 12 - Metal 2.4
- MacOS 13 - Metal 3.0
- MacOS 14 - Metal 3.1
- MacOS 15 - Metal 3.2
Models
The plugin ships with the Tiny.en model, and will autonomously download other Whisper models through a dropdown. There's also an option to select an external GGML Whisper model file if you have it on disk.
If using CoreML on Apple, it will also automatically download the appropriate CoreML encoder model for your selected model.
Get more models from https://ggml.ggerganov.com/ and HuggingFace, follow the instructions on whisper.cpp to create your own models or download others such as distilled models.
Building
The plugin was built and tested on Mac OSX (Intel & Apple silicon), Windows (with and without Nvidia CUDA) and Linux.
Start by cloning this repo to a directory of your choice.
Mac OSX
Using the CI pipeline scripts, locally you would just call the zsh script, which builds for the architecture specified in $MACOS_ARCH (either x86_64 or arm64).
$ MACOS_ARCH="x86_64" ./.github/scripts/build-macos -c Release
Install
The above script should succeed and the plugin files (e.g. obs-localvocal.plugin) will reside in the ./release/Release folder off of the root. Copy the .plugin file to the OBS directory e.g. ~/Library/Application Support/obs-studio/plugins.
To get .pkg installer file, run for example
$ ./.github/scripts/package-macos -c Release
(Note that maybe the outputs will be in the Release folder and not the install folder like pakage-macos expects, so you will need to rename the folder from build_x86_64/Release to build_x86_64/install)
Linux
Using pre-compiled variants
-
Clone the repository and if not using Ubuntu install the development versions of these dependencies using your distribution's package manager:
- libcurl
- libsimde
- libssl
- icu
- openblas (preferably the OpenMP variant rather than the pthreads variant)
- OpenCL
- Vulkan
Installing ccache is also recommended if you are likely to be building the plugin multiple times
-
Install rust via rustup (recommended), or your distribution's package manager
-
Set the
ACCELERATIONenvironment variable to one ofgeneric,nvidia, oramd(defaults togenericif unset)export ACCELERATION="nvidia" -
Then from the repo directory build the plugin by running:
./.github/scripts/build-linuxIf you can't use the CI build script for some reason, you can build the plugin as follows
cmake -B build_x86_64 --preset linux-x86_64 -DCMAKE_INSTALL_PREFIX=./release cmake --build build_x86_64 --target install -
Installing
If using Ubuntu and the plugin was previously installed using a .deb package, copy the results to the standard OBS folders on Ubuntu
sudo cp -R release/RelWithDebInfo/lib/* /usr/lib/ sudo cp -R release/RelWithDebInfo/share/* /usr/share/Otherwise, follow the official OBS plugins guide and copy the results to your user plugins folder
mkdir -p ~/.config/obs-studio/plugins/obs-localvocal/bin/64bit cp -R release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins/* ~/.config/obs-studio/plugins/obs-localvocal/bin/64bit/ mkdir -p ~/.config/obs-studio/plugins/obs-localvocal/data cp -R release/RelWithDebInfo/share/obs/obs-plugins/obs-localvocal/* ~/.config/obs-studio/plugins/obs-localvocal/data/Note: The lib path in the release folder varies depending on your Linux distribution (e.g. on Gentoo the plugin libraries are found in
release/RelWithDebInfo/lib64/obs-plugins) but the destination directory to copy them into will always be the same.
Building Whispercpp from source along with the plugin
If you can't use the CI build script for some reason, or simply prefer to build the Whispercpp dependency from source along with the plugin, follow the steps above but build the plugin using the following commands:
cmake -B build_x86_64 --preset linux-x86_64 -DLINUX_SOURCE_BUILD=ON -DCMAKE_INSTALL_PREFIX=./release
cmake --build build_x86_64 --target install
When building from source, the Vulkan and OpenCL development libraries are optional and will only be used in the build if they are installed. Similarly if the CUDA or ROCm toolkits are found, they will also be used and the relevant Whisper backends will be enabled.
The default for a full source build is to build both Whisper and the plugin optimized for the host system. To change this behaviour add one or both of the following options to the CMake configure command (the first of the two):
- to build all CPU backends add
-DWHISPER_DYNAMIC_BACKENDS=ON - to build all CUDA kernels add
-DWHISPER_BUILD_ALL_CUDA_ARCHITECTURES=ON
Linux (Flatpak)
Building the plugin as a Flatpak extension for OBS Studio allows for easy distribution and installation on Linux systems.
Prerequisites
-
Install Flatpak and flatpak-builder:
# On Ubuntu/Debian sudo apt install flatpak flatpak-builder # On Fedora sudo dnf install flatpak flatpak-builder # On Arch Linux sudo pacman -S flatpak flatpak-builder -
Add the Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -
Install the OBS Studio Flatpak and required SDKs:
flatpak install flathub com.obsproject.Studio flatpak install flathub org.kde.Sdk//6.8
Building
-
Clone the repository if you haven't already:
git clone https://github.com/locaal-ai/obs-localvocal.git cd obs-localvocal -
Set the
ACCELERATIONenvironment variable to one ofgeneric,nvidia, oramd(defaults togenericif unset):export ACCELERATION="nvidia" # or "amd" or "generic" -
Build the Flatpak extension:
./flatpak/build.sh --disable-rofiles-fuse --force-clean build-dir ./flatpak/com.obsproject.Studio.Plugin.LocalVocal.yamlThe build process will:
- Compile all dependencies including ICU 77, whisper.cpp, CTranslate2, etc.
- Build the LocalVocal plugin with the selected acceleration backend
- Create a Flatpak extension that integrates with OBS Studio
-
Installing the built extension:
./flatpak/build.sh --disable-rofiles-fuse --install build-dir ./flatpak/com.obsproject.Studio.Plugin.LocalVocal.yamlOr manually install using:
flatpak-builder --user --install --force-clean build-dir ./flatpak/com.obsproject.Studio.Plugin.LocalVocal.yaml -
Verify the installation:
flatpak list | grep LocalVocal
Running OBS Studio with the Plugin
After installation, simply launch OBS Studio from your application menu or via:
flatpak run com.obsproject.Studio
The LocalVocal plugin should now be available in OBS Studio's filters.
Troubleshooting
- Build fails with ICU errors: The Flatpak build uses ICU 77 which is compiled as part of the build process. This is required for Qt's
uicbinary compatibility. - CUDA/ROCm not detected: Make sure you've set the
ACCELERATIONenvironment variable before building. - Plugin not visible in OBS: Ensure the Flatpak extension was installed to the correct location and OBS Studio is running from Flatpak.
Windows
Use the CI scripts again, for example:
> .github/scripts/Build-Windows.ps1 -Configuration Release
The build should exist in the ./release folder off the root. You can manually install the files in the OBS directory.
> Copy-Item -Recurse -Force "release\Release\*" -Destination "C:\Program Files\obs-studio\"
Building with CUDA support on Windows
LocalVocal will now build with CUDA support automatically through a prebuilt binary of Whisper.cpp from https://github.com/locaal-ai/locaal-ai-dep-whispercpp. The CMake scripts will download all necessary files.
To build with cuda add ACCELERATION as an environment variable (with cpu, hipblas, or cuda) and build regularly
> $env:ACCELERATION="cuda"
> .github/scripts/Build-Windows.ps1 -Configuration Release