Commit Graph
132 Commits
Author SHA1 Message Date
imonlinux 081ebd4103 Add HAL and Marvin
Files specifically configured for my personal use cases of a HAL-9000 and Marvin voice assistants.
2025-10-11 16:15:00 -07:00
imonlinux 18f29c52da Implement Volume Persistence
Updates the MediaPlayerEntity to handle the saving and loading logic.

The entity's internal volume state is now initialized from the saved preferences.volume_level.

When a volume change command is received from Home Assistant, the handle_message method now updates the Preferences object and calls save_preferences() to persist the new volume level to disk.
2025-10-11 15:35:23 -07:00
imonlinux 92867db2b2 Implement Volume Persistence
Modifies the startup sequence to read the volume_level from the loaded preferences.

This saved value is then passed as the initial_volume when creating the music_player and tts_player instances.
2025-10-11 15:34:45 -07:00
imonlinux efbcbc599f Implement Volume Persistence
Updates the MpvMediaPlayer constructor (__init__) to accept an initial_volume parameter.

This allows the volume to be set immediately when the mpv process is created, applying the saved setting at startup.
2025-10-11 15:34:09 -07:00
imonlinux 6e63111e63 Implement Volume Persistence
Adds a new volume_level: float field to the Preferences dataclass. This creates a dedicated entry in the preferences.json file to store the user's desired volume (from 0.0 to 1.0).
2025-10-11 15:33:13 -07:00
imonlinux 164e01682f Replaced by led_controller.py 2025-10-11 12:42:59 -07:00
imonlinux 2c5a881736 Replaced by led_controller.py 2025-10-11 12:42:47 -07:00
imonlinux e7c9b58ef4 Replaced by led_controller.py 2025-10-11 12:42:36 -07:00
imonlinux b195cfde56 Replaced by led_controller.py 2025-10-11 12:42:23 -07:00
imonlinux 688cc97d7d Replaced by led_controller.py 2025-10-11 12:41:58 -07:00
imonlinux 6ce1c5f2b7 Integrates the event bus into the VoiceSatelliteProtocol
Translates low-level aioesphomeapi events into meaningful application events.

Publishes events for key moments in the voice assistant lifecycle, including: voice_wakeword, voice_stt_start, voice_vad_start, voice_stt_end, voice_tts_start, and voice_run_end.
2025-10-11 12:41:06 -07:00
imonlinux abcc7aeaef Updates for EventBus and LedController.
Passes the event_bus and loop instances into the ServerState object upon creation.

Adds new command-line arguments (--led-interface, --led-clock-pin, --led-data-pin) to allow the user to select and configure the LED hardware interface at runtime.
2025-10-11 12:39:57 -07:00
imonlinux 7f8bdefa39 Adds two new fields to the ServerState dataclass:
event_bus: EventBus

loop: asyncio.AbstractEventLoop

This provides a globally accessible instance of the event bus and the main asyncio event loop to any component that needs them.
2025-10-11 12:38:00 -07:00
imonlinux de30740dce Adds a LedController class to manage LED Events
Subscribes to voice assistant events (voice_wakeword, voice_stt_start, voice_vad_start, etc.) from the event bus.
2025-10-11 12:36:26 -07:00
imonlinux dfe992ec35 Delete linux_voice_assistant/event_led.py
Replaced with led_controller.py
2025-10-11 12:34:45 -07:00
imonlinux fd54c25303 Introduces a simple, generic publish/subscribe event bus system.
This decouples hardware components (like the LED controller) from the core application logic, allowing for a more modular and extensible design.
2025-10-11 12:33:40 -07:00
imonlinux 70ca927617 bug squashing 2025-10-10 19:40:01 -07:00
imonlinux 21a0108a82 Indentation Bug mpv_player.py 2025-10-10 19:36:23 -07:00
imonlinux 6a66bd7128 Add PulseAudio and PipeWire functionality to mpv_player.py 2025-10-10 19:11:21 -07:00
imonlinux 0a44238655 Add LED Events to satellite.py 2025-10-10 19:05:18 -07:00
imonlinux ec51b0b11e Add LED Events to __main__.py 2025-10-10 19:04:08 -07:00
imonlinux 87a7cfa7b2 Add files via upload 2025-10-10 18:45:40 -07:00
imonlinux eb73cb5baa Delete linux_voice_assistant/respeaker2mic directory 2025-10-10 18:42:56 -07:00
imonlinux ab8f09048e Delete linux_voice_assistant/docs directory 2025-10-10 18:42:44 -07:00
imonlinux 68992feb9a Add files via upload 2025-10-10 18:37:52 -07:00
Michael Hansen 7a4b3e661a Add zeroconf discovery 2025-09-18 10:52:56 -05:00
Michael Hansen d5300ae694 Support openWakeWord 2025-09-16 15:05:18 -05:00
Michael Hansen e26864a191 Support multiple wake words 2025-09-15 11:29:28 -05:00
Michael Hansen 2c937e3cb3 Save preferences to JSON file 2025-09-15 11:06:09 -05:00
Michael Hansen ea901a1c14 Small refactor 2025-09-15 10:43:51 -05:00
Michael Hansen cda08235de Remove experimental external wake words 2025-08-26 10:53:23 -05:00
Michael Hansen 4356633ed6 Rename to Linux Voice Assistant 2025-08-26 09:30:58 -05:00