Jay's Battle VA Manager (voice acting), with Yanfly Action Sequence compatibility, version 1.0

HeroicJay

Veteran
Veteran
Joined
Jun 23, 2014
Messages
319
Reaction score
173
First Language
English
Primarily Uses
RMMV
After too much time of too little activity, I'm back with a new plugin! This one is all about customizing voice acting to the situation at hand. Most of the features require Yanfly's Action Sequences to be of much use, but you can still use some of the basic features without Yanfly.

Here's the plugin!


And here's how you use it:

In any actor or enemy's Note box, add the following:

<voice:
tag|voicesoundfile|param1=value|param2=value|...
tag|voicesoundfile|param1=value|param2=value|...
>

You can include as many lines as you see fit (but only one block of them!)

Tag

Each voice clip has an associated "tag". Think of this like a "category". Tags can be any string of letters, digits, and underscores, though a few have special uses. If your unit has more than one clip with the same tag, then when the tag is called, a random clip will be chosen.

These are the special tags:

battlestart - These play at the beginning of battle. Enemies take precedence here (since boss intros are a possibility). If any enemy has a valid "battlestart" clip, a random one will play; if the enemies don't but the actors do, then it will choose a random actor clip.

battleend - Actors only for now. Clips tagged "battleend" will only play at the end of battles. One random "battleend" or "battlevictory" clip will be chosen.

battlevictory - Actors only for now. Clips tagged "battlevictory" are similar to "battleend", but can only be chosen if the speaker was the actor who had the final turn in battle (typically, because they dealt the final blow to the enemy.) One random "battleend" or "battlevictory" clip will be chosen.

ko - Plays when the unit is KO'd. Clips tagged "ko" are always "forced" (when used for their primary purpose), meaning they'll ignore states with the <novoice> tag. (Why? Well, because "ko" is itself a target for "novoice"!) At present, if multiple units are KO'd simultaneously, their clips will all play simultaneously; this will probably be altered in the future. The "collapse" sound effect plays only after the "ko" clip, so "motion" is recommended.

none, user, and target - These have special meanings in Action Sequences, so don't use them for tags in the <voice> block. Well, they're technically still valid for responses if you really want to use them, I guess...

Voice Sound File

This is just the name of the sound file to play, without the file extension. Make sure it's in your audio\se directory!

If you put "none" as the sound file (even if you have a sound file named "none"!) then no sound will play for that clip. This is distinct from simply not having the clip at all, as nonexistent clips can never be chosen. Clips whose sound files are "none" can be chosen, and will simply play nothing. Also, "none" can have its own parameters (most notably, "response"), for some clever setups.

Other Parameters

All other parameters are optional:

|volume=80|

Controls the volume of the sound file (defaults to 100).

|pitch=120|

Controls the pitch of the sound file (defaults to 100).

|motion=guard|

REQUIRES YANFLY'S ACTION SEQUENCES PART 2

When this clip plays, the unit will hold this pose. These are the usual pose names (walk, guard, chant, etc.)

|sub=Bob: This is the thing I say at the beginning of battles!|

When this clip plays, if subtitles are turned on, it will display the text entered as a subtitle. Most text codes work, but the subtitle can only be one line long.

The plugin's parameters let you choose whether subtitles are on by default, and whether the option to turn them on and off appears in the in-game Options menu.

Here's an example of subtitles in action:

LevelUp.png

|response=actor3 DontCallMeCindy required|

Allows the indicated actor or enemy to respond to the clip. The responder must be in the form "actor#" or "enemy#", with # being their ID in the database (NOT their position in battle.) The second part is the clip tag. The last part can be:

optional - The default option. If the clip's response is optional, then the clip can play whether or not the responder is capable of responding. If the responder isn't in the battle, or can't respond, the response just won't play.

required - The clip will not play unless the responder can respond.

forced - The clip will not play if the responder is not in the battle... but it treats the response as "forced", meaning it will ignore states with the <novoice> tag.

Responses can have responses, so go ahead and create whole conversations if you so desire, but make them loop (that is, potentially repeat the same clip in the same "conversation") at your own risk. You may crash the game!

|forced|

Any clip with this tag will ignore states with the <novoice> tag. KO clips (when used for their primary purpose) and forced responses are always considered forced even if this parameter is not present.

Yanfly's Action Sequences

If you're using Yanfly's Action Sequences, then you may include the following in the middle of any action sequence:

VOICE [speaker]: tag, tag, tag...

The "speaker" is determined the same way as all of Yanfly's Action Sequences (user, target, character 2, friends, etc.) However, if there is more than one potential speaker, only one will actually speak (chosen randomly). You may insert as many tags into a single line if you want; a random valid clip with one of those tags will play. For instance, if you want voice clips for casting any generic spell, and voice clips for casting specifically Fire spells, then it's perfectly fine to put this in the Action Sequence of a Fire spell:

VOICE user: cast, fire

There are a few special tags here:

none - When chosen (after all, it is random!), no voice clips will play.

target - This will play voice clips with the "actor#" or "enemy#" tag, with # being the database ID of the actor or enemy targeted by the skill. This will only be valid when there is exactly one target.

user - This will play voice clips with the "actor#user" or "enemy#user" tag, with # again being the database ID of the actor or enemy using the skill.

For example, actor1 is Joe, and actor2 is Bob. You have a voice file named "JoeCallsForBob.ogg". You may then put this voice block in Joe's note tag:

<voice:
actor2|JoeCallsForBob
>

And put this in the Action Sequence of, say, a Heal spell:

VOICE user: target

If Joe uses the Heal spell on Bob, then he will now use the "JoeCallsForBob" sound file.

The <novoice> tag

Put <novoice> in the Note box of any state, and any unit inflicted with that state will not be able to use any sound files unless they're "forced". Recommendations: KO, sleep, silence, petrify, any state that removes a unit from battle, etc.

Other things being considered

While finished enough for me to move it to the "Completed Plugins" forum, there are still more things that can be added to this! For example,
I am considering a "condition" parameter, allowing one to define conditions under which the clip is considered valid. This is not implemented yet, though!

You may also make further recommendations, but please keep them grounded.

And go ahead and report any bugs or issues. If you do, please post the <voice> block of the actor/enemy you're having trouble with; it will help a lot!

Standard legal stuff

This plugin is free to use with RPG Maker MV projects, but please credit Jason R. Godding if you do.
 
Last edited:

Radis3D

Just a Devilz
Veteran
Joined
Nov 1, 2015
Messages
172
Reaction score
33
First Language
Indonesian
Primarily Uses
RMVXA
:LZSblush::LZSblush::LZSblush::LZSblush::LZSblush:
any demo for test?
 

LittleSY

Warper
Member
Joined
Apr 11, 2017
Messages
3
Reaction score
1
First Language
English
Primarily Uses
RMMV
The subtitles window seemed to interfere with other windows that it overlaps with, though, or maybe it's just my plugins combo. After I commented out the subtitles portion, other windows worked fine again.


I think if you could make the subtitles work like Galv's Timed Message Popup, that'll pretty awesome. Could make multiple people speak at once.
 

HeroicJay

Veteran
Veteran
Joined
Jun 23, 2014
Messages
319
Reaction score
173
First Language
English
Primarily Uses
RMMV
The subtitle window should not overlap any windows without extra plugins, so I'm guessing plugin incompatibility. Did it happen even if you turned subtitles off?

As for the suggestion... honestly, I think the subtitles moving around from character to character would be a distraction more than benefit. Or am I misunderstanding how Galv's plugin works? It's a little hard to get the idea at a glance given the pictures stopped working.

A demo isn't a terrible idea, but... well, I don't presently have any voice actors for Therese or Marsha. Besides pitching up my own voice, which admittedly is a thing I did in a previous project, but nah.
 
Last edited:

LittleSY

Warper
Member
Joined
Apr 11, 2017
Messages
3
Reaction score
1
First Language
English
Primarily Uses
RMMV
The subtitle window should not overlap any windows without extra plugins, so I'm guessing plugin incompatibility. Did it happen even if you turned subtitles off?

As for the suggestion... honestly, I think the subtitles moving around from character to character would be a distraction more than benefit. Or am I misunderstanding how Galv's plugin works? It's a little hard to get the idea at a glance given the pictures stopped working.

A demo isn't a terrible idea, but... well, I don't presently have any voice actors for Therese or Marsha. Besides pitching up my own voice, which admittedly is a thing I did in a previous project, but nah.
Yeah, plugin incompatibility it seems, never managed to pinpoint which one. I ditched the old frakensteined test project and start anew. No more problems so far.
 

HeroicJay

Veteran
Veteran
Joined
Jun 23, 2014
Messages
319
Reaction score
173
First Language
English
Primarily Uses
RMMV
[This post deleted by user]
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

i watched the sonic movie it was pretty good i hope they make a sequel
tomorrow I'ma go on a cruise for the first time ever... lets hope I'll survive the experience!
Omg! 8 years in this forum :o
Ksi
Streaming the last of the RMN Valentiny event games so feel free to drop on by and watch me cry (whether that's from laughter, rage or sheer pain, who knows?)
Today I went to sleep without setting an alarm, so I could sleep more than 2 hours. I woke up after 2 hours.

Forum statistics

Threads
94,309
Messages
919,827
Members
124,060
Latest member
jloppnow
Top