Skip to content

Chat TTS plugin for Dalamud. Has support for triggers/exclusions, several TTS providers, and more!

License

Notifications You must be signed in to change notification settings

karashiiro/TextToTalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Download count

TextToTalk

Chat TTS plugin for Dalamud. Has support for triggers/exclusions, several TTS providers, and more!

Commands

  • /tttconfig: Opens the configuration window.
  • /canceltts: Cancel all queued TTS messages.
  • /toggletts: Turns TTS on or off.
  • /disabletts: Turns TTS off.
  • /enabletts: Turns TTS on.

Lexicons

TextToTalk supports custom lexicons to modify how words are pronounced. For more information, please join our community lexicons discussion.

Direct links to information will be added here eventually.

Supported TTS providers

  • System (Windows)
  • AWS Polly
  • Azure (Microsoft Cognitive Services)
  • Uberduck
  • Websocket

WebSocket interfacing

TextToTalk can optionally open a WebSocket server to serve messages over. There are currently two JSON-format messages that can be sent (see IpcMessage):

TTS prompt:

{
  "Type": "Say",
  "Payload": "Firstname Lastname says something",
  // Will replace the logged-in player's name with {{FULL_NAME}}, {{FIRST_NAME}}, or {{LAST_NAME}} as appropriate.
  // Does not currently apply to players other than the logged-in player.
  "PayloadTemplate": "{{FULL_NAME}} says something",
  "Voice": {
    "Name": "Gender"
  },
  "Speaker": "Firstname Lastname",
  // or "AddonTalk", or "AddonBattleTalk"
  "Source": "Chat",
  "StuttersRemoved": false,
  // or null, for non-NPCs
  "NpcId": 1000115,
  // Refer to https://dalamud.dev/api/Dalamud.Game.Text/Enums/XivChatType
  "ChatType": 10,
  // Refer to https://dalamud.dev/api/Dalamud/Enums/ClientLanguage
  "Language": "English"
}

TTS cancel:

{
  "Type": "Cancel",
  "Payload": "",
  "PayloadTemplate": "",
  "Voice": null,
  "Speaker": null,
  // or "Chat", "AddonTalk", or "AddonBattleTalk"
  "Source": "None",
  "StuttersRemoved": false,
  "NpcId": null,
  "ChatType": null,
  "Language": null
}

Screenshots

image image image image image image image

Development

Refer to the wiki for dev documentation.