Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sillytavern/extension-blip
Animate the text of character messages with variable speed and play sound along the animation.
https://github.com/sillytavern/extension-blip
extension
Last synced: 3 months ago
JSON representation
Animate the text of character messages with variable speed and play sound along the animation.
- Host: GitHub
- URL: https://github.com/sillytavern/extension-blip
- Owner: SillyTavern
- License: agpl-3.0
- Created: 2023-10-06T17:59:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-24T19:29:30.000Z (8 months ago)
- Last Synced: 2024-06-24T21:23:25.679Z (8 months ago)
- Topics: extension
- Language: JavaScript
- Homepage:
- Size: 140 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
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
## 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.
## 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.
### 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.
- 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.

# 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.