Name: chatterbox-spd Version: 0.1.0 Release: 1.20251231213431313837.pr4%{?dist} Summary: Chatterbox TTS integration for Speech Dispatcher License: MIT URL: https://github.com/rsturla/chatterbox-spd Source0: chatterbox-spd-0.1.0.tar.gz BuildArch: noarch Requires: speech-dispatcher Requires: podman >= 4.4 Requires: python3 >= 3.10 Recommends: alsa-utils Recommends: pipewire-utils %description Chatterbox TTS integration for Linux Speech Dispatcher using Podman Quadlets. Chatterbox is a state-of-the-art open-source TTS model from Resemble AI that supports voice cloning from just 10 seconds of audio. This package provides the client and configuration to use Chatterbox with speech-dispatcher. The TTS model runs in a container, pulled automatically on first use. %prep %autosetup -n chatterbox-spd-0.1.0 %build # Nothing to build - pure scripts and config %install # Client script install -Dm755 bin/chatterbox-tts-client %{buildroot}%{_bindir}/chatterbox-tts-client # Speech-dispatcher module config install -Dm644 config/chatterbox.conf %{buildroot}%{_sysconfdir}/speech-dispatcher/modules/chatterbox.conf # Drop-in config for AddModule install -Dm644 config/modules.d/chatterbox.conf %{buildroot}%{_sysconfdir}/speech-dispatcher/modules.d/chatterbox.conf # Quadlet container files - install to user quadlets directory install -Dm644 container/chatterbox-tts.container %{buildroot}%{_sysconfdir}/containers/systemd/users/chatterbox-tts.container install -Dm644 container/chatterbox-tts-cuda.container %{buildroot}%{_sysconfdir}/containers/systemd/users/chatterbox-tts-cuda.container # Systemd socket units - install to user units directory install -Dm644 container/chatterbox-tts.socket %{buildroot}%{_prefix}/lib/systemd/user/chatterbox-tts.socket install -Dm644 container/chatterbox-tts-cuda.socket %{buildroot}%{_prefix}/lib/systemd/user/chatterbox-tts-cuda.socket # Note: README.md and LICENSE are handled by %doc and %license macros in %files %post # Add Include directive to speechd.conf if not present if [ -f %{_sysconfdir}/speech-dispatcher/speechd.conf ]; then if ! grep -q 'Include "modules.d/\*.conf"' %{_sysconfdir}/speech-dispatcher/speechd.conf; then echo '' >> %{_sysconfdir}/speech-dispatcher/speechd.conf echo '# Include drop-in module configurations' >> %{_sysconfdir}/speech-dispatcher/speechd.conf echo 'Include "modules.d/*.conf"' >> %{_sysconfdir}/speech-dispatcher/speechd.conf fi fi # Restart speech-dispatcher to pick up changes killall speech-dispatcher 2>/dev/null || true echo "" echo "Chatterbox TTS installed successfully!" echo "" echo "To enable socket activation (recommended), run as your user:" echo " systemctl --user daemon-reload" echo " systemctl --user enable --now chatterbox-tts.socket" echo "" echo "For CUDA/GPU support, also enable the CUDA socket:" echo " systemctl --user enable --now chatterbox-tts-cuda.socket" echo "" echo "The client auto-detects GPU and picks the right backend." echo "Then test with: spd-say -o chatterbox 'Hello world'" echo "" %postun # Restart speech-dispatcher to pick up changes killall speech-dispatcher 2>/dev/null || true %files %license LICENSE %doc README.md %{_bindir}/chatterbox-tts-client %config(noreplace) %{_sysconfdir}/speech-dispatcher/modules/chatterbox.conf %config(noreplace) %{_sysconfdir}/speech-dispatcher/modules.d/chatterbox.conf %{_sysconfdir}/containers/systemd/users/chatterbox-tts.container %{_sysconfdir}/containers/systemd/users/chatterbox-tts-cuda.container %dir %{_sysconfdir}/containers %dir %{_sysconfdir}/containers/systemd %dir %{_sysconfdir}/containers/systemd/users %{_prefix}/lib/systemd/user/chatterbox-tts.socket %{_prefix}/lib/systemd/user/chatterbox-tts-cuda.socket %changelog * Wed Dec 31 2025 Packit - 0.1.0-1.20251231213431313837.pr4 - Development snapshot (f93d7f02) * Wed Dec 31 2025 Robert Sturla - 0.1.0-1 - Initial package