TextToTalk icon indicating copy to clipboard operation
TextToTalk copied to clipboard

Steam Deck & Websocket: Problem to get gender Info

Open Benjo0815 opened this issue 1 year ago • 7 comments

Good day,

I have tried text to speech via websocket on my steam deck (SteamOS). But I don't get any gender info of the speaking character. I have connected via postman, and only get the following data:

 "Type": "Say",
    "Speaker": "Mini-Glückskaktor-Händler",
    "NpcId": 1010445,
    "Race": "Hyuran",
    "BodyType": "Adult",
    "Payload": "Vielen Dank! Bitte beehre uns bald wieder!",
    "PayloadTemplate": "Vielen Dank! Bitte beehre uns bald wieder!",
    "Voice": {
        "Id": -1,
        "Name": "None",
        "Rate": 0,
        "Volume": 0,
        "VoiceName": null,
        "EnabledBackend": 1
    },
    "StuttersRemoved": true,
    "Source": "AddonTalk",
    "ChatType": null,
    "Language": "German"
}

At Voice -> Name should be the gender as far as I know. But it only says none. Could this have something to do with Linux? Or maybe the German game language?

Benjo0815 avatar Aug 24 '24 20:08 Benjo0815

Was creating a small python script to have TTS on macOS since "System" is not supported on Mac. After I had implemented one static voice and wanted to implement gendered voices next I also saw, that Websocket always sends "Voice" -> "Name": "None" instead of a gender.

Can you add gendered voices support for Websocket or fix it in case it is a bug?

Received message: {"Type":"Say","Speaker":"","NpcId":null,"Race":"Unknown","BodyType":"Unknown","Payload":"The next GATE will be held at 10:40 p.m. in Round Square.","PayloadTemplate":"The next GATE will be held at 10:40 p.m. in Round Square.","Voice":{"Id":-1,"Name":"None","Rate":0,"Volume":0,"VoiceName":null,"EnabledBackend":1},"StuttersRemoved":true,"Source":"AddonTalk","ChatType":null,"Language":"English"}

Waitsnake avatar Mar 23 '25 21:03 Waitsnake

Try it on the latest testing version, I've been meaning to promote it to stable for a while, but I think that fixes it.

karashiiro avatar Mar 24 '25 00:03 karashiiro

How can I do use latest testing version? Hope it is nothing I need my Windows PC for to compile some C# code. I cannot access this PC for a while now. Thats whole reason why I made this python script as a workaround to have TextToTalk on my macOS laptop without investing in any expensive online service. 🥲

Waitsnake avatar Mar 24 '25 00:03 Waitsnake

@Waitsnake You can enable testing plugins in the settings here: https://goatcorp.github.io/faq/dalamud_troubleshooting.html#q-how-do-i-enable-plugin-test-builds

At the very latest, I'll be releasing that update to stable alongside the Dalamud API 12 update sometime this week.

karashiiro avatar Mar 24 '25 23:03 karashiiro

Though thinking about it, it probably won't actually work given the API level bump and maintenance should be soon if it hasn't already started... I'm out of town at the moment but I'll push that to stable on Wednesday at the latest.

karashiiro avatar Mar 24 '25 23:03 karashiiro

Thanks for the link to how enable plugin test builds. Looks very straight forward. 👍 And the rest needs patience now since we all wait for Dalamud to get adapted to 7.2 anyways.

Waitsnake avatar Mar 25 '25 14:03 Waitsnake

Gender works for NPCs as well as players near me with new version at Websocket API.

Received message: {"Type":"Say","Speaker":"Sweetnix Rosycheeks","NpcId":1001209,"Race":"","BodyType":"Unknown","Payload":"Pshhh... Shkohhh...Sweetnix write many letters, but never find right words!","PayloadTemplate":"Pshhh... Shkohhh...Sweetnix write many letters, but never find right words!","Voice":{"Id":-1,"Name":"Male","Rate":0,"Volume":0,"VoiceName":null,"EnabledBackend":1},"StuttersRemoved":true,"Source":"AddonTalk","ChatType":null,"Language":"English"}

Received message: {"Type":"Say","Speaker":"Censored Name","NpcId":null,"Race":"Au Ra","BodyType":"Adult","Payload":"How are you?","PayloadTemplate":"How are you?","Voice":{"Id":-1,"Name":"Female","Rate":0,"Volume":0,"VoiceName":null,"EnabledBackend":1},"StuttersRemoved":true,"Source":"Chat","ChatType":10,"Language":"English"}

For players in FC chat I still receive "None" as gender though. But maybe this was always the case and can't detected.

Received message: {"Type":"Say","Speaker":"Censored Name","NpcId":null,"Race":"Unknown","BodyType":"Unknown","Payload":"Hey !","PayloadTemplate":"Hey !","Voice":{"Id":-1,"Name":"None","Rate":0,"Volume":0,"VoiceName":null,"EnabledBackend":1},"StuttersRemoved":true,"Source":"Chat","ChatType":24,"Language":"English"}

I published my little websocket python script for TTS on macOS here if anyone is interested: https://github.com/Waitsnake/MacToTalk

Waitsnake avatar Mar 29 '25 14:03 Waitsnake