{"id":16666583,"url":"https://github.com/karashiiro/texttotalk","last_synced_at":"2025-09-08T09:34:40.346Z","repository":{"id":40435333,"uuid":"302763088","full_name":"karashiiro/TextToTalk","owner":"karashiiro","description":"Chat TTS plugin for Dalamud. Has support for triggers/exclusions, several TTS providers, and more!","archived":false,"fork":false,"pushed_at":"2025-08-08T02:04:15.000Z","size":2266,"stargazers_count":57,"open_issues_count":67,"forks_count":31,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-08T04:10:39.172Z","etag":null,"topics":["dalamud-plugin","ffxiv","microsoft-cognitive-services","polly-voice","triggers","tts","uberduck-ai","websocket"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karashiiro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-09T22:08:37.000Z","updated_at":"2025-08-08T02:04:18.000Z","dependencies_parsed_at":"2023-02-16T12:55:25.310Z","dependency_job_id":"e1df88bb-345b-4943-92d0-4b480c4739db","html_url":"https://github.com/karashiiro/TextToTalk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/karashiiro/TextToTalk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karashiiro%2FTextToTalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karashiiro%2FTextToTalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karashiiro%2FTextToTalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karashiiro%2FTextToTalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karashiiro","download_url":"https://codeload.github.com/karashiiro/TextToTalk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karashiiro%2FTextToTalk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274165722,"owners_count":25233949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dalamud-plugin","ffxiv","microsoft-cognitive-services","polly-voice","triggers","tts","uberduck-ai","websocket"],"created_at":"2024-10-12T11:11:29.137Z","updated_at":"2025-09-08T09:34:40.284Z","avatar_url":"https://github.com/karashiiro.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Download count](https://img.shields.io/endpoint?url=https://qzysathwfhebdai6xgauhz4q7m0mzmrf.lambda-url.us-east-1.on.aws/TextToTalk)](https://github.com/karashiiro/TextToTalk)\n\n# TextToTalk\nChat TTS plugin for [Dalamud](https://github.com/goatcorp/Dalamud). Has support for triggers/exclusions, several TTS providers, and more!\n\n## Commands\n* `/tttconfig`: Opens the configuration window.\n* `/canceltts`: Cancel all queued TTS messages.\n* `/toggletts`: Turns TTS on or off.\n* `/disabletts`: Turns TTS off.\n* `/enabletts`: Turns TTS on.\n\n## Lexicons\nTextToTalk supports custom lexicons to modify how words are pronounced. For more information, please join our [community lexicons discussion](https://github.com/karashiiro/TextToTalk/discussions/62).\n\nDirect links to information will be added here eventually.\n\n## Supported TTS providers\n* System (Windows)\n* AWS Polly\n* Azure (Microsoft Cognitive Services)\n* Uberduck\n* Websocket\n\n## WebSocket interfacing\nTextToTalk can optionally open a WebSocket server to serve messages over.\nThere are currently two JSON-format messages that can be sent (see\n[`IpcMessage`](https://github.com/karashiiro/TextToTalk/blob/main/src/TextToTalk/Backends/Websocket/IpcMessage.cs)):\n\nTTS prompt:\n```json5\n{\n  \"Type\": \"Say\",\n  \"Payload\": \"Firstname Lastname says something\",\n  // Will replace the logged-in player's name with {{FULL_NAME}}, {{FIRST_NAME}}, or {{LAST_NAME}} as appropriate.\n  // Does not currently apply to players other than the logged-in player.\n  \"PayloadTemplate\": \"{{FULL_NAME}} says something\",\n  \"Voice\": {\n    \"Name\": \"Gender\"\n  },\n  \"Speaker\": \"Firstname Lastname\",\n  // or \"AddonTalk\", or \"AddonBattleTalk\"\n  \"Source\": \"Chat\",\n  \"StuttersRemoved\": false,\n  // or null, for non-NPCs\n  \"NpcId\": 1000115,\n  // Refer to https://dalamud.dev/api/Dalamud.Game.Text/Enums/XivChatType\n  \"ChatType\": 10,\n  // Refer to https://dalamud.dev/api/Dalamud/Enums/ClientLanguage\n  \"Language\": \"English\"\n}\n```\n\nTTS cancel:\n```json5\n{\n  \"Type\": \"Cancel\",\n  \"Payload\": \"\",\n  \"PayloadTemplate\": \"\",\n  \"Voice\": null,\n  \"Speaker\": null,\n  // or \"Chat\", \"AddonTalk\", or \"AddonBattleTalk\"\n  \"Source\": \"None\",\n  \"StuttersRemoved\": false,\n  \"NpcId\": null,\n  \"ChatType\": null,\n  \"Language\": null\n}\n```\n\n## Screenshots\n![image](https://user-images.githubusercontent.com/49822414/126075774-a97d7a11-98c6-40e4-9937-711a8da96926.png)\n![image](https://user-images.githubusercontent.com/49822414/126075784-1af622f3-df16-4e00-8de5-bf11f6acb017.png)\n![image](https://user-images.githubusercontent.com/49822414/126075793-8b4587e0-1863-44ca-a13f-27a1fcd336d6.png)\n![image](https://user-images.githubusercontent.com/49822414/126075802-c694a821-82da-4d87-bf97-06fba9d1e5e4.png)\n![image](https://user-images.githubusercontent.com/49822414/126075852-f2aee169-c83c-4916-aca2-e715951eab36.png)\n![image](https://user-images.githubusercontent.com/49822414/126075869-480cacb2-8537-41da-aaba-553da5ec9abb.png)\n![image](https://user-images.githubusercontent.com/49822414/126075873-aa329726-92eb-4ea1-9127-39810016596b.png)\n\n## Development\nRefer to the [wiki](https://github.com/karashiiro/TextToTalk/wiki/Development) for dev documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarashiiro%2Ftexttotalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarashiiro%2Ftexttotalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarashiiro%2Ftexttotalk/lists"}