Jump to content

Recommended Posts

Posted
37 minutes ago, Xarcellmo said:

I confirm it's now working for me as well. On a side note, may I suggest to improve the quality of life when dealing with a mod with thousands of lines of dialogue from different characters and we're only interested in revoicing just one of them?

When you "apply script" on an .esp it will do the whole mod but if you run the script on one or multiple dialogue topics it will just do those lines and the responses.
And you can ofcourse turn off all the other voices save for the one you wanna regenerate.


maybe this isnt what you mean?
 

Posted
18 minutes ago, MellowDrama said:

When you "apply script" on an .esp it will do the whole mod but if you run the script on one or multiple dialogue topics it will just do those lines and the responses.
And you can ofcourse turn off all the other voices save for the one you wanna regenerate.


maybe this isnt what you mean?
 

I see. Now that I think about it, I always ran the script on the whole mod and never once tried it on single/multiple dialogue topic/s. It's definitely something I'll have to keep in mind.

Posted
3 hours ago, MellowDrama said:

but if you run the script on one or multiple dialogue topics it will just do those lines and the responses.

Oh cool! Did not realize this was an option!

Posted (edited)

I would recommend that after running the xEdit extraction script that it is saved and opened as a separate text file, instead of jumping into the voice generation program.  Encourage authors to look at the script and fix spelling errors and such prior to generating voices.  Bonus points if you generate another import script that will create a new mod of any dialogue changes.  This should be possible as I made a crude version of this for myself already but not to the same scope.

 

xVASynth generations were fine with typos and robotic emotions.  But as you approach more realistic voices, these things become an immersion breaker in the style of Uncanny Valley and in this way is worse that xVASynth.  It's especially hard on VR players.

 

Some tips:

* ALL CAPITAL letters is meant to generate emphasis but more often than not, breaks the dialogue, especially if everything is in CAPS.  Another way to generate emphasis is to put the specific portion in quotation marks.

 

* Jarl, Daedra, Ysolda, Ysgramor, OK, and whore might need to be renamed to Yarl, Daydra, Isolda, Isgramor, okay, and hore prior to generation (but do not resave into the esp, of course).  I've had issues with these words on a previous TTS and have just stuck to this as a good practice and haven't had issues since.

 

* Quen can do sound effects well, like "Mmm" and "Hahaha" but its looking for specific spellings.  "Mmmmmmmm" ,"Hahahaha" and "Hehehe" won't sound right.  Exaggeration is bad.

 

* If you want to go the extra mile and get a specific emotional response, you have to extract an audio reference file that contains that emotion.  Hadvar, for example, is very soft spoken so all his dialogue will be very soft spoken.  However, when fleeing Alduin, he's animated and shouting, and you need that specific audio if you want Hadvar to be animated.

 

* Another way to show emotion is to write your dialogue as a story prompt.  So instead of just saying "By the Divines!" you could say, "'By the Divines,' she screamed in terror!" then you'd have to use an audio program to remove your additional prompt.  But I've found this method works well to convey additional emotion.

Edited by StuffedNinga
Posted (edited)
On 8/10/2026 at 4:39 AM, modball said:

Reinstall with the CUDA enabled torch versions - this might be GPU series dependent, I am not sure:
 

Thanks to your indications i managed to make it works as well on my old Nvidia GTX1060 3GB, but it's not that straightforward.

When i installed the mod, i just installed the latest python version of v3.14.6 which caused some dependencies down the process.

 

So for people who wants to do the same with old cards:

 

First you need to have the CUDA binaries installed: https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local

I did a whole install (all options).

 

You need to check the CUDA computation capacity value of your card : https://llmlaba.com/articles/cuda-pytorch-compatibility.html

Mine was 6.1 for example.

 

Then, you need to find an existing version of pytorch for your computation capacity value, ( due to pytorch CUDA v13.X branch giving up on compatibility with any CUDA computation older than 7.5).

Mine was pytorch v2.5.x for cuda branch 12.1 (cu121) or 12.4 (cu124)

 

Then according to the version found, you need to find the latest Python version for which your pytorch package was built:

https://pytorch.org/get-started/previous-versions/

For me, it was python v3.12.x (so latest was v3.12.10), you can find all of them here https://www.python.org/downloads/windows/

 

From there, i installed this specific version (no symlinks, without adding it to the PATH) in a specific folder like C:\tools\python\python3.12

 

Then for the MD's Skyrim Voice Tools:

I renamed off the .venv folder as .venv.off to disable it

i had to recreate the virtualenv using the v3.12 python exe.

 

In a shell in the X:\Steam\steamapps\common\Skyrim Special Edition\Tools\MD's Skyrim Voice Tools\qwen3-tts folder
 

C:\tools\python\python3.12\python.exe -m venv .venv

Then you activate the python virtualenv by running this shell command

.\.venv\Script\Activate.ps1

Then using pip, you reinstall the requirements

pip install -r requirements.txt --index-url https://download.pytorch.org/whl/cu124

This installed for me the v2.5.1 of torch and torchaudio with cuda 12.4 support.

 

You need to do the same kind of actions in the X:\Steam\steamapps\common\Skyrim Special Edition\Tools\MD's Skyrim Voice Tools\skyrim-audio-tools\program

I renamed off the previous .venv folder as .venv.off to disable it

i had to recreate the virtualenv using the v3.12 python exe.

C:\tools\python\python3.12\python.exe -m venv .venv

Then you activate the python virtualenv by running this shell command

.\.venv\Script\Activate.ps1

Then using pip, you install the tools for sound manipulation:

pip install imageio-ffmpeg faster-whisper ttkbootstrap pykakasi

 

you're done, normally the python scripts should works the same way in python v3.12 and the generation should now use CUDA and be a bit faster than using the CPU (personally i got something like 30% increase, or 2min reductions/lines)

Edited by rsunmcoxuxypqwuvfr
Formatting
Posted (edited)

Thanks for the update!

 

Before updating are you able to to confirm if it will overwrite the changes I made to the qwen3-tts virtual environment to get the voice generation to use my GPU?


Please disregard. Can confirm it detected the existing dependencies were met and didn't try to reinstall quen3.

Edited by modball
Posted

It would be ideal if there was a way to control the emotion and intensity that the words are spoken. Yelling, whispering, humor, sarcasm etc. If there already is via prompts, please advise how the syntax works.

Posted
2 hours ago, modball said:

It would be ideal if there was a way to control the emotion and intensity that the words are spoken. Yelling, whispering, humor, sarcasm etc. If there already is via prompts, please advise how the syntax works.

no there wont be for a while at least. That requires different voice samples 30 second voice samples for each emotion for each voice that has enough material to even do it.
it took 20 straight hours to make the 30 second voice samples for fallout 4 and folon.
and that was one for each voicetype. If i had to make multiple emotions dynamically.

I could probably do it and maybe will but it would take weeks to do.

Posted
On 8/16/2026 at 2:01 PM, MellowDrama said:

no there wont be for a while at least. That requires different voice samples 30 second voice samples for each emotion for each voice that has enough material to even do it.
it took 20 straight hours to make the 30 second voice samples for fallout 4 and folon.
and that was one for each voicetype. If i had to make multiple emotions dynamically.

I could probably do it and maybe will but it would take weeks to do.

Is this something you might try to outsource to your community?  A user could use something like Lazy Voice Finder to identify audio clips easily and group them together with emotions.  I do this myself but so far have only bothered with an Angry Serana and a Neutral Serana.  Other emotions haven't been necessary thus far.

Posted
On 8/16/2026 at 2:01 PM, MellowDrama said:

no there wont be for a while at least. That requires different voice samples 30 second voice samples for each emotion for each voice that has enough material to even do it.
it took 20 straight hours to make the 30 second voice samples for fallout 4 and folon.
and that was one for each voicetype. If i had to make multiple emotions dynamically.

I could probably do it and maybe will but it would take weeks to do.

Sorry if it is a dumb question but there is no way, similar to ComfyUI/Stable Diffusion image generation etc. to include positive and negative text prompts when generating the voices that could influence the delivery? It already does this randomly when generating multiple variations of the same phrase. It would be great if there was some way to control that in addition to the min/max temp settings without having to rely on all those samples, which sounds like a whole lot of time and effort.

Posted
10 hours ago, modball said:

Sorry if it is a dumb question but there is no way, similar to ComfyUI/Stable Diffusion image generation etc. to include positive and negative text prompts when generating the voices that could influence the delivery? It already does this randomly when generating multiple variations of the same phrase. It would be great if there was some way to control that in addition to the min/max temp settings without having to rely on all those samples, which sounds like a whole lot of time and effort.

The problem as far as I under Qwen tts is that you can nudge it in certain directions by adding the ol' "... he said sadly" or something like that.
Maybe problem then is cutting it.

You can either have a dumb rule to just kinda remove the last few spikes in audio but i dont think that's gonna be reliable, certainly not at scale, the other option is another local AI that listens to the each mp3 and cuts the those nudging sentences but that would probably double 

Again like they're big projects i likely will do but they take time.

Posted (edited)
11 hours ago, MellowDrama said:

The problem as far as I under Qwen tts is that you can nudge it in certain directions by adding the ol' "... he said sadly" or something like that.
Maybe problem then is cutting it.

You can either have a dumb rule to just kinda remove the last few spikes in audio but i dont think that's gonna be reliable, certainly not at scale, the other option is another local AI that listens to the each mp3 and cuts the those nudging sentences but that would probably double 

Again like they're big projects i likely will do but they take time.

Understood. Yeah I tried using quoted phrases, square brackets etc... stuff that works for image generation... but when I saw they became part of the audio I stopped. I can cut those parts out easily enough but not sure how to regenerate the lip file so it matches the modified audio.

To be clear, I think this mod is great as it is currently and really appreciate you sharing it with us. I can finally generate dialog for custom voiced followers that doesn't take 30+ attempts and 2 hours to get a single sentence sounding somewhat believable. With this, I usually get 3 out of 5 good takes to choose from on the first or second attempt. Thanks!

 

Edited by modball
Posted (edited)
1 hour ago, modball said:

Understood. Yeah I tried using quoted phrases, square brackets etc... stuff that works for image generation... but when I saw they became part of the audio I stopped. I can cut those parts out easily enough but not sure how to regenerate the lip file so it matches the modified audio.

To be clear, I think this mod is great as it is currently and really appreciate you sharing it with us. I can finally generate dialog for custom voiced followers that doesn't take 30+ attempts and 2 hours to get a single sentence sounding somewhat believable. With this, I usually get 3 out of 5 good takes to choose from on the first or second attempt. Thanks!

 

You can use RunaLip to quickly generate fuz files without the CK.

 

This mod is a wonderful tool for quickly mass producing a ton of dialogue for large mods, such as SLSF Comments (I wonder if anyone is working on that...).  But if you were instead looking to voice a single follower or wanted a bit more control of your generations, then I would suggest VoiceForgeStudio.  It is a huuuuggggeeee pain in the ass to set up, and I can't really help there.  But it also uses QuenTTS and I find it's UI easy to navigate and I've had quite a bit of success with it.  I'm voicing some of the comments from Sexist Guards and to my surprise it's managing to generate stuttered dialogue filled with gasps and moans fairly well.  Which is also why I know Quen can do other sound effects like laughter, Mmm, and moaning.  I wish I could figure out the spelling to do a gasp and other sound effects though.

 

This mod should really be a successor to xVASynth and replace the majority of the mods in Voiced Mods list.  But don't get me wrong though, I still have massive respect for xVASynth for what it was.

Edited by StuffedNinga
Posted
On 8/21/2026 at 11:58 PM, StuffedNinga said:

You can use RunaLip to quickly generate fuz files without the CK.

 

This mod is a wonderful tool for quickly mass producing a ton of dialogue for large mods, such as SLSF Comments (I wonder if anyone is working on that...).  But if you were instead looking to voice a single follower or wanted a bit more control of your generations, then I would suggest VoiceForgeStudio.  It is a huuuuggggeeee pain in the ass to set up, and I can't really help there.  But it also uses QuenTTS and I find it's UI easy to navigate and I've had quite a bit of success with it.  I'm voicing some of the comments from Sexist Guards and to my surprise it's managing to generate stuttered dialogue filled with gasps and moans fairly well.  Which is also why I know Quen can do other sound effects like laughter, Mmm, and moaning.  I wish I could figure out the spelling to do a gasp and other sound effects though.

 

This mod should really be a successor to xVASynth and replace the majority of the mods in Voiced Mods list.  But don't get me wrong though, I still have massive respect for xVASynth for what it was.

Thanks for the suggestions!

100%,  xVASynth was great for it's time.

 

  • 2 weeks later...
Posted
On 8/9/2026 at 7:39 PM, modball said:

Starting in the MD's Skyrim Voice Tools/qwen3-tts/ directory,

 

Set the virtual environment:

source .venv/Scripts/activate

 

Just came back here to say that this helped immensely, but for me on Windows, the command was: 

 

.\.venv\Scripts\Activate.ps1

 

Strange, I think this originally was CUDA enabled. But it's nice to get back to it.

Posted

@MellowDrama This program has much improved since I last tested it.  Thank you again for making it.  It makes batch generations very easy.

 

One more suggestion.  When regenerating lines, could an option be available to use a different reference audio?  That will give regenerations more precise control over particular emotions.  Users can extract audio and dialogue from Lazy Voice Finder to find the particular emotions they want.  But for that to work, you might need a program to combine audio and transcribe words in the same format you're using as your original reference audio.  Unless you can make it work with a single 4 second audio clip but Quen should be able to do that.

 

And for an insanely slow option that could produce superior audio... If there was an option when generating each line of dialogue to auto locate and extract the most representative reference audio.  That would make generations very closely match the tone of the original dialogue.  Voice Forge Studio actually does this but it's not automated, you have to click regenerate for every single line of audio if you wanted this.  But if that could be automated and used in your mod then that would be much more useful.

 

Posted

Some notes after running this.

 

1. Running the xEdit script immediately launches the program and the only option is to start generating voices.  Instead, the xEdit script should save a text file that can quickly be edited with a spell checker and to rename "Jarl" to "Yarl" if nothing else.

 

2. Looking at it more, I see that there is a text file saved as xedit_multiline_jobs.txt that is loaded.  But it looks like it only saves dialogue and not voice types which would then create massive voice bloat if every line of dialogue is generated for every voice type possible.  Instead, would it be possible to load the original xVASynth output csv files?  That script has some issues but it does do voice sorting.

 

3. The Review section populates at the completion of every voice model.  I thought I could just ignore it, but the larger the number of audios sit for review, the less responsive the program gets.  Closing the window doesn't clear the review.  You have to manually click next on every single audio.  Also, the program pauses to generate this review each time.  Instead, an option should be available at the completion of your generations to load individual or multiple voice folders and your original xedit_multiline_jobs.txt that you could then use for your review.  This will speed up audio generations since the program doesn't have to populate review each time.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...