ovos-PHAL-plugin-pulseaudio

July 31, 2026 ยท View on GitHub

This is a PHAL (Platform/Hardware Abstraction Layer) plugin for OpenVoiceOS. It controls system volume through PulseAudio. The plugin loads only when it finds pulseaudio on the system, so it does not interfere with devices that use a different audio server.

Install

pip install ovos-PHAL-plugin-pulseaudio

Usage

The plugin registers as a PHAL entry point (opm.phal) and starts automatically when OVOS PHAL loads it. It listens for these bus messages:

self.bus.on("mycroft.volume.get", self.handle_volume_request)
self.bus.on("mycroft.volume.set", self.handle_volume_change)
self.bus.on("mycroft.volume.increase", self.handle_volume_increase)
self.bus.on("mycroft.volume.decrease", self.handle_volume_decrease)
self.bus.on("mycroft.volume.set.gui", self.handle_volume_change_gui)
self.bus.on("mycroft.volume.mute", self.handle_mute_request)
self.bus.on("mycroft.volume.unmute", self.handle_unmute_request)
self.bus.on("mycroft.volume.mute.toggle", self.handle_mute_toggle_request)
self.bus.on("mycroft.volume.get.sliding.panel", self.handle_volume_request)

On first boot, the plugin sets the volume to 50%. Volume changes play a sound unless the caller sets play_sound to False in the message data.

License

Apache-2.0