Jump to content

DoubleCheeseburger's xVASynth Based Mod Voicification Thread


Recommended Posts

Posted
On 6/15/2021 at 4:51 AM, Herowynne said:

 

I tried MaleEvenToned for the POP Jailer, but did not like it. I much prefer the MaleBrute voice for the Jailer.

 

Here is an ESL-flagged ESP file with one NPC override record to change the Jailer's voice to MaleBrute.

POPJailerVoice.esp 872 B · 11 downloads

 

When I do future SE conversions of POP for Inte, I plan to switch the Jailer's voice to MaleBrute during my conversion process.

 

MaleEvenTonedAccented has been released now, it seems to be a decent quality. There's also MaleNordCommander. There's also UniqueGelebor and UniqueKodlakWhitemane for some deeper voices. Personally the MaleBrute voice model just doesn't come across sounding that good with a lot of synthetic artifacts.

 

Here's some samples I made for Simple Slavery comparing the different voice types, not exactly the same lines as POP but you can have a listen:

 

SS Samples 2.zip

Posted
13 hours ago, executaball said:

MaleEvenTonedAccented has been released now, it seems to be a decent quality. There's also MaleNordCommander. There's also UniqueGelebor and UniqueKodlakWhitemane for some deeper voices. Personally the MaleBrute voice model just doesn't come across sounding that good with a lot of synthetic artifacts.

 

Thanks so much! I downloaded and listened to the samples.

 

I agree that MaleEvenTonedAccented is high quality and sounds good. It sounds good enough that I am retracting my plan to change the Jailer's voice type in future SE conversions of POP.

 

However, I have been playing with the MaleBrute voice for the Jailer, and I really like it a lot, so I will personally continue using my ESL-flagged patch. Other folks are welcome to use the patch if they want MaleBrute.

 

More choices is always better!

Posted

Hey @DoubleCheeseburger, I'm trying to look into how your export script works - since right now it seems to generating all the lines across all voice types? Would it be possible to only export the lines with their associated speaker voice? Or is this only possible through exporting the voices via CK and then parsing that?

Posted
2 hours ago, executaball said:

I'm trying to look into how your export script works - since right now it seems to generating all the lines across all voice types?

Not quite. It already performs some basic voice types filtering by speaker sex (GetIsSex condition) or NPCs voice type (GetIsID condition). Now I'm in the process of making filtering by voice type (GetIsVoiceType condition).

It would be possible to make filtering more sophisticated just like CK works. In fact there is Export dialogues.pas script that comes with xEdit and it tries to simulate CK dialogue export. While it would reduce number of unused lines greatly, it would also skip some lines that are perfectly valid just because the most popular mods here are so complicated and script heavy that there is no way for CK or xEdit script to analyze it correctly. Just not possible since we have script extenders for script extenders and mods with hundreds of kilobytes of Papyrus scripts.

Posted
8 hours ago, DoubleCheeseburger said:

Not quite. It already performs some basic voice types filtering by speaker sex (GetIsSex condition) or NPCs voice type (GetIsID condition). Now I'm in the process of making filtering by voice type (GetIsVoiceType condition).

It would be possible to make filtering more sophisticated just like CK works. In fact there is Export dialogues.pas script that comes with xEdit and it tries to simulate CK dialogue export. While it would reduce number of unused lines greatly, it would also skip some lines that are perfectly valid just because the most popular mods here are so complicated and script heavy that there is no way for CK or xEdit script to analyze it correctly. Just not possible since we have script extenders for script extenders and mods with hundreds of kilobytes of Papyrus scripts.

 

Yeah, the CK does have a reverse problem in usually not exporting all the actual lines, especially for follower-type mods with complex factions and minimal NPC-assigned dialogue. Look forward to if you can get the voice type filtering working though. I guess the main thing now is if we're doing a large dialogue-based mod like BaboDialogue, Troubles of Heroine, or Slaverun Reloaded, the duplicate voice lines across voice types takes up a pretty big amount of space and processing time. 

Posted
1 hour ago, executaball said:

Hey @DoubleCheeseburger have you tried this method?
https://docs.google.com/document/d/13rN4yzgE_7UDj9qzURJyKQufxrwev1bzsrSmB437nNI/edit#
 

I've tried the xedit script above and it seems to only export the voice lines actually used by NPCs. Wondering what you think? 

 

So far seems to work but haven't tested that much.

Well, it looks like it's the Export dialogues.pas script modified mainly to make output compliant with the xVASynth batch files format.

While it would work great for lightweight plugins, it would fail with more complicated ones just like CK does.

If you're sure that a mod does not do some behind the scenes stuff, modifying members of factions, for example, using this would be the best bet.

Posted
1 hour ago, DoubleCheeseburger said:

Well, it looks like it's the Export dialogues.pas script modified mainly to make output compliant with the xVASynth batch files format.

While it would work great for lightweight plugins, it would fail with more complicated ones just like CK does.

If you're sure that a mod does not do some behind the scenes stuff, modifying members of factions, for example, using this would be the best bet.

 

Hm.. yeah actually it seems it only takes quests and filters for the dialogue there. Works for most but not sure about scenes.

Posted
32 minutes ago, executaball said:

 

Hm.. yeah actually it seems it only takes quests and filters for the dialogue there. Works for most but not sure about scenes.

As far as I know, every dialog topic must have related quest to it to work. So the logic in that is script is correct.

What I meant by "behind the scenes stuff" is things contained within Papyrus scripts and SKSE plugins that can change NPCs eligible for a dialogue at runtime, thus making it virtually impossible to recognize correct voice types via xEdit script. :)

But in the end of the day it all comes down to reaching a compromise between the size of a voice pack and having some percentage of the lines not voiced (which may vary from mod to mod).

Posted

Updated SexLab Survival voice files. Now it comes both for 0.635 and 0.662 versions.

This was my first voice pack ever made using very early version of my dialogue export script, so the update is featuring:

- More dialogue lines which were previously missing due to bugs in my script;

- Many new voice models;

- Better dialogue filtering which results in smaller size of the entire package;

- Real lip sync files created using Creation Kit instead of dummy .lip files.

 

I highly recommend redownloading voice pack even if you already have downloaded it previously.

Links are in the initial post.

 

I've also had a chance to improve my xEdit basically all across the board. Changes are quite significant so I need more time to test it before sharing with others.

Posted
6 hours ago, DoubleCheeseburger said:

Updated SexLab Survival voice files. Now it comes both for 0.635 and 0.662 versions.

This was my first voice pack ever made using very early version of my dialogue export script, so the update is featuring:

- More dialogue lines which were previously missing due to bugs in my script;

- Many new voice models;

- Better dialogue filtering which results in smaller size of the entire package;

- Real lip sync files created using Creation Kit instead of dummy .lip files.

 

I highly recommend redownloading voice pack even if you already have downloaded it previously.

Links are in the initial post.

 

I've also had a chance to improve my xEdit basically all across the board. Changes are quite significant so I need more time to test it before sharing with others.

 

Thanks so much! 

 

I've also repacked your new 0.662 version for both SE and LE in BSA back on my original post:

 

Posted (edited)

Hi.

I'm following your guide to get XVASynth operational,

I get to the "Synthesize Batch" where nothing happens.

 

I started with the GPU version, 1.40 & 1.41

I switched to the CPU version 1.40 & 1.41

 

Just fails there every time, doesn't crash just sits there with no CPU activity (checked with Task Manager)

 

Contents of server.log

Spoiler

2021-07-13 20:06:02,945 - New session
2021-07-13 20:06:02,946 - Plugin manager loaded.
2021-07-13 20:06:02,946 - {'use_gpu': False, 'vocoder': 'qnd', 'hifi_gan': False}
2021-07-13 20:06:03,990 - Models ready
2021-07-13 20:06:03,998 - Server ready
2021-07-13 20:06:10,037 - POST /setDevice
2021-07-13 20:06:10,038 - {'device': 'cpu'}
2021-07-13 20:15:24,711 - New session
2021-07-13 20:15:24,711 - Plugin manager loaded.
2021-07-13 20:15:24,711 - {'use_gpu': False, 'vocoder': 'qnd', 'hifi_gan': False}
2021-07-13 20:15:25,700 - Models ready
2021-07-13 20:15:25,708 - Server ready
 

Contents of app.log

Spoiler

2021-07-14_03:06:01.016Z | New session - v1.4.1
2021-07-14_03:06:01.103Z | F:/Modding/Tools/xVASynth-win32-x64/resources/app/plugins
2021-07-14_03:06:01.103Z | Settings: {"useGPU":true,"customWindowSize":"1000,1200","autoplay":false,"autoPlayGen":false,"audio":{"format":"wav","hz":22050,"padStart":0,"padEnd":0,"ffmpeg":true,"bitdepth":"pcm_s32le","amplitude":1},"plugins":{"loadOrder":""},"sliderTooltip":true,"darkPrompt":false,"prompt_fontSize":13,"bg_gradient_opacity":13,"autoReloadVoices":false,"vocoder":"256_waveglow","keepPaceOnNew":true,"batchOutFolder":"\"F:\\Modding\\SSE\\mods\\DAYMOYL Voice\\sound\\voice\\daymoyl.esm\"","batch_clearDirFirst":false,"batch_fastMode":false,"batch_skipExisting":false,"defaultToHiFi":true,"batch_batchSize":500000,"outputJSON":true,"keepEditorOnVoiceChange":false,"filenameNumericalSeq":false,"externalAudioEditor":"","s2s_autogenerate":true,"s2s_prePitchShift":false,"s2s_removeNoise":false,"s2s_noiseRemStrength":0.25,"base_speaker":"default","alt_speaker":"default","microphone":"","outpath_civilization":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/civilization","outpath_commandconquer":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/commandconquer","outpath_cyberpunk2077":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/cyberpunk2077","outpath_deusex":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/deusex","outpath_dragonage":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/dragonage","outpath_fallout3":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/fallout3","outpath_fallout4":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/fallout4","outpath_fallout76":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/fallout76","outpath_falloutnv":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/falloutnv","outpath_finalfantasy":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/finalfantasy","outpath_halflife":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/halflife","outpath_masseffect":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/masseffect","outpath_morrowind":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/morrowind","outpath_oblivion":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/oblivion","outpath_other":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/other","outpath_skyrim":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/skyrim","outpath_starfield":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/starfield","outpath_startrekarmada2":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/startrekarmada2","outpath_stbridgecommander":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/stbridgecommander","outpath_witcher":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/witcher","modelspath_bioshock":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/bioshock","modelspath_borderlands":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/borderlands","modelspath_civilization":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/civilization","modelspath_commandconquer":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/commandconquer","modelspath_cyberpunk2077":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/cyberpunk2077","modelspath_deusex":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/deusex","modelspath_dragonage":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/dragonage","modelspath_fallout3":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/fallout3","modelspath_fallout4":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/fallout4","modelspath_fallout76":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/fallout76","modelspath_falloutnv":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/falloutnv","modelspath_gta4":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/gta4","modelspath_gta5":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/gta5","modelspath_gtasa":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/gtasa","modelspath_halflife":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/halflife","modelspath_masseffect":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/masseffect","modelspath_morrowind":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/morrowind","modelspath_oblivion":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/oblivion","modelspath_other":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/other","modelspath_reddead2":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/reddead2","modelspath_residentevil":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/residentevil","modelspath_skyrim":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/skyrim","modelspath_starfield":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/starfield","modelspath_startrekarmada2":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/startrekarmada2","modelspath_stbridgecommander":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/stbridgecommander","modelspath_witcher":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/witcher","EULA_accepted":true}
2021-07-14_03:06:01.117Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.117Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\bioshock'
2021-07-14_03:06:01.117Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.119Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\borderlands'
2021-07-14_03:06:01.120Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.123Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\gta4'
2021-07-14_03:06:01.123Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.125Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\gta5'
2021-07-14_03:06:01.125Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.129Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\gtasa'
2021-07-14_03:06:01.129Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.131Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\reddead2'
2021-07-14_03:06:01.131Z | ERROR loading models for game: undefined
2021-07-14_03:06:01.133Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\residentevil'
2021-07-14_03:07:19.899Z | Uncaught Error: ENOENT: no such file or directory, mkdir 'F:\Modding\Tools\xVASynth-win32-x64\"F:\Modding\SSE\mods\DAYMOYL Voice\sound\voice\daymoyl.esm"'
2021-07-14_03:07:19.900Z | Error: ENOENT: no such file or directory, mkdir 'F:\Modding\Tools\xVASynth-win32-x64\"F:\Modding\SSE\mods\DAYMOYL Voice\sound\voice\daymoyl.esm"'
    at fs.mkdirSync (fs.js:885:18)
    at Object.fs.mkdirSync (ELECTRON_ASAR.js:674:16)
    at window.userSettings.batchOutFolder.split.reduce (F:\Modding\Tools\xVASynth-win32-x64\resources\app\batch.js:476:17)
    at Array.reduce (<anonymous>)
    at HTMLButtonElement.startBatch (F:\Modding\Tools\xVASynth-win32-x64\resources\app\batch.js:473:11)
2021-07-14_03:07:51.987Z | Uncaught Error: ENOENT: no such file or directory, mkdir 'F:\Modding\Tools\xVASynth-win32-x64\"F:\Modding\SSE\mods\DAYMOYL Voice\sound\voice\daymoyl.esm"'
2021-07-14_03:07:51.987Z | Error: ENOENT: no such file or directory, mkdir 'F:\Modding\Tools\xVASynth-win32-x64\"F:\Modding\SSE\mods\DAYMOYL Voice\sound\voice\daymoyl.esm"'
    at fs.mkdirSync (fs.js:885:18)
    at Object.fs.mkdirSync (ELECTRON_ASAR.js:674:16)
    at window.userSettings.batchOutFolder.split.reduce (F:\Modding\Tools\xVASynth-win32-x64\resources\app\batch.js:476:17)
    at Array.reduce (<anonymous>)
    at HTMLButtonElement.startBatch (F:\Modding\Tools\xVASynth-win32-x64\resources\app\batch.js:473:11)
2021-07-14_03:15:24.109Z | New session - v1.4.1
2021-07-14_03:15:24.129Z | F:/Modding/Tools/xVASynth-win32-x64/resources/app/plugins
2021-07-14_03:15:24.130Z | Settings: {"useGPU":false,"customWindowSize":"1000,1200","autoplay":false,"autoPlayGen":false,"audio":{"format":"wav","hz":22050,"padStart":0,"padEnd":0,"ffmpeg":true,"bitdepth":"pcm_s32le","amplitude":1},"plugins":{"loadOrder":""},"sliderTooltip":true,"darkPrompt":false,"prompt_fontSize":13,"bg_gradient_opacity":13,"autoReloadVoices":false,"vocoder":"256_waveglow","keepPaceOnNew":true,"batchOutFolder":"\"F:\\Modding\\SSE\\mods\\DAYMOYL Voice\\sound\\voice\\daymoyl.esm\"","batch_clearDirFirst":false,"batch_fastMode":false,"batch_skipExisting":false,"defaultToHiFi":true,"batch_batchSize":500000,"outputJSON":true,"keepEditorOnVoiceChange":false,"filenameNumericalSeq":false,"externalAudioEditor":"","s2s_autogenerate":true,"s2s_prePitchShift":false,"s2s_removeNoise":false,"s2s_noiseRemStrength":0.25,"base_speaker":"default","alt_speaker":"default","microphone":"","outpath_civilization":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/civilization","outpath_commandconquer":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/commandconquer","outpath_cyberpunk2077":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/cyberpunk2077","outpath_deusex":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/deusex","outpath_dragonage":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/dragonage","outpath_fallout3":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/fallout3","outpath_fallout4":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/fallout4","outpath_fallout76":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/fallout76","outpath_falloutnv":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/falloutnv","outpath_finalfantasy":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/finalfantasy","outpath_halflife":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/halflife","outpath_masseffect":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/masseffect","outpath_morrowind":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/morrowind","outpath_oblivion":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/oblivion","outpath_other":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/other","outpath_skyrim":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/skyrim","outpath_starfield":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/starfield","outpath_startrekarmada2":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/startrekarmada2","outpath_stbridgecommander":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/stbridgecommander","outpath_witcher":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/output/witcher","modelspath_bioshock":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/bioshock","modelspath_borderlands":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/borderlands","modelspath_civilization":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/civilization","modelspath_commandconquer":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/commandconquer","modelspath_cyberpunk2077":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/cyberpunk2077","modelspath_deusex":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/deusex","modelspath_dragonage":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/dragonage","modelspath_fallout3":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/fallout3","modelspath_fallout4":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/fallout4","modelspath_fallout76":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/fallout76","modelspath_falloutnv":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/falloutnv","modelspath_gta4":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/gta4","modelspath_gta5":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/gta5","modelspath_gtasa":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/gtasa","modelspath_halflife":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/halflife","modelspath_masseffect":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/masseffect","modelspath_morrowind":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/morrowind","modelspath_oblivion":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/oblivion","modelspath_other":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/other","modelspath_reddead2":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/reddead2","modelspath_residentevil":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/residentevil","modelspath_skyrim":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/skyrim","modelspath_starfield":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/starfield","modelspath_startrekarmada2":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/startrekarmada2","modelspath_stbridgecommander":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/stbridgecommander","modelspath_witcher":"F:/Modding/Tools/xVASynth-win32-x64/resources/app/models/witcher","EULA_accepted":true}
2021-07-14_03:15:24.140Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.141Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\bioshock'
2021-07-14_03:15:24.141Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.144Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\borderlands'
2021-07-14_03:15:24.144Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.147Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\gta4'
2021-07-14_03:15:24.147Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.151Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\gta5'
2021-07-14_03:15:24.151Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.154Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\gtasa'
2021-07-14_03:15:24.154Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.157Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\reddead2'
2021-07-14_03:15:24.157Z | ERROR loading models for game: undefined
2021-07-14_03:15:24.160Z | Error: ENOENT: no such file or directory, scandir 'F:\Modding\Tools\xVASynth-win32-x64\resources\app\models\residentevil'
2021-07-14_03:15:57.142Z | Uncaught Error: ENOENT: no such file or directory, mkdir 'F:\Modding\Tools\xVASynth-win32-x64\"F:\Modding\SSE\mods\DAYMOYL Voice\sound\voice\daymoyl.esm"'
2021-07-14_03:15:57.142Z | Error: ENOENT: no such file or directory, mkdir 'F:\Modding\Tools\xVASynth-win32-x64\"F:\Modding\SSE\mods\DAYMOYL Voice\sound\voice\daymoyl.esm"'
    at fs.mkdirSync (fs.js:885:18)
    at Object.fs.mkdirSync (ELECTRON_ASAR.js:674:16)
    at window.userSettings.batchOutFolder.split.reduce (F:\Modding\Tools\xVASynth-win32-x64\resources\app\batch.js:476:17)
    at Array.reduce (<anonymous>)
    at HTMLButtonElement.startBatch (F:\Modding\Tools\xVASynth-win32-x64\resources\app\batch.js:473:11)

Any thoughts?

 

EDIT: Problem solved.

 

2 issues

 

1. It needed to be installed to the root directory, why I don't know

2. When entering the path to my test mod, I had a space in a folder name so enclosed the path in parentheses.

    Let this be a lesson to others . . .

 

EDIT: My first mod attached

SexLab JailRapeSE-Voiced.7z

 

EDIT: Added a download with just voice pack BSA & Empty eslified plugin that has mod plugin as master

SexLab JailRape SE 20190620_Voice.7z

Edited by judge007
Added a "plain" voice pack
Posted
On 6/19/2021 at 10:54 PM, DoubleCheeseburger said:

How to Make Voice Files Yourself

 

This is my approach to making voice files for various mods written step by step.

During this guide I'm gonna generate voice files for Death Alternative - Your Money or Your Life for Skyrim Special Edition which comes with daymoyl.esm as an example, but the same process applies for any other plugin. Moreover, it should work Skyrim Legendary Edition and probably Fallout 4 too.

 

 

 

Getting Ready

 

Through out this guide I'm gonna be using various software.
For your convenience here is the complete list of tools I'm gonna be using:

There are plenty of guides on the Internet on how to install every program from this list, so I'm not gonna cover this here.

 

 

 

Getting xVASynth Ready

 

It's important to configure xVASynth so it generates voice files in the appropriate for Skyrim (and probably Fallout 4) format.

 

1. Launch xVASynth.

 

2. Open settings by clicking on the cog icon on top right:

  Reveal hidden contents

357522762_Screenshot2021-06-19234311.png.7bc87664116ad79b9eaf35082eaf2f9a.png

 

3. Make sure that the "Use ffmpeg post-processing (requires ffmpeg >=4.3)" checkbox is checked.

Make sure that the "Audio format (wav, mp3, etc)" field contains "wav".

Make sure that the "Audio sample rate (Hz)" field contains "22050".

Make sure that the "Audio bit depth" field contains "pcm_s16le":

  Reveal hidden contents

129251868_Screenshot2021-06-19234732.png.09bd4e4fc6f979b266466eea5e1ca684.png

 

 

 

Getting xVASynth Dialogue Export xEdit Script Ready

 

This is my personal xEdit script that allows to easily export dialogue lines from any plugin in the xVASynth ready format.

It also offers easy way to update voice files whenever plugin or xVASynth voice list get updated without necessity of doing the whole process from scratch by creating cache files.

 

 

Installation

 

1. Download archive from this post.


2. Unpack it into your xEdit folder next to other scripts. In my case it's "F:\Program Files (x86)\SSEEdit\Edit Scripts".

 

 

Configuration

 

Before you can use the script there is some configuring that needs to be done.

 

1. Open xVASynth Dialogue Export.pas with any text editor. The Initialize function contains some basic script settings.


2. Find skvaVoiceIds.CommaText. This property basically contains comma separated list of available voice models in the <xVASynth Voice ID>=<Game Voice ID> format. Add or remove voices from the list according to your xVASynth voice models list.

 

3. Find maleVoices.CommaText and femaleVoices.CommaText. These properties contain the list of comma separated game voices grouped by sex. Add or remove voices from the list according to your xVASynth voice models list.


4. Optionally find perFileLimit. This script is able to split finalized dialogue lines into multiple files, because xVASynth really struggles with huge files. On my PC xVASynth can handle 50000 lines per file pretty stably. You might want different lines limit so change perFileLimit accordingly.


5. Optionally find filterText. If True, the script will filter out some parts of the text using the regular expressions listed below. Generally, you want to keep this variable True.


6. Optionally find cachePath. Adjust path for the cache files.


7. Optionally find outputPath. Adjust output path for the xVASynth ready batch files.

 

 

 

Creating Voice Files

 

Exporting Dialogue Lines

 

1. Launch xEdit.

 

2. Load your load order.

 

3. In the plugin browser find the mod you're making voice files for. In my case it's daymoyl.esm.

 

4. Right click on it and choose "Apply Script...":

  Reveal hidden contents

397096734_Screenshot2021-06-18182730.png.9fe51ba45943b452d098766970ddc0c5.png

 

5. In the Apply Script popup find "xVASynth Dialogue Export" script and press OK:

  Reveal hidden contents

1504797386_Screenshot2021-06-19221109.png.a67b2fbd0e2354467ea5058afff8bf96.png

 

6. Wait while script does its job. The more dialogue lines in plugin the longer process will be. The process will be slower if cache file for the plugin is present, because script will have to compare each dialogue line against those contained in cache file.

One the process is completed the script will print something like this in the "Messages" tab:

  Reveal hidden contents

1169513217_Screenshot2021-06-18183239.png.d1b3893a550b2b59ecfbf095e39f871e.png

The generated file(s) will be placed in the "xVASynth Dialogue Export" xEdit folder. In my case it's "F:\Program Files (x86)\SSEEdit\Edit Scripts\xVASynth Dialogue Export\daymoyl.esm-1.csv".

 

 

Synthesizing Voice Files

 

First, let's create output folder where we'll store synthesized voice files.


1. In Mod Organizer 2 click on the screwdriver and wrench icon and select "Create empty mod":

  Reveal hidden contents

1024342938_Screenshot2021-06-18183334.png.261ea5a52224dcd82280bf9f66b26259.png


2. In the appeared popup window enter mod title. It can be anything you like, in my case I've chosen: "Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files".

  Reveal hidden contents

1403122192_Screenshot2021-06-18183446.png.c09c87600764d5698a200e9473700aac.png

Press "OK".


3. Find newly created mod in the mod list and open it in Explorer:

  Reveal hidden contents

1012680124_Screenshot2021-06-18183539.png.54914b5bf35d8d2df68e776fbddc10f6.png


4. Create "sound" folder and enter it.


5. Create "Voice" folder and enter it.


6. Create folder named after plugin name you're creating voice files for and enter it. Make sure to use full plugin name including extension. In my case it's "daymoyl.esm".


7. Copy your current explorer location. In my case it's "D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files\sound\Voice\daymoyl.esm". It's gonna be output path for synthesized voice files.

 

Now it's time for speech synthesis using xVASynth itself.

 

1. Launch xVASynth.


2. Open batch synthesis by clicking on the table icon on top right:

  Reveal hidden contents

605395395_Screenshot2021-06-19222737.png.ce8daf1236945d99b30d648bb5a2a63e.png


3. Paste previously copied output path. In my case it's "D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files\sound\Voice\daymoyl.esm":

  Reveal hidden contents

2008285038_Screenshot2021-06-19021813.png.8fa18014e98c783aff262150114b90cf.png


4. Drag .csv file made by xEdit script and drop it into xVASynth's drop zone. xVASynth will need some time to process the file if it's big, so be patient.


5. Once .csv file is processed press "Synthesize Batch" and wait while xVASynth does its job.

  Reveal hidden contents

2101777213_Screenshot2021-06-19021856.png.92885c53457c5505d885c6ab7093a0ec.png

xVASynth will start generating .wav files.

 

  • Tip: xVASynth really struggles with rendering content of huge files. So once you started synthesis feel free to close "Synthesize Batch" popup by clicking anywhere outside of it. This will speed things up. You can still track the progress via Windows taskbar.

 

 

Creating Lip Sync Files

 

This where things can get really frustrating due to buggy nature of Creation Kit. Thankfully, there is easy option available as well if you don't care about lip sync.

Moreover, you can skip this step altogether but missing lips animation will look really weird in game.

 

Option A: Using Creation Kit

 

This option is the best in terms of quality, but the hardest and the most annoying part of this guide.

 

1. Activate mod that contains voice files in Mod Organizer 2.

 

2. In Mod Organizer 2 configure new executable for Creation Kit. In the "Arguments" field type -GenerateLips:<Plugin name>. In my case it's "-GenerateLips:daymoyl.esm". My final executable settings looks like this:

  Reveal hidden contents

659813166_Screenshot2021-06-19224205.png.e3add3c49b51db43985fc5632d1dd28c.png

 

3. Launch new Creation Kit executable. Creation Kit will start to generate .lip files for the specified plugin. Generated files will be placed to the overwrite mod. In my case it "C:\Users\admin\AppData\Local\ModOrganizer\SkyrimSE\overwrite\sound\Voice".

Eventually, unless you're really lucky, Creation Kit will come across faulty file that it can't really process and crash. Restarting Creation Kit will result the same. The only solution I know is to copy successfully generated lip files to faulty voice and restart Creation Kit.

 

4. Eventually Creation Kit will go through all dialogue lines and close itself. Now it's time to verify the result.

First, compare number of files in xVASynth output directory with number of files in Creation Kit output directory. In my case it's  "D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files\sound\Voice\daymoyl.esm" and "C:\Users\admin\AppData\Local\ModOrganizer\SkyrimSE\overwrite\sound\Voice\daymoyl.esm". Ideally, both numbers should be the same. But sometimes Creation Kit refuses to generate .lip files for some reason. The is no unified process of figuring out why this happens. In most cases it's due to faulty dialogue conditions. Some plugins modify dialogue lines from the original Skyrim (which is weird on itself considering that original voice line will remain untouched), in this case Creation Kit won't generate .lip file too.

 

5. Once everything is verified and resolved, copy .lip files from Creation Kit output directory ("C:\Users\admin\AppData\Local\ModOrganizer\SkyrimSE\overwrite\sound\Voice\daymoyl.esm" in my case) to xVASynth output directory ("D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files\sound\Voice\daymoyl.esm") respecting the folder structure. If everything is done correctly every .wav file is be paired .lip file:

  Reveal hidden contents

image.png.853799996a2877af00b4271687692bec.png

 

I use bunch of Mod Organizer 2 and Windows CMD scripts to handle most of this automatically and verify the result. But I'm not ready to share it, because those scripts have their own problems and the whole process is just a mess.

I heard that the author of xVASynth is going to create .lip generation functionality inside of xVASynth. Let's hope that this will actually happen. Having such feature would make this process so much easier.

 

Option B: Using Fake .lip File

 

This option is the easiest, but lip sync will be terribly off. Moreover, there is a good chance of NPC lips still moving after the end of audio file which will look weird.

 

1. Download Stock_10.lip from this post and place it in xVASynth output directory ("D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files\sound\Voice\daymoyl.esm" in my case).

 

2. Launch Windows CMD (on Windows 10 press Win + S and type "Command Line").

 

3. In the command prompt type:

cd /d "<xVASynth output directory>"

In my case it's:

cd /d "D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files\sound\Voice\daymoyl.esm"

Press Enter.

 

4. In the command prompt type:

for /R %G in (*.wav) do copy Stock_10.lip "%~dG%~pG%~nG.lip"

Press Enter.

This command will copy Stock_10.lip over to every .wav file with appropriate file name.

 

5. Stock_10.lip can be deleted now.

 

 

Packing Files in .fuz

 

1. Launch Unfuzer.

 

2. Point it to the earlier created Mod Organizer 2 mod folder in the "Folder to parse" option. In my case it's "D:\MO2\Mods\Death Alternative - Your Money or Your Life 7.0.1a.2 Voice Files".

 

3. Make sure that "Parse subfolders", "Recursively" and "Process .lip files" checkboxes are all checked.

 

4. Press "Refuz (Wav->Xwm->Fuz)".

 

Unfuzer will start to pack .wav and .lip pairs into single .fuz file.

 

 

Finishing

 

All done! Your mod should be voiced now.

Previously generated .csv file(s) (in my case daymoyl.esm-1.csv) can be (and probably should be) deleted now. But keep cache file in the "Edit Scripts\xVASynth Dialogue Export\cache" folder. It will come handy when you decide to update voice files for new version of the mod or new xVASynth voices.

 

Optionally share your work with others. :)

 

 

xVASynth Dialogue Export.zip 2.68 MB · 14 downloads

Stock_10.lip 9.35 kB · 8 downloads

 

Hey,

I wanted to try this out, but I stumbled upon something:

as for now, your xEdit script creates a file which results in a wav file of the same line for every voice that's possible. Is there a way to get which voices actually use that line in the mod? That way, xVA Synth would have way less to do, right?

Posted

I don't know if someone else has brought this up, but I'll share this anyhow.  If you use custom voice packs such as FemaleYoungEagerer and want to have such followers as you have assigned this voice pack to, actually work.  Here's how I did it for this voice pack.

 

Locate the FemaleYoungEager directory in the voice directory of the mod, such as SexLab Eager NPCs.esp.  Duplicate this directory and rename the new directory to FemaleYoungFragile.  This will allow the NPC to use these voice files.  Of course in this case, the pitch will be lower since that's the standard voice, but I find it's close enough.

 

Other voice packs will of course need some knowledge of what voice they are replacing in order to use the right one.

Posted (edited)

Are the voice packs forward compatible? I am asking specifically for babodialogue and SLHH, of course I understand that the newly added lines will not be voiced, but I just wonder if using the voice pack for previous versions of the mods will mess up the functioning of the mods in anyway.

 

thanks

Edited by FredOof
Posted
53 minutes ago, FredOof said:

Are the voice packs forward compatible? I am asking specifically for babodialogue and SLHH, of course I understand that the newly added lines will not be voiced, but I just wonder if using the voice pack for previous versions of the mods will mess up the functioning of the mods in anyway.

 

thanks

 

They should be. New dialogue will simply not be voiced, just like it was before, and Fuz Roh Doh should handle it normally.

Posted
2 hours ago, executaball said:

 

They should be. New dialogue will simply not be voiced, just like it was before, and Fuz Roh Doh should handle it normally.

Thanks, also are you considering packing the files into bsa format? I think it would help with the loading time

 

Posted
35 minutes ago, FredOof said:

Thanks, also are you considering packing the files into bsa format? I think it would help with the loading time

 

 

You think right, a lot of loose files extends boot time a lot.

About all I leave loose now are seq files and scripts for making Creation Kit run better.

Posted
2 hours ago, FredOof said:

Thanks, also are you considering packing the files into bsa format? I think it would help with the loading time

 

 

Yes it does. Especially with MO/MO2 which needs to index files for its VFS. You can package it yourself or I made some .bsa repacks in the earlier post here:

 

Posted

Hi @judge007. I dl'd your file. You should probably mention that this replaces/overwrites the original Jail Rape and is not just the voice pack like the others in this thread. Did you make other changes or just add the voices? If just the voices and you're not looking to take over support for the mod, then you might want to consider repackaging just the sound files into a new bsa w/ dummy plugin called JailRape Voice (or something). Just a thought. Thank you for your work.

Posted
9 minutes ago, Seeker999 said:

Hi @judge007. I dl'd your file. You should probably mention that this replaces/overwrites the original Jail Rape and is not just the voice pack like the others in this thread. Did you make other changes or just add the voices? If just the voices and you're not looking to take over support for the mod, then you might want to consider repackaging just the sound files into a new bsa w/ dummy plugin called JailRape Voice (or something). Just a thought. Thank you for your work.

It was small, didn't think it mattered.

I did make a couple of changes, the conversion to SE wasn't complete and I added Bash tags to the header.

Otherwise is identical to original mod.

 

Will pack just the sound files from here in, the others are quite bit larger.

Posted
8 hours ago, executaball said:

 

Yes it does. Especially with MO/MO2 which needs to index files for its VFS. You can package it yourself or I made some .bsa repacks in the earlier post here:

 

Just scrolled back to see your packs, this is amazing thanks again! Also since with loose files packed into bsas I noticed the SSE versions of the voice packs require an additional esl to work, so I just want to confirm again that these bsa-esl packs are also forward compatible right?

Posted
1 hour ago, FredOof said:

Just scrolled back to see your packs, this is amazing thanks again! Also since with loose files packed into bsas I noticed the SSE versions of the voice packs require an additional esl to work, so I just want to confirm again that these bsa-esl packs are also forward compatible right?

 

Which ones were you referring to? If you find an esp-esl with the bsa it is just an empty esl to load the bsa, no other purpose. So yes it should be forward compatible, all the bsa contains are .fuz voice files.

Posted
37 minutes ago, executaball said:

 

Which ones were you referring to? If you find an esp-esl with the bsa it is just an empty esl to load the bsa, no other purpose. So yes it should be forward compatible, all the bsa contains are .fuz voice files.

I was referring to your doublecheeseburger babodialogue and SLHH packs in this thread, however I just noticed that these actually do not come with an esl like the other packs that you have uploaded on your own thread. Your words about esp-esl cleared up my query regarding forward compatibility, however I am still just curious as to how come some of the bsa packs (e.g. babodialogue and SLHH) do not come with esl while others (the ones on your own thread) do if an empty esl is required to load the bsa?

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...