Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Master Audio - AAA Sound Solution. #1 audio plugin on Asset Store!

Discussion in 'Assets and Asset Store' started by dark_tonic, Jan 28, 2013.

  1. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    In another section of my app I have all 26 letters in a single group and I am getting the same warnings.

    And yes, I am using all of them.

    Turning off log sounds may be a solution but if possible I would like to fix these warnings
     
  2. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    The warnings are not going to go away unless you add more voices. You're telling it to play more sounds after you're already playing the max Variations that you have. Each Variation has a max (the Voices field) - it doesn't matter if they're in a Sound Group with other Variations or not. If Variation A has Voices = 2 and 2 are playing, and you tell it to play another, you will get a warning.

    Do you want it to play another one at that point or not?
     
  3. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    In my app I have several audio files that will be played at any point or not depending on the interaction. For instance in this case (in SFX group) users may or may not tap the sun or drag it. Same for the clouds.

    In the other case I have a group with all the letters so if you make it from A to H you won't hear anything after H.

    Is this happening because I have multiple languages?

    Thanks

    Screen Shot 2019-03-04 at 12.48.47 PM.png Screen Shot 2019-03-04 at 12.58.48 PM.png Screen Shot 2019-03-04 at 1.02.15 PM.png
     
  4. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Multiple languages shouldn't have anything to do with it. You must be using Resource files then because the localization feature requires it.

    As far as I'm aware, the only "problem" is that you don't want to see the messages in the console. You haven't said that sounds aren't playing when you want them to play.
     
  5. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    Yes, you are right. Though it'll be nice to not have these warnings and get to the bottom of it.
     
  6. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I already explained it. If you tell a sound to play, and there are no available voices of the chosen Variation left to play, the warning will be logged. It's there so you can decide if you want to add more voices to play or not, because that request will not play since it can't.
     
  7. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    Cool Brian @jerotas

    Thank you so much!
     
  8. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No problem.
     
  9. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Couple questions I couldn't find an answer to in the thread or on the Dark Tonic forum:

    Is there a way to fade out all the voices on a bus that have played for at least a specified amount of time but let the rest continue playing?

    Is there a way to dynamically queue up sounds to play sequentially instead of immediately?
     
  10. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    First question: no. The time each Variation was last played is stored in the Variation, but it seems problematic even to add this though, because there actual bus' volume is what's being modified while it fades, so it wouldn't really be able to not fade everything on the bus. Oh, I think I know a way it can be done. Would you like me to add this to the roadmap?

    2nd question: You can set up "Stop Linked groups" in advance, so that when a certain Sound Group stops playing, you set up in the Inspector the next Sound Group that will start playing right then. You can chain them any number of Groups deep.

    You can also chain through using the "AndWait" methods. Read the "Chaining Sounds Together" section here.
     
    Last edited: Mar 7, 2019
  11. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    What about just stopping them? Fading them out is nice but even just letting them end immediately would be fine, as long as they have played for at least so long. It's the same sound group too, so I don't know if the Variation time is enough, unless it is per voice, if I understand the terminology correctly.

    I'm not sure either of these cover what I need. These effects can happen at any time but typically happen a few to many times in a row in response to incoming data. I'd like to the player to be able to hear each occurrence of the sound. Something like a PlaySoundQueued() that just plays sound groups sequentially until the queue is empty.
     
  12. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Sure, you could stop them. If I build this (should be pretty quick), a fade time of zero will stop them. The Variation time is per voice that's playing, yes. I could do the same for Sound Group and Bus, like a FadeOldBusVoices command and FadeOldSoundGroupVoices command.

    A QueueSoundGroup is possible to write, but what's supposed to happen if you want it to follow a transform and by the time the end of the queue is reached, the Transform is disabled? I would assume it just will just skip the sound if so.
     
  13. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    This would be very, very nice for what I'm doing.

    Skipping sounds fine to me. It would be useful to have some control like being able to set the size of the queue, skip to the next sound in the queue and ending the queue too.
     
  14. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Size of the queue? I think it should be unlimited. I will add a thing to check the size of the queue though, so you can prevent it getting too large. The rest I was going to do anyway.
     
  15. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Sounds good!
     
    jerotas likes this.
  16. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hello there, I've come across a small issue, I'm having a top-down game where the audio listener is on the player (as the camera can rotate around the player from above, the spatialisation was kind of problematic on the camera... maybe I'm wrong and could have fixed it otherwise.

    Anyway, for some cinematic shots, the camera moves away from the player. I have a scene where the character is in a room and the camera goes away from it through a window.

    When that happens, the audio listener on the camera is enabled and disabled on the player.

    But I see that the ~ListenerFollower~ position is still on the player (former audio listener)

    Is there any way to force that ~ListenerFollower~ to move when I switch audio listener? or is my logic wrong somehow?

    thank you
     
  17. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I will try and take a look on Monday. I believe if you destroy the listener instead of disabling it, my code will automatically find the other one wherever it is.
     
  18. aer0ace

    aer0ace

    Joined:
    May 11, 2012
    Posts:
    1,513
    I'm running into an issue in which I can click on Preview Group for a sound, and it plays fine, but when the game is running, I don't hear any sound after it's been triggered, even though I see [1] in Bulk Group Changes, indicating that it's playing. Additionally, I'm able to substitute another group that plays without any problems, and all is fine. Is this an issue with the audio file itself? I don't see how this can be if I can preview it in the group. The file is an explosion sound from the asset War Sounds Effects.

    Thanks for any help you can provide!

    EDIT:
    More info: These files are provided in PCM, but the files I am able to run are using Vorbis, if that matters....
    Also, playing the AudioClip from a Unity AudioSource works fine.
     
    Last edited: Mar 10, 2019
  19. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Thanks, but destroying the listener doesn’t sound like an option in my context, player can trigger mini cutscenes like this whenever he wants, it would be too expensive. Will wait for your findings, thank you
     
  20. aer0ace

    aer0ace

    Joined:
    May 11, 2012
    Posts:
    1,513
    Ugh, figured out my problem. I was sure I was doing something wrong....

    I'm using 3D audio, and the default volume rolloff creates a curve that outputs 0 sound at 100+ units. I forgot that my other 3D sounds I modified the rolloff to ouput minimum 0.1 at 200+ units. It's been a while since I last used Master Audio...
     
  21. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Yeah, you can modify the Audio Source Template in bulk (apply to X Sound Groups). Hopefully that's what you did so you don't have to tweak tons of Audio Sources individually.
     
    aer0ace likes this.
  22. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I looked at the code. It doesn't repeatedly check if the Audio Listener component is active, but it does repeatedly check if that Game Object is disabled, and if it is, it will do a new "find" to find the new location of the Audio Listener that's active. So you have 2 choices to fix your issue:

    1) Put the Audio Listener on a Game Object that you can disable (instead of just disabling the Audio Listener component). It could be a sub-game object that is used for nothing else, in fact that's probably best.
    2) Leave the Audio Listener where it is, disabled, and manually tell Master Audio that the reference is broken so it will go find the new one. That code would be this:
    Code (csharp):
    1.  
    2. MasterAudio.ListenerTrans = null;
    3.  
    It's a good "gotcha!" moment so I've added a post in our forum so people can find the info:
    http://darktonic.freeforums.net/thread/981/changing-different-audio-listener-read
     
  23. churi24

    churi24

    Joined:
    Sep 17, 2013
    Posts:
    98
    Hi!, Im having a serious problem. Today I decided to upgrade the MA version I had, and now the AmbientalSound doesn't seems to be working. I found another problem. The Master Mixer Volume range is now between -90 and 0 instead of 0 and 1.
    I decide to delete the old masteraudio, but the problem persist. If I open MA in another project, works great, but in my working project the values are wrong. Any idea?

     
    Last edited: Mar 11, 2019
  24. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    thanks for those information, sounds great to me!
     
  25. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No problem.
     
  26. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ambient Sound script should still work. It only plays if you are in audible range of the Audio Listener. I fixed a bug with that script in the last update. You should check the max distance of the Audio Source on the Sound Group you're using for Ambient and make sure it is large enough to reach the Audio Listener.

    The volume range changed because you checked a box called "display dB for Volumes" on the Master Audio Manager window. Uncheck it if you want the 0-1 range to show.

    More info here: http://www.dtdevtools.com/docs/masteraudio/MasterAudioManager.htm
     
  27. churi24

    churi24

    Joined:
    Sep 17, 2013
    Posts:
    98
    Thanks for the dB tip!.
    The problem on the AmbientSound persist.
    Max Distance:100. The camera is in the center of the AmbientSound gameobject.
     
  28. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You will need to send me an example project for any bugs to be fixed. The script works fine for me. There are so many variables that I usually fail to reproduce the problem until an example is sent. It results in things being fixed faster overall.
     
    Last edited: Mar 11, 2019
  29. churi24

    churi24

    Joined:
    Sep 17, 2013
    Posts:
    98
    Okidoki, I sent an email with the example. Im using Unity 2017.3.0f3
     
    Last edited: Mar 11, 2019
  30. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thanks. I hope to take a look in the next day or two. Will report back.
     
  31. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hi there, sorry but I spoke too quickly

    While the listener transform is properly changed from my disabled object to the new one, the ~ListenerFollower~ (for Ambiant sounds) object isn't moved and stays on my former listener

    Any idea to force him also to relocate?
     
  32. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I'll have to look into it. Might be a few days. You're 3rd in line at this point.
     
    Necka_ likes this.
  33. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Hey, I added a new method you can call to fix everything up.
    Code (csharp):
    1.  
    2. public static void AudioListenerChanged(AudioListener listener) {
    3.     // code is in next release.
    4. }
    5.  
    If you send me your Asset Store invoice PDF file, I'll get you the latest unreleased version. Thanks.
     
  34. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Ah that is great, thanks

    Will send you a PM right now
     
  35. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I've completed your other requests but haven't had time to do the queue for sound effects yet.

    If you want the latest beta, email me your Asset Store invoice PDF to support@darktonic.com.
     
  36. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    That would be this:
    Code (csharp):
    1.  
    2. PlaylistController.InstanceByName("yourPlaylistControllerName").PlayNextSong();
    3.  
    You also could stick an EventSounds component on the button if it's UGUI and use the ButtonClicked event to do the same thing without writing any code. There's about 50 things EventSounds can do like that.
     
  37. faolad

    faolad

    Joined:
    Jan 27, 2013
    Posts:
    118
    When are we going to have the new update? any dates yet?
     
    Last edited: May 4, 2019
  38. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I'll do it Monday or Tuesday. Thanks for the reminder.
     
    faolad likes this.
  39. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    V 4.2.3 changelog:
    • Removed Upgrade to 3.5.5 button on Master Audio Manager since it's been over 4 years since that update. No longer needed.
    • Fixed bug: TriggerExit doesn't fire when an object is disabled right after Instantiating and TriggerEnter instantly fires. This led to problems with sounds playing that should not be with AmbientSounds on pooled Game Objects (with Pool Boss or Core GameKit).
    • Fixed bug: Ambient Sounds had a problem with "Use Closest Collider Position" where it didn't place the collider in the correct position initially.
    • Fixed bug: Disabling the Audio Listener and enabling a different one would make Ambient Sound scripts stop working. Now I've added a method: MasterAudio.AudioListenerChanged, that you can call when the Listener changes to a differnet game object to fix it.
    • Fixed compile error when using in conjuction with SteamVR due to their lack of namespacing their classes.
    • Fixed warning: Script execution order thing with DGSC and Ambient Sound would log "missing sound group". Added a check so the warning doesn't happen. It was working properly aside from the warning.
    • Added a warning to the Console telling you that Ambient Sound script won't work if you have disabled collisions between Ignore Raycast layer and itself.
    • Added FadeOutOldBusVoices, StopOldBusVoices, FadeOutOldSoundGroupVoices, StopOldSoundGroupVoices commands, where you define how many seconds "old" is.
    • Added the above 4 new commands to Event Sounds.
    • Added Comments field to Sound Groups (for your use only).
    • Added "Sort Alpha" checkbox (defaults to true) in the Mixer section. If you uncheck it, things will appear in the same order as Hierarchy, otherwise sorted (works within bus filter as well).
    • Added "Show Bus Colors" checkbox in mixer section (defaults to off). If you turn it on, you can select a color for each bus. Each Sound Group will have a small square of that color at the left of the mixer row.
    • Added PlaylistAttribute, which you can decorate your public string variables in your scripts with. It will show a dropdown of all the Playlists in the Scene that you can select from.
    • Added PlaylistEnded event to PlaylistController, so you can get subscribe and know when the last song is done playing (if the Playlist doesn't loop).
     
    Dwight_Everhart likes this.
  40. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hello,

    I just installed MA into a Unity 2018.3.3f1 project and inspector icons don't show up and when clicking on a newly created PlaylistController there is error and no inspector available.

    Capture d’écran 2019-05-09 à 15.36.59.png Capture d’écran 2019-05-09 à 15.37.10.png Capture d’écran 2019-05-09 à 15.38.29.png

    Any idea why ? I tired to completely removed and re-installed the MA but it does not change anything.

    Thanks
     
  41. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I just tried in a new project with Unity 2018.3.7f1 and installed from the Asset Store. No problems. You're probably missing a file somehow.

    Can you click on one of those errors and send me the entire stack trace from the lower part of the Console window? The line number of DTGUIHelper.cs doesn't make any sense to have an error, but seeing what called it may help.
     
  42. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Hey @jerotas
    Is there anything specific we should look out for using MasterAudio when porting to Nintendo Switch?
    We used MasterAudio when we released our game for PS Vita which worked perfectly, now we have a little issue when it comes down to scenes although we didn't change anything to our MasterAudio-Prefab whatsoever.

    The issue:
    when a scene changes there is a little "KRACK"-sound/hiccup between scene-switching which wasn't there before. And this only happens on the device (Nintendo Switch) and not in the Editor.

    Edit: Using Unity 2018.3.10f1 btw.

    Edit 2:
    I did some investigation and I noticed that our audio files weren't setup correctly, they still had the default import-settings and I remembered that also was an issue back then for the PS Vita version of the game, we had to set it to "Compressed In Memory" and set the Compression to MP3 and everything worked fine.

    I changed the Load-Type now to "Compressed In Memory" and tested it on the Switch but that didn't help. Another thing which I couldn't test was: setting the Compression to MP3. The moment I hit the Apply-Button it apparently "processes" something but then jumps back to Vorbis.
    Maybe an engine bug. Contacted the Unity support already.
     
    Last edited: May 24, 2019
  43. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    If it's a "krack" type sound it makes me thing, due to my recording experience, that a sound is just getting shut off suddenly, due to being unloaded when the Scene gets destroyed. So I wonder if it would go away if you faded everything out before loading a new Scene?

    If you figure out the cause, let me know.
     
  44. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Hey thanks for the reply. I think I should have stated the issue better:
    - music is playing in a loop
    - the scene is switching
    - apparently the moment the scene switches there is a hiccup
    - the scene switches successfully and the music goes on

    Fading the music in/out is not an option since some scenes are "segments" of a big "level" and the music shouldn't fade, and it worked on the PS Vita.
     
  45. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Yeah that's really weird. I don't have any ideas about that, but it's gotta be caused by the Audio Clip itself. Not Master Audio in particular.
     
  46. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Hm. Do you have any suggestions what to do with the AudioClip? They are the very same we used for the PS Vita release, didn't touch them since.
     
  47. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Just experiment with all the different file extensions (mp3 / ogg / wave / whatever else) and other import options for Audio Clip. You might find something that agrees with the system. Or it could be a Unity bug as you said.
     
    BTStone likes this.
  48. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Argh, alright. Thank you for the quick replies though, I'll experiment away.
     
    jerotas likes this.
  49. churi24

    churi24

    Joined:
    Sep 17, 2013
    Posts:
    98
    Hello! How are you? I have been using MasterAudio for several years now, but this is the first time that I am demanding a lot.
    I have more than 1200 different sounds, between dialogs of characters, and sounds of different objects, and some audio group have 10 different variations.
    Create different Control Buses: Doors, Furniture, Scares, UI, Event, Dialogs, etc.
    The biggest bus is "Dialogs". It contains the different dialogues of the characters in the game, they are approximately 300 clips, and the number keeps growing.
    How do you recommend organizing the dialogue audios? Should I create more Control Buses instead of one called "Dialogs"?
    ie: Mission01_Dialog, Mission02_Dialog, ....., MissionN_Dialog

    A detail .. When I open MasterAudio in the editor it's a bit slow when I try to edit
     
  50. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I've already optimized the code for not reloading Sound Groups in the Inspector, but that's just a huge Inspector to render, so it's going to be slow no matter what I do. You can use the bus and/or Sound Group text filter to show less groups at a time, and that should be a bit more responsive.

    You should really be making extensive use of Dynamic Sound Group Creators, with one on each character with their dialog, so that only the characters who are in the Scene and active at the time will have their Sound Groups in the mixer section, and not all of them all the time. Read about DSGC's here: http://www.dtdevtools.com/docs/masteraudio/DynamicSoundGroupCreators.htm

    You may want different dialog categories, like NPC's, player, enemies, etc. Maybe make different buses for those.