Add --unduck-delay to keep music ducked after TTS
This commit is contained in:
1 parent
43a183a232
commit
61d5d540db
5 files changed
+20
No files matched your search
@@ -101,6 +101,9 @@ LVA_PULSE_COOKIE="/run/user/${LVA_USER_ID}/pulse/cookie"
|
||||
### Delay before mic opens for continued conversation (optional):
|
||||
# CONTINUE_CONVERSATION_DELAY="0.5"
|
||||
|
||||
### Unducking delay (optional)
|
||||
# UNDUCK_DELAY="1.2"
|
||||
|
||||
### Sound files (optional):
|
||||
# path for custom files in docker is for example "sounds/custom/your_soundfile.flac"
|
||||
# WAKEUP_SOUND="sounds/wake_word_triggered.flac"
|
||||
|
||||
@@ -92,6 +92,10 @@ if [ -n "${CONTINUE_CONVERSATION_DELAY}" ]; then
|
||||
EXTRA_ARGS+=( "--continue-conversation-delay" "$CONTINUE_CONVERSATION_DELAY" )
|
||||
fi
|
||||
|
||||
if [ -n "${UNDUCK_DELAY}" ]; then
|
||||
EXTRA_ARGS+=( "--unduck-delay" "$UNDUCK_DELAY" )
|
||||
fi
|
||||
|
||||
if [ -n "${WAKEUP_SOUND}" ]; then
|
||||
EXTRA_ARGS+=( "--wakeup-sound" "$WAKEUP_SOUND" )
|
||||
fi
|
||||
|
||||
@@ -118,6 +118,12 @@ async def main() -> None:
|
||||
default=0.5,
|
||||
help="Seconds to wait after TTS finishes before opening the mic for continued conversation (default: 0.5)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--unduck-delay",
|
||||
type=float,
|
||||
default=0.0,
|
||||
help="Seconds to keep music ducked after TTS finishes (default: 0.0)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--wakeup-sound",
|
||||
default=str(_SOUNDS_DIR / "wake_word_triggered.flac"),
|
||||
@@ -438,6 +444,7 @@ async def main() -> None:
|
||||
preferences_path=preferences_path,
|
||||
refractory_seconds=args.refractory_seconds,
|
||||
continue_conversation_delay=args.continue_conversation_delay,
|
||||
unduck_delay=args.unduck_delay,
|
||||
output_only=args.output_only,
|
||||
download_dir=args.download_dir,
|
||||
volume=initial_volume,
|
||||
|
||||
@@ -124,6 +124,7 @@ class ServerState:
|
||||
preferences_path: Path
|
||||
download_dir: Path
|
||||
continue_conversation_delay: float = 0.5 # seconds to wait after TTS before opening mic
|
||||
unduck_delay: float = 0.0 # seconds to keep music ducked after TTS ends
|
||||
|
||||
media_player_entity: "Optional[MediaPlayerEntity]" = None
|
||||
satellite: "Optional[VoiceSatelliteProtocol]" = None
|
||||
|
||||
@@ -957,6 +957,11 @@ class VoiceSatelliteProtocol(APIServer):
|
||||
threading.Timer(self.state.continue_conversation_delay, _start_continued_conversation).start()
|
||||
else:
|
||||
self._continue_conversation = False
|
||||
unduck_delay = self.state.unduck_delay
|
||||
if unduck_delay > 0:
|
||||
_LOGGER.debug("Unducking after %.2fs", unduck_delay)
|
||||
threading.Timer(unduck_delay, self.unduck).start()
|
||||
else:
|
||||
self.unduck()
|
||||
self._emit(LVAEvent.IDLE)
|
||||
|
||||
|
||||
Reference in new issue
Block a user