AudioManager Extension v1.02
By: JavaHut
Required RMMV Version: 1.3.1+
By: JavaHut
Required RMMV Version: 1.3.1+
Download
Download the script and impulse files here:
http://www.mediafire.com/download/21r6stjbbj1v1y9/JavaHut_AudioManagerEx.js
http://www.mediafire.com/download/mx35dblvhiwae68/impulses.zip
Demo
Download the demo here:
http://www.mediafire.com/download/v3q7vp79w31klp7/AudioManagerExDemo.zip
Note: Do NOT use the plugin file from the demo in your projects, as it may not be the most up to date version.
Introduction
This plugin provides more advanced sound functions to enhance the basic audio manager in RMMV.
Features
- Make sounds dynamic to allow volume/pan/filter changes as the player moves away/toward the sound event
- Choose from multiple sounds to play at random, with the option for varied pitch (For example: choose from step1, step2, or step3 with varied pitch, as the player walks across a surface)
- Add/Change loop and starting points for background music and background sounds
- Add reverb to any sound (See Author's Notes below)
- Fade in, fade to, or pause/resume background music and background sounds
- Allow for more than one background sound at the same time
-Download the JavaHut_AudioManagerEx.js file and place it in your project's js/plugins folder. Once installed, Add it to the Plugin Manager, and click the Help... button for more info. If you are unsure about a plugin Parameter, double click the value and read the description.
-If using reverb, download the impulses.zip file (or supply your own impulses) and extract it to your project's audio folder. If you change the impulse folder name, be sure to adjust the plugin's Impulse Folder parameter.
-For the demo, download the demo file and extract it to your RMMV Games folder, and open the Game.rpgproject file in RMMV.
-If using reverb, download the impulses.zip file (or supply your own impulses) and extract it to your project's audio folder. If you change the impulse folder name, be sure to adjust the plugin's Impulse Folder parameter.
-For the demo, download the demo file and extract it to your RMMV Games folder, and open the Game.rpgproject file in RMMV.
-An important feature that is not present in the default AudioManager is a simple limiter on the audio signal to prevent it from peaking, which could cause speaker/ear damage. This plugin implements a limiter to control the output and keep it under the peak threshold.
-When the plugin is enabled, all sounds are somewhat lower in volume because of a custom panning system on the WebAudio buffers. Please take this into consideration and adjust accordingly.
-If a sound is set to dynamic, a falloff value of 20 or more is recommended for a more natural sound.
-If using reverb for a sound, be sure to use it sparingly, as it can cause heavy lag on slower computer systems.
-When the plugin is enabled, all sounds are somewhat lower in volume because of a custom panning system on the WebAudio buffers. Please take this into consideration and adjust accordingly.
-If a sound is set to dynamic, a falloff value of 20 or more is recommended for a more natural sound.
-If using reverb for a sound, be sure to use it sparingly, as it can cause heavy lag on slower computer systems.
Plugin Commands
Q. Why does the plugin command not work?
A. Be sure to double-check your arguments. For example, if I use pauseBgs 2 thinking it will pause and fade out for 2 seconds, it won't work. This is because there is a required name argument before the fadeTime: pauseBgs myBgs 2.
Background Music / Sounds
Q. Why does the bgm or bgs loop, even when I set the plugin Loop Parameters to false?
A. Because the bgm or bgs file itself may contain loop points in the meta data. You can use a program like Audacity to remove the LOOPSTART and LOOPLENGTH tags.
Q. Why does the bgm or bgs continue playing after transferring the player to another map?
A. You have to use the pause plugin commands or fadeout RMMV event commands before transferring the player. If you don't want to manually clean up any unused bgs, set the Clean Bgs On Transfer plugin parameter to true.
Q. Why can I not resume or change loop points on a bgs after transferring the player to another map?
A. Check if the Clean Bgs On Transfer plugin parameter is set to true. If so, the system will erase any paused/faded bgs from the buffer list. If you decide to set it to false, be sure to use the eraseBgs plugin command to clean up your unused background sounds.
Dynamic Sounds
Q. Why does a dynamic background sound or sound effect erase after transferring the player to another map, even though the Clean Bgs On Transfer plugin parameter is set to false?
A. Dynamic sounds have to be deleted when the map changes because the events that they are tied to are not active on any other maps, and therefore cannot carry over.
Q. Why does the plugin command not work?
A. Be sure to double-check your arguments. For example, if I use pauseBgs 2 thinking it will pause and fade out for 2 seconds, it won't work. This is because there is a required name argument before the fadeTime: pauseBgs myBgs 2.
Background Music / Sounds
Q. Why does the bgm or bgs loop, even when I set the plugin Loop Parameters to false?
A. Because the bgm or bgs file itself may contain loop points in the meta data. You can use a program like Audacity to remove the LOOPSTART and LOOPLENGTH tags.
Q. Why does the bgm or bgs continue playing after transferring the player to another map?
A. You have to use the pause plugin commands or fadeout RMMV event commands before transferring the player. If you don't want to manually clean up any unused bgs, set the Clean Bgs On Transfer plugin parameter to true.
Q. Why can I not resume or change loop points on a bgs after transferring the player to another map?
A. Check if the Clean Bgs On Transfer plugin parameter is set to true. If so, the system will erase any paused/faded bgs from the buffer list. If you decide to set it to false, be sure to use the eraseBgs plugin command to clean up your unused background sounds.
Dynamic Sounds
Q. Why does a dynamic background sound or sound effect erase after transferring the player to another map, even though the Clean Bgs On Transfer plugin parameter is set to false?
A. Dynamic sounds have to be deleted when the map changes because the events that they are tied to are not active on any other maps, and therefore cannot carry over.
-Version 1.02: Fixed a bug that prevented paused BGM from using loop and starting points when resumed/played again.
* Added the eraseBgm plugin command to erase saved/paused BGM.
-Version 1.01: Fixed a bug that caused reverb to be cut off on short sounds.
-Version 1.00: Plugin completed.
* Added the eraseBgm plugin command to erase saved/paused BGM.
-Version 1.01: Fixed a bug that caused reverb to be cut off on short sounds.
-Version 1.00: Plugin completed.
None at this time.
Latest RMMV Version Tested
1.3.1
Bug Reporting
Please submit any bugs you find in the plugin to this forum post. And, if you have a suggestion for a plugin feature, feel free to post it here. Thank you for your support, and happy gaming!
-This plugin may be used for commercial or non-commercial use, as long as the script file remains unaltered. Credit to JavaHut is optional.
-JavaHut cannot be held responsible for any damages that may occur from using this plugin in your project. You agree to use this plugin with the acknowledgment that bugs may be present and cause issues within the project that contains it. Thank you for your understanding.
-Royalty-free impulse file info:
"huge" and "plate" impulses are from:
http://www.airwindows.com/airwindows-impulses/
All other impulses are from:
http://www.voxengo.com/impulses/
-JavaHut cannot be held responsible for any damages that may occur from using this plugin in your project. You agree to use this plugin with the acknowledgment that bugs may be present and cause issues within the project that contains it. Thank you for your understanding.
-Royalty-free impulse file info:
"huge" and "plate" impulses are from:
http://www.airwindows.com/airwindows-impulses/
All other impulses are from:
http://www.voxengo.com/impulses/