VAMMoan is a plugin dedicated to add voices and voice related sounds to your characters... but also any sex sounds that will make a sex animation more believable.
The plugin is focused on audio quality and credible randomness with a major emphasis on manual control from the creator to have a credible voice or sound effects throughout your scenes.
The plugin features :
- Two modes : manual and interactive.
- 2 voices, one male, one female performed by voice actors containing hundreds of variations.
- 3 additional female voices extracted from open source content.
- Optional breathing system
- Trigger system
Discover how to implement and use VAMMoan in basics or more advanced situations with HZMDemos.
How to use
- Open or create a scene.
- Select a character
- Load VAMMoan in the plugins tab
- The character should start breathing
If you have any doubt about the configuration... the big help box on the left is here to help you.
How to control VAMMoan
In manual mode
VAMMoan is meant to be controlled through triggers.
Triggers and actions can be added on :
- The main timeline
- Animation patterns
- Buttons or triggers
- Plugins ( like Timeline, LogicBricks... )
The main functions you should use are below a "fake functions" called "Use these functions below" to help you find what you need quickly.
All functions called Voice XXXX are used to change the voice to this specific state or intensity. If you choose Voice disabled, you will disable the voice. If you choose Voice Orgasm, you will trigger the orgasm state... etc...
Enable or Disable intensity boost are two functions you can use to boost the intensity to the next one when you are between intensity 0 and 4. This could be used to enable a a credible interaction when you touch the breast of a female character for instance. When you enable it, don't forget to disable it in some other way, it is not automatic.
You can also add triggers to VAMM :
Most of the triggers are meant to start when a new state is triggered.
Three triggers are a bit more specific : When intensity lowered, when intensity increased, While breathing.
When intensity lower or when intensity increased is triggered everytime the intensity changes when (of course) your are between intensity 0 and 4.
While breathing is a trigger that is updated constantly and is more a transition action. It can be used to control an animation pattern or a Timeline animation or the intensity of a light for instance.
In interactive mode
You don't have to do anything, besides interacting with the character.
- The interactive mode only works with genital at the moment
- The interactive mode only works with female characters
Controlling the arousal value with triggers
Update Arousal value trigger
When you call it (no matter how you do it, a button, a collision trigger...) you will have to input a value. This value will be added to the arousal level of the character.
This value has to be written simply with numbers and dots, or eventually a minus sign if you want to reduce the arousal, like this for instance :
- 1
- 1.5
- 25.2
- -5
- -10
This trigger only update the arousal value, and doesn't act like an interaction. You will have to use the next trigger to do that.
This trigger, no matter what value you input ( even 1.000.000 ) will always be clamped between 0 and the max arousal value you have chosen in the interactive options.
Trigger Arousal Interaction trigger
When you call it, you will just "simulate" an interaction like if the character was just touched somewhere. This trigger could be used to simulate any type of interactive situation where the character would react to it.
Examples:
- Reacting to breast or nipples interaction
- Reacting to a VFX at a specific moment
- Reacting to a collision or external interaction :
- Imagine the girl reacting to the player touching a voodoo doll representation of herself.
Since this trigger only "simulate" the interaction, it should (or could) be used in combination with the Update Arousal value trigger. It can result in two situations :
- If you're using it without the arousal update : the character will react and stay at the current arousal value.
- If you're using it in combination with the arousal update : the character will react and the arousal value will increase or decrease.
Advanced options
Breathing scale, as the description explains, makes the breathing animation more or less obvious. You need to have Life installed ( version 10 to 13 are compatible ).
Pause between moans gives you the ability to add a bit more pause between moans (and moans only, breathing or other state are not influenced by this parameter). It allows you to slowdown a bit the pace of the moans. This value is between zero (no pause, fastest pace) to 1.5 (slowest pace). This value is capped at 1.5 because it is the value that makes it realistic for almost all the voices.
Randomized moan playback
These options are allowing you to control a bit more the way the moans are played. Initially the idea was to play breathing or lower intensity samples while the character is in a higher intensity. For instance at intensity 3, the character would stop moaning from times to times.
But the system became a bit more advanced and allows you to control the playback a bit more in depth :
- You can configure the minimum and maximum occurence. At start, VAMM will pick a value between min and max, and everytime it reaches this count, it will try to see if it can play another sound or keep playing a moan at the current intensity. Then it will reset the count and pick another value between min and max... and so on.
- Playback chance is self-explanatory : how much chance the system has to play another sample
- Playback type is what type of sample is going to play when it occurs. Playback type with "+/-" means it will randomly go to a higher or lower intensity of 1 or 2. Playback type "+/-X" means it will randomly go to any higher or lower intensity between 1 and 2.
- Being at a high intensity and triggering from times to times a lower intensity sound
- Being at a low intensity and triggering from times to times a high intensity sound
Pelvic slap
Demos for this feature available in HZMDemos.
The new pelvic slap feature allows you to enable a slapping sound when characters are colliding around the pelvic area when humping each other. By default, you can tweak the slap sound volume and minimum delay. This minimum delay prevents too much sounds playing when a collision is detected.
If you check Edit advanced options, you will access more options allowing you to tweak the reverb mix, the min and max intensity of the sounds and the triggers offsets.
When you open the advanced options, you will see both triggers (also know as colliders) appear and it will allow you to tweak their positions easily.
Note that the triggers should be positioned just under the surface of the skin to ensure that you don't have too much collisions. But you can push them a bit out depending on your pose and animation if the collision does not happen as you'd expect.
Reverb mix allows you to reduce the amount of sound sent to the reverb if you use one.
Sound min and max intensity allows you to only play specific intensities sounds no matter how hard (or soft) the collision is.
You also have at your disposal several triggers to control the flow of the pelvic slap.
These triggers are specifically made to only change the values at runtime (during the scene playback). It will not change your default settings in the plugin.
Good practices and additional info :
- This is not a "magical" way of synchronizing the pelvic slap with the animation. For basic poses like in the demos in HZMDemos. It might work "out of the box" and match perfectly the action. But for more complex animations or poses, you will have to tweak the settings beforehand and potentially during the animation.
- ⚠ IMPORTANT : The pelvic slap option should be enabled on only one character for a scene with two characters. If you have a threesome or foursome, then maybe you can enable it on other characters. But by default, you should only have one source of slapping sound.
- If you have a complex animation, and your characters are doing transitions, changing position etc... you can use the pause and unpause triggers to disable the collision detection during these animations.
- If you control the speed of the animation, depending on how your triggers are positionned, you might want to control the minimum delay to avoid too much (or not enough) collisions.
Squishes
Demos for this feature available in HZMDemos.
The new squishes feature allows you to enable a squish sound when penetration occurs or when you simply interact with the labia of a female character. This feature only works for female characters. By default, you can tweak the squishes sound volume.
If you check Edit advanced options, you will access more options allowing you to tweak the reverb mix and the minimum delay. This minimum delay prevents too much sounds playing when a collision is detected.
Just like the pelvic slap, you also have at your disposal several triggers to control the flow of the squishes sounds. You can pause and un-pause the detection and change volume, delay and reverb during playthrough.
These triggers are specifically made to only change the values at runtime (during the scene playback). It will not change your default settings in the plugin.
You can read the good practices part of the pelvic slap feature just above. They are quite similar for the squishes sound.
Blowjob
Demos for this feature available in HZMDemos.
The new blowjob feature allows you to enable mouth sounds when a character is using his or her mouth to suck something :] By default, you can tweak the blowjob sound volume.
If you check Edit advanced options, you will access more options allowing you to tweak the minimum delay, reverb mix and moan fallback delay. The sound min delay prevents too much sounds playing when a collision is detected. And the moan fallback delay is how much seconds the character will wait before returning to the previous voice intensity if she or he stops to suck something.
In manual mode, during blowjob, you can swap the voice intensity level to anticipate the fallback. For instance :
- You could have the girl at intensity 4 before she start sucking
- During the animation set the voice to breathing.
- When she stops, she will fallback to breathing instead of intensity 4.
Talking about triggers, just like the pelvic slap, you also have at your disposal several triggers to control the flow of the blowjob sounds. Pause and un-pause the detection and change volume, delay, reverb and fallback delay during playthrough.
These triggers are specifically made to only change the values at runtime (during the scene playback). It will not change your default settings in the plugin.
You can read the good practices part of the pelvic slap feature just above. They are quite similar for the blowjob sounds.
The voices
A few informations are available below the name of the character you've selected. But three are more important :
Variations says if there are a lot of samples or not. High means a lot of samples, low means fewer samples.
Intensities says what intensities are available. If specific intensities are specified it means that using intensities that are not available will result in playing the highest intensity available. For instance for 0,1,2, using intensities 3 and 4 for will result in the character playing intensity 2.
Recommended pitch says what is the optimal pitch to use. I've spent quite a while testing the voice to come up with these values. Going above or under the recommended pitch will result in audio artifacts and loss of credibility. But feel free to have fun, you may want to have a scene with a pixie or an ogre
Updating VAMMoan
I'm always testing extensively every release of VAMM to avoid any issues on players/creators side. I'm testing a new release in my working VaM and in my clean VaM installs. And I'm testing several scenes to ensure that everything works normally.
I'm not saying I can't miss a potential bug, I'm only human after all ( a button not working, a new feature glitching... )
But I can assure you that every release is tested and is working with all scenes in HZMDemos. So, in 99% of the cases, it should work with your scenes.
In any case : if you make a mistake (loading two different versions of VAMMoan in a scene for instance) while trying to update. Either hard reset VaM, or restart VaM completely to ensure that the assetbundle loader is cleared of any error.
If you don't, not a single version on your VaM install of VAMM will work.
Best : Update method 1
Download the new version of VAMMoan. Open your package manager, delete (all) previous versions of VAMMoan. Either use hard reset, rescan packages with the package manager or restart VaM. ( I prefer using hard reset)
Load your scene, and resave it. VaM will use the latest version of VaM, so you'll need to resave it if you want to publish it on the hub at some point.
Update method 2
You will need to open the JSON files of your scenes (for instance with Notepad++).
Open your scene files, and search for "hazmhox.vammoan.
If you know the exact version you can search for (for instance) "hazmhox.vammoan.13:/
Replace every instance with the new version. For instance :
"hazmhox.vammoan.13:/ becomes "hazmhox.vammoan.15:/
Launch VaM and load your scene.
Update method 3
Load your scene.
Remove all instances of VAMMoan in all your characters of your scene.
Add the new version of VAMMoan on all your characters.
DO NOT remove VAMMoan on one character and try to load the new version immediately if other characters still have an old version of VAMM loaded. It will trigger an error. First, remove all. Then, re-add the new version on every character.
This is the least interesting method because if you have a complex scene with a lot of scripting, you will lose everything. This is the quickest one if your scene is recent and you still haven't scripted a lot on VAMMoan.
Licence and usage
All my content is CC BY-SA. Which means you can use VAMMoan for commercial content or use it for derivative purposes.
Samples are cleared for linear media/video games usage. You can use them in any of these scenarios.
Samples are not cleared for machine learning or cloning.
You cannot use VAMMoan samples in datasets for, in the development of, or as inputs to Machine Learning, Voice Cloning, or Generative AI programs.
Special thanks
An incredible thanks to Dorn, Leo and Pixie for their voice as Isabella, Seth and Claire.
Find out more about Dorn's work on her twitter.
Find out more about Leo's work on his twitter.
Find out more about Pixie's work on her twitter.
Please consider supporting them.
A huge thank you to @ReignMocap and @WeebUVR for providing awesome VA recordings.
A super thank to Acidbubbles and MacGruber, for their awesome content but also the time they spent sometimes to help me out with issues I encounter while coding.
Please check their awesome plugins and consider supporting them too.
And the über special thanks to Spacedog, Captain Varghoss, jackaroo, angelfreakly.online, MalMorality, babul, Marko, SCAMP and you all I may I've forgotten! Some of the features of the plugin may have not been possible without their tests, ideas and support.