LordAshes-TextToSpeechPlugin icon

TextToSpeechPlugin

Adds char initiated, character specific, situation specific, quotations and free form messages that are displayed and said via Text-To-Speech

Last updated 2 years ago
Total downloads 771
Total rating 0 
Categories Tweaks Networked Tools Integration Effects
Dependency string LordAshes-TextToSpeechPlugin-2.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

bbepisTaleSpire-BepInExPack-5.4.10 icon
bbepisTaleSpire-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.10
brcoding-SetInjectionFlagPlugin-2.3.0 icon
brcoding-SetInjectionFlagPlugin

Allows players to flag mods are installed

Preferred version: 2.3.0
LordAshes-FileAccessPlugin-1.3.1 icon
LordAshes-FileAccessPlugin

Provides standardized methods for accessing both local file and url resources. Automatically handles searching local folders for assets.

Preferred version: 1.3.1
LordAshes-ChatService-1.2.0 icon
LordAshes-ChatService

Dependency plugin to add services to the chat.

Preferred version: 1.2.0

README

TaleSpire-TextToSpeechPlugin

Provides chat initiated situational character specific quotes and free form messages via displayed and TTS.

Installation

Install using R2ModMan. Configure as per the Configuration section.

Usage

There are four modes in which this plugin can be used. All modes are triggered by typing a slash, followed by the command characters, followed by the command parameters at the chat prompt.

Text To Speech Free Text (/ts)

This is a free text text-to-speech. The command is followed by the character name and the text to be spoken. For example, /ts Jon Hello everyone!

This mode displays the text in the corresponding mini speech bubble and records it in the chat history.

Text To Speech Free Text Whisper (/wts)

This is a free text text-to-speech mode which sends the request to a specific player. The command is followed by the player name, then the character name, and then the text to be spoken. For example, /ts LordAshes Jon Hello everyone!

This mode does not display the text in a character speech bubble and only shows in the chat history of the player that was the target of the whisper.

Situational Quote To Speech (/tsq)

This mode generates a random quote from the specified character's quote list for the specified situation. The command is followed by the character name and then the situation. For example, /tsq Jon Attack

This mode displays the quote in the corresponding mini speech bubble and records it in the chat history.

Situational Quote To Speech Whisper (/wtsq)

This mode generates a random quote from the specified character's quote list for the specified situation and send the result to a specific player. The command is followed by the desired player, then the character name, and then the situation. For example, /wtsq LordAshes Jon Ready

This mode does not display the text in a character speech bubble and only shows in the chat history of the player that was the target of the whisper.

Get Voices

Following any of the commands with a ? as the parameter will, instead, list all of the available TTS voices and play a sound sample of each. For example, /ts ?

You can also run the GetSpeechInstalledVoices.exe from the command line.

Configuration

A configuration is needed to use this plugin. Even the free text functions require a configuration because the character name is used to look up the actual TTS voice and voice parameters. A sample configuration file is included for a "Jon" character using "Microsoft David Desktop" and a "Jane" character using "Microsoft Zira Desktop". The format look like:

{ "characters": { "Jon": { "name": "Jon", "voice": "Microsoft David Desktop", "rate": 1, "speeches": { "Attack": [ "Die Scum! Die!", "You'll regret messing with me!", "You mess with my party, you mess with me!" ], "Ready": [ "On your guard!", "Evil is abroad!", "Vigilance!" ] } }, "Jane": { "name": "Jane", "voice": "Microsoft Zira Desktop", "rate": 1, "speeches": { "Attack": [ "Let me give you the kiss of death!", "Your weapons are no match for my magic!" ], "Ready": [ "Keep your eyes peeled.", "I've got your back!" ] } } }, }

The file is an array of characters. Each character contains a name (repeated), the official TTS voice name, the rate (negative numbers are slower, positive numbers are faster) and speeches. Speeches are an array of situations which are then an array of quotes. In the above configurations, two situations have been defined (Attack and Ready) but you can configure any situations. The situation name is just a key to selecting a specific quote list.