• Happy Holidays Guest!

    We want to announce that we will be working at reduced staffing for the holidays. Specifically Monday the 23rd until Jan 2nd.

    This will affect approval queue times and responses to support tickets. Please adjust your plans accordingly and enjoy yourselves this holiday season!

  • Hi Guest!

    Please be aware that we have released a critical security patch for VaM. We strongly recommend updating to version 1.22.0.7 using the VaM_Updater found in your installation folder.

    Details about the security patch can be found here.
AudioMate
Yeah has some struggles with the new security stuff:

!> Compile of dub.AudioMate.8:/Custom/Scripts/dub/AudioMate/AudioMate.cslist failed. Exception: System.Security.SecurityException: Security Check Failed (TypeRestriction) : [MVRPlugin_dub_AudioMate_8__Custom_Scripts_dub_AudioMate_AudioMate_cslist_6f71857d106cf1cb7ee29f1d33b29efd_1, MVRPlugin_dub_AudioMate_8__Custom_Scripts_dub_AudioMate_AudioMate_cslist_6f71857d106cf1cb7ee29f1d33b29efd_1.dll] : The type 'System.Environment' is prohibited and cannot be referenced
at DynamicCSharp.ScriptDomain.SecurityCheckAssembly (System.Byte[] assemblyData, Boolean throwOnError) [0x00000] in <filename unknown>:0
!> Compile of dub.AudioMate.8:/Custom/Scripts/dub/AudioMate/AudioMate.cslist failed.
 
Sorry the security update broke this plugin due to System.Environment class now being restricted. This class exposes things that I don't want plugins to have access to. In this specific case the plugin is just using Environment.Newline. I suggest fixing by just using "\n" as a substitute.
 
Sorry the security update broke this plugin due to System.Environment class now being restricted. This class exposes things that I don't want plugins to have access to. In this specific case the plugin is just using Environment.Newline. I suggest fixing by just using "\n" as a substitute.
Thanks for the hint!
 
Hey, is it possible to unload unused audio clips with this plugin (to shorten load times)? I loaded a bunch to find the ones I want, but looks like they are always there, and unloading them with VAM interface would take a long time. If it's not possible, then I guess a feature suggestion to wipe all loaded clips or only those that are not used in any collection.
 
Thanks for inviting me to comment Dub. Sorry this is a bit long but stick with me please, because I see a lot of potential for audiomate to work great as a VAM jukebox.

Before Audiomate I had to load audio tracks manually through the scene audio menu. That is major hassle and a bummer because I consider mood music to be the most important part of adding atmosphere to the scene. The way I have it setup now I have audiomate loaded onto a audiosorce atom with a UI button for play and a UI Slider for volume. I have separate scenes (json) for different playlists saved that I merge load into my working scene. This is adequate for now.

What I really want however is a way to save separate subscenes as playlists. But the thing is, Audiomate doesn't play well with subscenes. When you try to load the plugin as part of a subscene you get a error "!> AudioMate.AudioMateController.SetReceivingAtom: Audio Source ReceiverAtom has invalid uid AudioSource." Because the subscene renames the audiosorce atom as "subscene name"/Audio Source

The advantage to using Audiomate in subscenes is you could really streamline the process of adding music to a scene. The playlist is automatically loaded when you add the subscene and you just have to click play on the UI button. Also you can move the UI buttons and sliders around the scene by moving the location of the subscene atom. You cant do that with a mergload of a json file.

audiomate.jpg

Some additional features that would be great is a way to skip or play next via a trigger so that one can skip to the next song in the playlist via a UI button. Also a pause trigger, sometimes I want to pause the music without pausing animation within the scene.

I really think with these changes you could fill a huge gap in the VAM experiance. Setting up mood music till now has been a bit of a PITA. I would be happy to work up a pdf of how I set things up, or you could even make audiomate as a audiosorce playlist subscen part of your next demo scene.

Thanks for considering my ideas.
 
Thanks for taking the time @Ballard
I consider the subscene error as a bug. So this will be fixed in the next version.
Your other ideas are good and very useful. I've added them to my development backlog. But I don't know if they'll already be implemented in the next version since there is quite some stuff in the backlog by now. But I'll definitely add your ideas.

Would you consider a continuous play mode on collection level useful?
 
Thanks for taking the time @Ballard
I consider the subscene error as a bug. So this will be fixed in the next version.
Your other ideas are good and very useful. I've added them to my development backlog. But I don't know if they'll already be implemented in the next version since there is quite some stuff in the backlog by now. But I'll definitely add your ideas.

Would you consider a continuous play mode on collection level useful?
Sure that would be useful. Thanks for adding my ideas. Glad to hear you will fix the bug.
 
@dub
Thank you for your great plugin. I use it a lot to have the girls talk to me.
But at the moment this is only possible with a collision trigger.

The structure you have build with your plugin is excellent for including voice recognistion with keywords to trigger a keyword playlist and play a random soundfile as a result.

You could make a next step to a virtual girlriend script with this implementation into Audiodub.

I have nearly no unity knowledge and can hardly understand the script lines. Just found out that there is a unity "KeywordRecogniser"
Find it under UnityEngine.Windows -> UnityEngine.Windows.Speech -> Classes -> KeywordRecogniser


Maybe the PhraseRecogniser is also helpful and could be run too ?
They use the Windows 10 build-in speech recogniser. Language depends on your Windows installation. I think it will be usable offline (important).

I had a working girlfriend software in german language with PiAUISuite on the Raspberry Pi. But VAM is another level.

My idea of how it could work:

The KeywordRecogniser or PhraseRecogniser should always listen, after activated with a toggle.

Example sentences input with microphone:

"How are you today sweetheart ?"
"Do you know what time it is ?"
"I had a bad day at work today."
"Darling, I would like to have sex now."
"I would like to have a beer."

I have a lot more conversation files ready. We could work together. I could create english or german girl voice files when I have a list with text examples.
The azure.microsoft.com text-to-speech is really good with the neutral voices. Could record sentences there with the free version.

In Audiodub I have made several lists named by keyword (example lists: How, Do you, bad day, sex, time and so on) or phrases (How are you, Do you know, I would like). Overall it would be 120 lists for now.

Each list contains several mp3 files with girl voice recordings and answers randomly to the keyword or phrase.

If possible it should make also an if descision and could choose a different list because two words/phrases were recognised ("I would like" AND "sex")

And it would be cool if the girl can ask questions after a reply too.
"I had a bad day at work today." -> reply from girl to the statement: "Oh that's terrible. Should I give you a hug or suck your dick to make you feel better ?"

Do you think you can make that possible please ?

Thank you very much.

EDIT: I have just seen that you are from Germany too. :)
 
Last edited:
Or maybe make a separate voice command plugin which can trigger user defineable actions.

Example:
"Dance" for me -> a BVH oder MMD plugin is loaded and with a delay the girl could say something like: "You like it when I dance sexy for ya."
Give me a "BJ" -> a BJ or HJ scene or animation will merge load and then the BJ file list will play where she says something between sucking or handjob.

I'm still learning how to use VAM.
I have managed to set a collision trigger to activate your audiodub plugin so it plays random voice files.
But they are not triggered by my voice like it were perfect for immersion.

Let me know what you think.
Thanks.
 
No .wav format support atm ?
It would be awesome to see that in a future update!
Great plugin anyway, thank you!
 
Is there a comprehensive tutorial on how to make this work? I can't seem to get the audio to play and I'm sure there is something simple that I must be missing.
 
Hi Dub, thanks for making a great plugin! I used it with great success for a few days, but now I'm getting this error whenever I try to load the plugin on a person:

!> Compile of Custom/Scripts/dub/AudioMate/AudioMate.cslist failed. Errors:
!> [CS1056]: Unexpected character `\000a' in Custom\Scripts\dub\AudioMate\src\UI\Component\UIActiveCollection.cs at [235, 34]

The weird part is, it still works fine on your demo scene.

Any idea what's happening?
 
Is there a way for "play next" random?

Suppose I want to make two audio clips randomly. First one coming from audio set #1 and after that I play the second audio clip randomly from the set #2. Can we achieve this. Note that if we use two play random in trigger system, I think only one of them will play. We need something like "play next random"
 
Hey there, question/bug for you.
I'm trying to pack a VAR of a scene that includes AudioMate, using sounds from your demo scene specifically, but the packager errors out because it's "Missing content item Saves/scene/[AudioMate soundfile]".
I've put the sound files various places (tried first to simply reference your demo scene VAR) with the same result. The VAR packer does pull them from the correct location (Custom/Sounds currently) but is also apparently referencing them in Saves/scene, where they do not exist:
1645773637274.png

Note how it's trying to load both "AudioMateClipWetIn01.wav" AND "WetIn01.wav" - why? And why is it looking in Saves/Scene for them??

I've looked through the scene json and there are zero mentions of anything being in Saves/scene; the URLAudioClipManager is pulling them from Custom/Sounds and so is the AudioMate plugin itself (it works fine in the scene), so I have no idea why the VAR packer wants to load them from Saves/scene.

Any tips? Is this a bug, and AudioMate doesn't play well with being in VARs, or am I missing something obvious? Thaaaanks!!
 
Last edited:
dub updated AudioMate with a new update entry:

Surprise Update!

I know - It's been a while. :p

The good news is that I finally found the time to finish the next AudioMate version.
Not many new features have been implemented though. It's mostly a stability and bug fixing update.

The bad news is that since I'm doing this in my spare free time and my job basically eats up all my development enthusiasm, I can't really tell you when the next update will be released.
I have a lot of good ideas and got tons of useful input from you guys, but it has been hard...

Read the rest of this update entry...
 
First of all thank you for making this plugin, I'm trying it for the first time today.
I'm still a newbie (few days in VAM) and I have much more to learn of course.

1. I'm not sure if it's a bug or if I do something wrong:
When I load my own custom WAV files it worked once but the next time I import new files won't appear on the: "CLIP LIBRARY" list.
I've tried the same with Import Folder but I couldn't see the files.
I found out that if I RELOAD the plugin, only then I can see the files I loaded, I hope this information helps.

2. As I said, I'm still a newbie so I wonder is there a way I can trigger specific "Collection" by collision with Person Shoulder, Hand? any other part?

3. Is there a way to see ONLY active collection files instead of ALL the files? it will be so much easy to see only the active collection files and possible to add/remove file from specific collection instead of see all the files at the same time. (Sorry if it's already possible and I missed that option)

4. Can I make specific collection to make the person talk (LipSync) using the built in plugin? or do I need an external plugin to connect to the specific collection somehow?

5. I'm not sure how the built-in Trigger system works:
I chose one Trigger, and "Add Start Action" but when I wanted to delete it, pressing "Delete" button does nothing.
I closed and Reload, it still didn't delete when pressing the Delete button, is it a bug, or I'm doing something wrong?
Same with "Add End Action" - Can't delete it.

Sometimes there are "TALKING" audio files, but sometimes "SOUND EFFECTS" so I don't want all sound effects will also affecting the mouth. any step-by-step or if anyone already made a tutorial with AudioMate so I can follow will be great!


* Thanks ahead for any help and sorry about my bad English.
Keep up the great work!
 
Last edited:
First of all thank you for making this plugin, I'm trying it for the first time today.
I'm still a newbie (few days in VAM) and I have much more to learn of course.

1. I'm not sure if it's a bug or if I do something wrong:
When I load my own custom WAV files it worked once but the next time I import new files won't appear on the: "CLIP LIBRARY" list.
I've tried the same with Import Folder but I couldn't see the files.
I found out that if I RELOAD the plugin, only then I can see the files I loaded, I hope this information helps.

2. As I said, I'm still a newbie so I wonder is there a way I can trigger specific "Collection" by collision with Person Shoulder, Hand? any other part?

3. Is there a way to see ONLY active collection files instead of ALL the files? it will be so much easy to see only the active collection files and possible to add/remove file from specific collection instead of see all the files at the same time. (Sorry if it's already possible and I missed that option)

4. Can I make specific collection to make the person talk (LipSync) using the built in plugin? or do I need an external plugin to connect to the specific collection somehow?

5. I'm not sure how the built-in Trigger system works:
I chose one Trigger, and "Add Start Action" but when I wanted to delete it, pressing "Delete" button does nothing.
I closed and Reload, it still didn't delete when pressing the Delete button, is it a bug, or I'm doing something wrong?
Same with "Add End Action" - Can't delete it.

Sometimes there are "TALKING" audio files, but sometimes "SOUND EFFECTS" so I don't want all sound effects will also affecting the mouth. any step-by-step or if anyone already made a tutorial with AudioMate so I can follow will be great!


* Thanks ahead for any help and sorry about my bad English.
Keep up the great work!
Hey DanVR,

thanks for your feedback! :)

1. That is a known bug and will hopefully be fixed in the next version. ;-)

2. You can trigger any collection you've created in AudioMate with either one of the built-in triggers that every Person Atom has or you can add custom triggers to the scene, which you can freely position or tie to certain parts of a Person Atom. Those custom triggers can also trigger any Collection you've created in AudioMate.
I suggest that you read a bit more about the basic trigger system of VAM and how to use it, since I can't cover all of that here in the forum - tl;dr: yes, you can use any trigger that VAM gives you to trigger a AudioMate collection.

3. This function is not available yet but it totally makes sense, so I will implement it in a future version.

4. With AudioMate 10 I've started to implement a basic system to trigger mouth movement right from the plugin. You'll find that in the "" tab. But as I said - it's very basic atm. If you want a more complex setup, I would suggest you work with VolumeActions. Those are a standard functionality of VAM and you'll find them under the "Head Audio" tab of every Person Atom. You can bind audio to morphs and simulate accurate mouth movement that way. You can check out how I did that in the AudioMate Demo Scene as an example. If you want something completely out of the box, I think dedicated Lipsync plugins are also available on the hub.

5. You're right - that doesn't seem to work anymore. So this is a bug. You can always delete triggers manually in the Person Atom settings though. But thanks for pointing this out.


Regarding your problem with the voice sounds and "other" ;) sound effects: that's one of the reasons I created AudioMate. You can choose a different sound source for every collection by setting the "Receiver Atom" and "Receiver Node" options for a collection - these can be chosen for every collection separately. So I would recommend routing all voice sound collections to the actual Person Atom's HeadAudioSource and all other sounds to an additional AudioSource you can add to the scene. I did that in the AudioMate Demo, so maybe that helps you a bit.
You can also simply load the dub - Sexy01.amc file that comes with the Demo into an empty AudioMate instance you have in your own scene, and it will load all audio clips, triggers and additional AudioSources. You can also save your own .amc files, if you like a setup you've created.
So that's meant as a way of quickly duplicating audio setups in new scenes.

Hope that helps a bit. If not, feel free to ask again.

And if you really like my work: I would love to do more for AudioMate, but my day job doesn't allow that. So if you want to speed up the development process, you can support me on my Patreon page :) Every bit helps!
 
Thank you so much for your detailed reply!
I will read everything more carefully again once I'll get to my workstation with VAM installed and will try to follow your tips.
 
dub updated AudioMate with a new update entry:

Minor Update

Bugfixes:
  • [FIXED] Removing Triggers in AudioMate does not work. (Tab "Collection")

Features:
  • New filter Clips by Collection button in the Clip Library.
    If activated, the Clip Library shows only Clips assigned to the currently active Collection. (Tab "Clip Library")

Read the rest of this update entry...
 
Back
Top Bottom