Guest Posted January 31, 2019 Posted January 31, 2019 View File Introduction: This simple mod will make the game automatically choose the correct SexLab voice type for an NPC when its SexLab animation is starting. The choices are from the mod SexLab Vanilla Voices. Installation: Just drop the contents into the Data folder or use a mod manager to install it. Load order doesn't matter, but make sure you've SexLab Vanilla Voices. Don't forget to enable "NPCs Reuse Voice". Uninstallation: Open the console and type "stopquest SLAutoVanillaVoicesConfigQuest" without the quotes. Save your game. Remove the following files from your Data folder: Sexlab - Auto Vanilla Voices.esp, seq\Sexlab - Auto Vanilla Voices.seq, scripts\SLAutoVanillaVoicesMCM.pex, scripts\SLAutoVanillaVoicesScript.pex, scripts\source\SLAutoVanillaVoicesMCM.psc and scripts\source\SLAutoVanillaVoicesScript.psc, or remove it with your mod manager. Known Issues: SexLab Vanilla Voices doesn't contain voices for all vanilla voice types. As such, it will return to the original behavior of SexLab and assign a random voice to an NPC using a voice type that isn't covered. An example is Delphine. Nothing I can do, unless someone wants to continue SexLab Vanilla Voices and add SexLab voices for all vanilla voice types. Submitter Hawk9969 Submitted 01/31/2019 Category Framework & Resources Requires Sex Animation Framework v1.62 or higher, SexLab Vanilla Voices 2.8 or higher Special Edition Compatible Yes View File
Lilzt3hcat Posted January 31, 2019 Posted January 31, 2019 Can't believe someone didn't do something like this earlier, thank you!
Joes92 Posted January 31, 2019 Posted January 31, 2019 Yes ty very much extremely annoying to have to assign voice types to everyone you decide to bang lol ty for this great mod
ThatGuyWithaFace Posted January 31, 2019 Posted January 31, 2019 7 hours ago, Lilzt3hcat said: Can't believe someone didn't do something like this earlier, thank you! There actually was, while back even, just buried in the topic for main mod. However this mod handles it w/o SL script edits and has MCM.
Erundil Posted January 31, 2019 Posted January 31, 2019 Ok, quick questions: 1. Does this change the player's voice too? (I hope not) 2. Can I manually override what this mod has set? I mean - if it sets a voice, can I go to SSL settings and pick another one, without this mod overwriting it again? Thanks for any info.
Guest Posted February 1, 2019 Posted February 1, 2019 4 hours ago, Erundil said: Ok, quick questions: 1. Does this change the player's voice too? (I hope not) 2. Can I manually override what this mod has set? I mean - if it sets a voice, can I go to SSL settings and pick another one, without this mod overwriting it again? Thanks for any info. 1) if (a != None && a != PlayerRef) ; We don't need to do this on the player. 2) The voices are always applied at the starting of an animation (only for the NPCs in that animation). You can override after that, but it will be reapplied when another animation is starting. It does only force voices into NPCs that match a voice type, if you have a custom NPC with a custom voice type or a vanilla NPC with an unique voice type that isn't covered by SexLab Vanilla Voices, the mod will do nothing and any voice set SexLab assigned or you did, will be respected.
Erundil Posted February 1, 2019 Posted February 1, 2019 ad. 1: Great. ad. 2: Ok, got it. It would be ideal to apply voices to npcs before SexLab does, and only apply to those that don't have anything assigned yet. Not sure if that's possible though, scripting-wise. Thanks for the info.
Guest Posted February 1, 2019 Posted February 1, 2019 2 hours ago, Erundil said: ad. 2: Ok, got it. It would be ideal to apply voices to npcs before SexLab does, and only apply to those that don't have anything assigned yet. Not sure if that's possible though, scripting-wise. No. One of the reasons I've developed this mod was to reset the voice types on a bunch of NPCs SexLab assigned in the past which I didn't know which voice types they were using at the time. I see no reason why a voice type that is available in SexLab Vanilla Voices should be overridden with another voice that will mismatch the NPC. I'm not implementing that. You can however change it yourself on SLAutoVanillaVoicesScript.psc -> SetVanillasVoices member function. if (SexLab.GetSavedVoice(a) == None) ... endif
Erundil Posted February 1, 2019 Posted February 1, 2019 Great. I admire people who share the source code and explain it. No better way to learn scripts. Thanks. Anyway, I'll try it later - at the moment I'm trying to make it work at all. It seems to assign random voices for me >_< Not gonna blame the mod, might be my heavy load order
Guest Posted February 2, 2019 Posted February 2, 2019 The mod should work as long as SexLab Vanilla Voices 2.8 is installed. The voice sets don't even need to be enabled, just registered in SexLab. If you just installed it, try resetting SexLab voice registry. Also, did you enable it in the MCM? The mod starts out disabled by default.
Erundil Posted February 5, 2019 Posted February 5, 2019 Disabled? Fuck, I'm dumb... >_< I am so sorry for the inconvenience, everything works like a charm now.
jpee1965 Posted March 24, 2019 Posted March 24, 2019 Does anybody know why, in Vanilla Voices (not Auto) when set to random the female voice always always defaults to Vex??? I have to manually configure practically every chick in the game beforehand to ensure they don't use her voice set. I like the idea of this mod! It's just it overwrites my preferred voice type for certain chicks once I set them and check reuse...
Lilzt3hcat Posted April 7, 2019 Posted April 7, 2019 On 3/24/2019 at 2:48 PM, jpee1965 said: Does anybody know why, in Vanilla Voices (not Auto) when set to random the female voice always always defaults to Vex??? I have to manually configure practically every chick in the game beforehand to ensure they don't use her voice set. I like the idea of this mod! It's just it overwrites my preferred voice type for certain chicks once I set them and check reuse... I noticed even before this mod (just default sl) that there's a few voices (for males 'dovakin seems to be picked probably 90%) that would crop up constantly rather than it being properly random. (at-least this mod fixes that with npcs it can find a voice for)
Guest Posted April 7, 2019 Posted April 7, 2019 47 minutes ago, Lilzt3hcat said: I noticed even before this mod (just default sl) that there's a few voices (for males 'dovakin seems to be picked probably 90%) that would crop up constantly rather than it being properly random. (at-least this mod fixes that with npcs it can find a voice for) It's because of how the function is set: sslBaseVoice function PickGender(int Gender = 1) ; Get list of valid voices bool[] Valid = Utility.CreateBoolArray(Slotted) int i = Slotted while i i -= 1 sslBaseVoice Slot = GetBySlot(i) Valid[i] = Slot.Enabled && !Slot.Creature && (Gender == Slot.Gender || Slot.Gender == -1) endwhile ; Select a random true in the list i = Utility.RandomInt(0, (Slotted - 1)) int Slot = Valid.Find(true, i) if Slot == -1 Slot = Valid.RFind(true, i) endIf return GetbySlot(Slot) endFunction This isn't a proper random algorithm. For instance: If you've 20 voice sets, but only voice set 1 and voice set 20 are valid for this NPC, it has a much greater chance of landing on voice set 20 than voice set 1 because if "i = Utility.RandomInt(0, (Slotted - 1))" is not 0, it automatically picks voice set 20 every time. This is a design flaw within SexLab, which cannot be fixed without recompiling sslVoiceSlots.psc. The best you can do without recompiling SexLab's scripts is to register for "AnimationStarting" and set new, properly randomized voices overriding SexLab's, same approach as this mod. You will have trouble however if you don't have "Remember NPC voices" as a bunch of SexLab functions call PickVoice/GetVoice directly. EDIT: Here is a proper function, if you want to recompile: sslBaseVoice function PickGender(int Gender = 1) ; Get list of valid voices int[] Valid = Utility.CreateIntArray(Slotted) sslBaseVoice Slot int i = Slotted int j = 0 while i i -= 1 Slot = GetBySlot(i) if (Slot.Enabled && !Slot.Creature && (Gender == Slot.Gender || Slot.Gender == -1)) Valid[j] = i j += 1 endif endwhile i = Utility.RandomInt(0, (j - 1)) return GetbySlot(Valid[i]) endFunction
jpee1965 Posted April 8, 2019 Posted April 8, 2019 On 4/7/2019 at 1:11 AM, Hawk9969 said: It's because of how the function is set: sslBaseVoice function PickGender(int Gender = 1) ; Get list of valid voices bool[] Valid = Utility.CreateBoolArray(Slotted) int i = Slotted while i i -= 1 sslBaseVoice Slot = GetBySlot(i) Valid[i] = Slot.Enabled && !Slot.Creature && (Gender == Slot.Gender || Slot.Gender == -1) endwhile ; Select a random true in the list i = Utility.RandomInt(0, (Slotted - 1)) int Slot = Valid.Find(true, i) if Slot == -1 Slot = Valid.RFind(true, i) endIf return GetbySlot(Slot) endFunction This isn't a proper random algorithm. For instance: If you've 20 voice sets, but only voice set 1 and voice set 20 are valid for this NPC, it has a much greater chance of landing on voice set 20 than voice set 1 because if "i = Utility.RandomInt(0, (Slotted - 1))" is not 0, it automatically picks voice set 20 every time. This is a design flaw within SexLab, which cannot be fixed without recompiling sslVoiceSlots.psc. The best you can do without recompiling SexLab's scripts is to register for "AnimationStarting" and set new, properly randomized voices overriding SexLab's, same approach as this mod. You will have trouble however if you don't have "Remember NPC voices" as a bunch of SexLab functions call PickVoice/GetVoice directly. EDIT: Here is a proper function, if you want to recompile: sslBaseVoice function PickGender(int Gender = 1) ; Get list of valid voices int[] Valid = Utility.CreateIntArray(Slotted) sslBaseVoice Slot int i = Slotted int j = 0 while i i -= 1 Slot = GetBySlot(i) if (Slot.Enabled && !Slot.Creature && (Gender == Slot.Gender || Slot.Gender == -1)) Valid[j] = i j += 1 endif endwhile i = Utility.RandomInt(0, (j - 1)) return GetbySlot(Valid[i]) endFunction That's awesome! Except it's completely beyond me to implement LOL!
Sydney Posted April 26, 2019 Posted April 26, 2019 This is excellent, thank you. Is there anyway to install SL Voices twice (Vanilla/Euphoric and then Rape) with different mod names and then have this mod detect aggressive sex and use Rape voices and with the other set of voices with consensual sex? That would be amazing!
Guest Posted April 26, 2019 Posted April 26, 2019 3 hours ago, Sydney said: This is excellent, thank you. Is there anyway to install SL Voices twice (Vanilla/Euphoric and then Rape) with different mod names and then have this mod detect aggressive sex and use Rape voices and with the other set of voices with consensual sex? That would be amazing! Yes, but it's a lot of work and I don't have a GPU to test it anyway. You also want to use a xEdit script to make it quicker and less error prone. Change the name of the WAV files to something that easily identify them, such as 001_rape.wav and copy them over (use a batch script to speed it up). Merge the entries from the other vanilla voices ESPs by using different names and IDs. Also make sure the script renames them to their new names. Recompile sslVanillaVoicesFactory.psc with the new voice sets. Open Sexlab - Auto Vanilla Voices.esp in xEdit and add the new voice registrars as a new array property. You should probably use a xEdit script to copy the original ones and then make it rename them. Edit SLAutoVanillaVoicesScript.psc and recompile it. string[] property MaleRapeVoiceNames auto ; This should match the property array you just added to the ESP. string[] property FemaleRapeVoiceNames auto ; This should match the property array you just added to the ESP. sslThreadController slScene ; This should now be global so we can check if the actor is a victim. string Function GetVoiceName(Actor target, bool isFemale = false) VoiceType vType = target.GetVoiceType() VoiceType[] voiceTypes string[] voiceNames if (isFemale) voiceTypes = FemaleVoiceTypes if (slScene.IsVictim(target)) voiceNames = FemaleRapeVoiceNames else voiceNames = FemaleVoiceNames endif else voiceTypes = MaleVoiceTypes if (slScene.IsVictim(target)) voiceNames = MaleRapeVoiceNames else voiceNames = MaleVoiceNames endif endif int voiceIndex = voiceTypes.Find(vType) if (voiceIndex < 0) return "" endif return voiceNames[voiceIndex] EndFunction
Guest Posted June 2, 2019 Posted June 2, 2019 On 5/23/2019 at 1:50 PM, Lodakai said: @hawk9969 this is great! can you do an SE port? Just run the ESP through SSE's Creation Kit? There is nothing in this mod that requires to be ported to SSE.
Lodakai Posted June 2, 2019 Posted June 2, 2019 Ahhh thanks Indeed I self ported and it works fine Thanks! Also: On 4/26/2019 at 3:56 PM, Sydney said: This is excellent, thank you. Is there anyway to install SL Voices twice (Vanilla/Euphoric and then Rape) with different mod names and then have this mod detect aggressive sex and use Rape voices and with the other set of voices with consensual sex? That would be amazing! I think this is already easily done with Sexlab. Consentual sex is the Mild folders.... Aggressive is medium... Hot is for ending toward orgasm for both. With SLSO you can also adjust the range at where hot voices kick in. You can add and edit voice files in SL Vanilla voices in the sound descriptor section. I already have a bunch of voice files set up for all the base vanilla voices. If anyone is interested in any of them... send me a message. There's quite a few I have yet to flesh out... but overall I typically use 15 voice files or more for each category. This is why I really like this mod so much... I've spent all this time expanding on those voices.. it was a real pain self assigning each one. Thanks again hawk9969
Guest Posted November 25, 2020 Posted November 25, 2020 Will it work for followers that use vanilla voices my dood?
Durante Posted March 8, 2021 Posted March 8, 2021 On 11/9/2020 at 9:59 AM, JohnsonDingleheimer said: Can someone upload the SSE-converted ESP of this somewhere please? Bump. Doesn't seem to work for SE. And its a good mod. 1
jdods13 Posted May 27, 2021 Posted May 27, 2021 On 3/8/2021 at 3:56 PM, Durante said: Bump. Doesn't seem to work for SE. And its a good mod. Is it difficult to convert this mod to SSE ourselves?
AceofWind Posted March 8, 2022 Posted March 8, 2022 Well since nobody else seems to be doing it, here's an SSE conversion of the mod. I've also set it to be an ESP-FE (ESL) so that it doesn't contribute to the main load order Sexlab - Auto Vanilla Voices SSE.rar 10
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now