Skip to content

Animate the text of character messages with variable speed and play sound along the animation.

License

Notifications You must be signed in to change notification settings

SillyTavern/Extension-Blip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extension-Blip

Add-on: animate the text of character messages with variable speed and play sound along the animation. Documentation: https://docs.sillytavern.app/extras/extensions/blip/#blip

What it does:

  • Animates the text of character messages with variable speed and plays sound along the animation.
  • Can use audio files or generate sound.

How it does it:

  • Intercept the message using events -> wait if an animation is playing -> message gets rendered with text invisible -> (optional translation) -> replace text by empty string and start printing chracter by character
  • Messages received are queued to allow to run generate() while the animation is played (useful when a user message is animated or in a group chat).
  • Animation can be forced to finish by clicking on the usual abort request button (bottom right)

Features:

Global settings

  • TTS extension-inspired options
    • enable/disable user message blip (require user voice assigned to play)
    • only blip for quote
    • disable asterisk blip
  • Enable/disable auto-scrolling down to follow text animation.
  • Global audio mixer applied to any blip sound playing (mute/volume)
  • Settings are saved per character like for RVC extension using a voice map
  • The voice map text is just for debug visualization, not editable directly

image

The default option is the profile that will be used for the character with no settings. (if not set, no animation)

  • User name appears second in the list and can be assigned a blip like any character (need a checkbox to enable it to play)
  • Only current chat character show in the list by default, clicking the checkbox show all character
  • Character group list updated automatically, refresh button is for special case like when the user add/delete a character for global list update image

Text settings

  • Animation settings allow setting text speed and min/max random multiplier for more dynamism. Some special delay can be applied on comma and phrase end (?,!.) characters.

Capture d'écran 2023-09-29 205324

Audio settings

  • Audio settings, audio speed is independent of text speed except when text pauses the audio when comma/phrase delay is set > 0ms. Audio volume percent can be applied for the character and will be a percent of the global sound option when played.

Capture d'écran 2023-09-29 205402

Audio origin

  • By default a generated sound. Users can choose a min/max frequency, and a random frequency of this range will play for each blip.

image

  • Audio origin, can also be an audio file from the asset folder. In this case, pitch shift min/max can also be chosen for random variation (done without library for now). Also, an option to force-play the whole audio before starting it again can be useful for some effects.

image

Remarks:

  • Can skip animation using the abort request button
  • Compatible with the translate extension, only the translation is animated.
  • The burger menu regenerate/continue click should have no effect while the animation is playing.
  • When using the burger menu continue only the new part is animated.