unique Posted June 10, 2015 Share Posted June 10, 2015 So, I have been working on a custom version of the Fuz-Ro-D-oh code that (by default) generates text to speech for any missing dialogs based on the voice type of the NPC. It all works fine (in fact I ended up adding an ini option to replace ALL normal voices - and am starting to prefer it over the original voices), however, there is a few things I would like to improve. 1. I would like to be able to detect if an actor is male/female when they have a custom voice type (eg: mods like 3DNPC when I use the replace all option). The fuz-ro-d-oh code, however does not have the "actor" value sent to it. Does anyone here know how to get the (currently talking to) actor's form and grab the sex/race of the actor? 2. I would love to be able to have the player's voice responses also play voices and show subtitles. I am sick of being a mute myself. Anyone know how this could be added to the fuz-ro-d-oh code? 3. Voices are generated (and saved to disk for any future uses) in a background thread to stop lag waiting for each dialog file to generate (using an online service). At the moment the voices never work until you close the game and reload it. Skyrim seems to only register sounds at restart. Does anyone know how I might get it to register the new sounds "on the fly"? FYI (for those willing to have a look): I intercept and generate the text to speech version of each chat option in the SneakAtackVoicePath() function in fuz-ro-d-oh - which actually generates *all* voices in the game (procedure name is named somewhat strangely). I would greatly appreciate any help with this. The SKSE documentation is not of much help in the matter. For those familiar with SKSE but don't have the Fuz-Ro-D-oh code, the original code is available here: https://github.com/shadeMe/Fuz-Ro-D-oh I might release this publicly, or offer the improvements to the original author at some point in the future, but for now I will only share my modification with people that are able to help out (due to not wanting the TTS service I am using to ban it for over-use). There are other services I could, however make it use (eg: iSpeech) and release in the future. EDIT: I am not sure if this is the perfect forum to have posted this in. Mods feel free to move it if you wish. An example of what it currently does (in replace all voices mode): https://www.youtube.com/watch?v=qHmYg8BHCFY Link to comment
Guest Posted June 10, 2015 Share Posted June 10, 2015 Hello. About point 1, if you have an Actor (for example the akSpeaker of a dialogue), then you can call the functions: akSpeaker.getLeveledActorbase().getSex() akSpeaker.getLeveledActorbase().getRace() it is important to use getLeveledActorBase() or some generated NPCs will have the wrong sex. I am interested in your code, and I will have a look at it. Link to comment
unique Posted June 10, 2015 Author Share Posted June 10, 2015 Hello. About point 1, if you have an Actor (for example the akSpeaker of a dialogue), then you can call the functions: akSpeaker.getLeveledActorbase().getSex() akSpeaker.getLeveledActorbase().getRace() it is important to use getLeveledActorBase() or some generated NPCs will have the wrong sex. I am interested in your code, and I will have a look at it. Unfortunately this procedure is not passed the actor value. I believe I can get the uint32 of the speaker, but not sure how to pull the actor from that object. If you want a copy of my code to look at, send me a pm and ill send you a copy. Link to comment
Guest Posted June 10, 2015 Share Posted June 10, 2015 ... Unfortunately this procedure is not passed the actor value. I believe I can get the uint32 of the speaker, but not sure how to pull the actor from that object. If you want a copy of my code to look at, send me a pm and ill send you a copy. Yes please. Send me a PM with the zipped code or a link to download it. I have a little experience with SKSE and SKSE plugins, but often when you are in a SKSE plugin you can do more or less everything that is possible with Papyrus and more. Link to comment
unique Posted June 10, 2015 Author Share Posted June 10, 2015 ... Unfortunately this procedure is not passed the actor value. I believe I can get the uint32 of the speaker, but not sure how to pull the actor from that object. If you want a copy of my code to look at, send me a pm and ill send you a copy. Yes please. Send me a PM with the zipped code or a link to download it. I have a little experience with SKSE and SKSE plugins, but often when you are in a SKSE plugin you can do more or less everything that is possible with Papyrus and more. Sent. Like I said in my main post, keep it to yourself for now though. We do not have permission to use this web TTS service for this. Its a pretty easy thing for me to change it to use iSpeech or something else though to release for the community. P.S. It puts log in main skyrim dir. Link to comment
Guest Posted June 10, 2015 Share Posted June 10, 2015 Thanks. I will not redistribute the code or the compiled version. Link to comment
unique Posted June 17, 2015 Author Share Posted June 17, 2015 For my question (3), does anyone by any chance know how to run a console command (RegisterPrefix) from skse plugin code? It seems to do what I need, if I can just work out how to run the command from the plugin. Link to comment
Guest Posted June 26, 2015 Share Posted June 26, 2015 Hi there, this is Fuz Ro D'oh's author. Feel free to PM me on the official Bethesda forums (forums . bethsoft . com / user / 460960-shademe) if you wish to collaborate. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.