The OBS Squawk plugin adds powerful voice cloning capabilities to OBS by leveraging sherpa-onnx. With this plugin, you can generate speech on the fly and in real-time inside OBS without any external services or access to the network.
- OBS Audio Source: Seamlessly integrates with OBS as an audio source.
- Sherpa-onnx: Utilizes sherpa-onnx for high-quality voice synthesis and cloning. Everything built-in - not relying on any external software!
- Cross-Platform: Works the same way on any operating system that OBS suports: Windows, Mac and Linux.
- Extensive Voice Library: Access to a huge library of pre-trained voices for dozens of languages.
- Automated Generation: Monitor an OBS source or text file, when the content changes speech will be generated. Perfect for any automation or for live Transcription-Translation-Generation use case.
- Real-Time & Lightweight: The very efficient VITS architecture for speech generation is extremel resource efficient and runs real-time on a modest CPU.
- Download the latest release from the Releases page.
- Run the installer or extract the files from the zip to your OBS plugins directory.
- Restart OBS to load the new plugin.
- Open OBS and add a new Audio Source.
- Select the
Squawk Text to Speech
from the list of available audio sources. - Configure the source settings:
- Select Voice: Choose a pre-trained voice package from the library. Models will be downloaded as necessary.
- Select the Speaker ID: some voice packages have multiple (even 100s) speakers.
- You can generate speech directly from the plugin settings by clicking the button.
- Set up the monitoring of a Text source or a file.
- Send text to the source to produce the audio by monitoring a OBS text source or a text file.
Instructions on how to train a voice model to clone your own or otheres voice will be provided soon!
The plugin lists the directory of models offered by sherpa-onnx.
Using an external model for generation will be available soon!
Using the CI pipeline scripts, locally you would just call the zsh script:
$ ./.github/scripts/build-macos -c Release
The above script should succeed and the plugin files (e.g. obs-squawk.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
)
For successfully building on Ubuntu, first clone the repo, then from the repo directory:
$ sudo apt install -y libssl-dev libarchive-dev libbzip2-dev
$ ./.github/scripts/build-linux
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/
Note: The official OBS plugins guide recommends adding plugins to the ~/.config/obs-studio/plugins
folder. This has to do with the way you installed OBS.
In case the above doesn't work, attempt to copy the files to the ~/.config
folder:
$ mkdir -p ~/.config/obs-studio/plugins/obs-squawk/bin/64bit
$ cp -R release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins/* ~/.config/obs-studio/plugins/obs-squawk/bin/64bit/
$ mkdir -p ~/.config/obs-studio/plugins/obs-squawk/data
$ cp -R release/RelWithDebInfo/share/obs/obs-plugins/obs-squawk/* ~/.config/obs-studio/plugins/obs-squawk/data/
For other distros where you can't use the CI build script, you can build the plugin as follows
-
Clone the repository and install these dependencies using your distribution's package manager:
- libssl (with development headers)
-
Generate the CMake build scripts (adjust folders if necessary)
cmake -B build-dir --preset linux-x86_64 -DUSE_SYSTEM_CURL=ON -DCMAKE_INSTALL_PREFIX=./output_dir
-
Build the plugin and copy the files to the output directory
cmake --build build-dir --target install
-
Copy plugin to OBS plugins folder
mkdir -p ~/.config/obs-studio/plugins/bin/64bit cp -R ./output_dir/lib/obs-plugins/* ~/.config/obs-studio/plugins/bin/64bit/
N.B. Depending on your system, the plugin might be in
./output_dir/lib64/obs-plugins
instead. -
Copy plugin data to OBS plugins folder - Possibly only needed on first install
mkdir -p ~/.config/obs-studio/plugins/data cp -R ./output_dir/share/obs/obs-plugins/obs-squawk/* ~/.config/obs-studio/plugins/data/
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\"
We welcome contributions! Please fork the repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GPLv2 License - see the LICENSE file for details.
- sherpa-onnx for providing the underlying voice synthesis technology and pretrained models.