Fix animation command tags leaking into TTS output#516
Open
bedge117 wants to merge 1 commit into
Open
Conversation
GetActionsFromString did not guard against malformed command tags,
causing raw command stems (e.g. "playAnimationWI") to be spoken aloud
instead of parsed as actions. When an LLM emitted a tag missing the
"||" separator (e.g. "{{playAnimationWI}}"), the parser indexed
cmdPlusParam[1] without a length check, mishandling the tag and
leaving the command stem glued to the spoken text.
This is common with local/open-source models (Ollama, etc.) that
don't format the {{command||parameter}} structure as reliably as
OpenAI.
Changes:
- Guard cmdPlusParam access with a length check so tags missing "||"
no longer mis-parse.
- Add stripCommandStems() to scrub leaked command keywords
(playAnimation, playAnimationWI, getImage, newVoiceRequest) and
stray brace debris from spoken text before it reaches TTS.
- Valid, well-formed tags still fire their animations as before;
only malformed/leftover tag text is removed from speech.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GetActionsFromString did not guard against malformed command tags, causing raw command stems (e.g. "playAnimationWI") to be spoken aloud instead of parsed as actions. When an LLM emitted a tag missing the "||" separator (e.g. "{{playAnimationWI}}"), the parser indexed cmdPlusParam[1] without a length check, mishandling the tag and leaving the command stem glued to the spoken text.
This is common with local/open-source models (Ollama, etc.) that don't format the {{command||parameter}} structure as reliably as OpenAI.
Changes: