Search Unity

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. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Correct. There's a flowchart at the bottom of this page showing the entire decision tree to play a sound with all possible limiting settings.

    https://www.dtdevtools.com/docs/masteraudio/Troubleshooting.htm

    In general we try to give instructions for each reason on what to change in the Console when "Log Sounds" is turned on. If you find the message there isn't helpful enough, please let me know and we'll fix it up.

    -Brian
     
  2. unity_XhgYddvKgDlq0Q

    unity_XhgYddvKgDlq0Q

    Joined:
    Mar 20, 2019
    Posts:
    3
    May I ask how to set "IgnoreTimeScale" option for individual Sound Group? In the main MasterAudio we need to ignore TimeScale by default so the UI sound can still be played after the game is paused, however certain Sound Groups need to follow TimeScale. Thank you!
     
  3. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You can't, it's a global option.

    You can pause and unpause all the other busses though.
     
  4. Razputin

    Razputin

    Joined:
    Mar 31, 2013
    Posts:
    356
    Is there an easy way to pass PlayerPrefs to different channels or mixers or something like that? Like have the SFX sound group derive it's volume from a playerpref called "SFX" ect.

    Thanks!
     
  5. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No. You can use the Persistent volume settings, which store their own PlayerPrefs though, if you're just looking for volumes that "remember".
     
    Razputin likes this.
  6. unity_XhgYddvKgDlq0Q

    unity_XhgYddvKgDlq0Q

    Joined:
    Mar 20, 2019
    Posts:
    3
    A problem I'm having with Master Audio in my game, is that the first sound played of that type is really loud, especially the explosion sound. After the first sound the volume went back to normal for all subsequences. I didn't tamper with the volume at all they're all at 0 dB. May I ask what could be the issue?

    Thanks!
     
  7. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No idea, that doesn't sound familiar. You could send me a stripped down example scene to check into if you like.

    -Brian
     
  8. bz_apps

    bz_apps

    Joined:
    Aug 19, 2014
    Posts:
    70
    Hi,

    I have built a game using MasterAudio and now I would like to translate it so the users could change the language at runtime.

    Do you have any suggestions on how I could implement this? Swapping one set of English audio for different language audio?

    My initial thought was to use addressables to swap out the files like for the like.

    Perhaps I could create various sound groups and swap them in and out?

    Thanks,
    Adam
     
  9. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You could either use Dynamic Sound Group Creators for each language (sound skins), or use the built in localization features of Master Audio. Links.

    https://www.dtdevtools.com/docs/masteraudio/Localization.htm
    https://www.dtdevtools.com/docs/masteraudio/DynamicSoundGroupCreators.htm
     
    bz_apps likes this.
  10. unity_XhgYddvKgDlq0Q

    unity_XhgYddvKgDlq0Q

    Joined:
    Mar 20, 2019
    Posts:
    3
    After debugging the project, it was a problem from my end. My apologies for the trouble.
     
  11. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No trouble, glad it's fixed.
     
  12. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Very cool asset, is there integration with Adventure Creator asset?
     
  13. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No, would you like me to ask the author if he would make an integration? Almost all the integrations were done by the other plugin authors.
     
  14. LuiBroDood

    LuiBroDood

    Joined:
    Mar 13, 2019
    Posts:
    84
  15. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I would think it will still work fine. The things that have been added in 99% of cases don't break anything that was existing and it's backward compatible.
     
    LuiBroDood likes this.
  16. Satoris

    Satoris

    Joined:
    Mar 18, 2013
    Posts:
    2
    The asset does not work with the latest release of Unity 2022.2.0f1. It gives an error because of a deprecated use of the Unity API.

    Also, it's impossible to register on your forums. Is this asset still being maintained, I assumed it was when I got it because of the 2022 in the name.
     
  17. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thank you for letting me know. You bet it's still being maintained. I'll install the latest version of Unity and see what needs to be done. We last uploaded and checked things with a previous version of Unity 2022.

    We still have new people register on the forums every few days, but no matter - you can always post here or email support@darktonic.com with issues. I'll report back.
     
  18. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Satorus, I hope to fix this tomorrow and publish an update. In the meantime, it looks like you can probably change the property in error to "false" and it will compile so you can at least get back to working. There are 2 instances of it and the Console window will tell you the line numbers to update.
     
    KnuckleCracker likes this.
  19. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok, version 1.0.3 has been released. Changelog:

    • Fixed CreateGroupVariationFromClip method so it adds the new Variation to the Group's list for programmatic access.
    • Fixed bug where GlideSoundGroupByPitch wasn't working.
    • Fixed bug where Sound Groups would not keep their mute status when muted by the Mixer Mute button.
    • Fixed bug where Sound Groups wouldn't mute themselves on startup when Mixer Mute was on.
    • Fixed bug where on Mirror sometimes sounds would be hear twice on the host if also a client.
    • Fixed bug where newly created Playlist Controllers would be destroyed when entering play mode after a compile if Enter Play Mode Options was checked.
    • Fixed bug where PlaylistEnded delegate for Playlist Controller didn't always get executed.
    • Fixed compile errors in Bulk Audio Importer for Unity 2022.2.
    • Caching AudioSettings.dspTime for less bugs with scheduling songs.
    • Added Playmaker action: Master Audio Fade Out Sound Group Of Transform
    • Added checkbox to EventSounds when firing a Custom Event, you can disable the logging of duplicate firing per frame.
     
    KnuckleCracker likes this.
  20. TeramonGame

    TeramonGame

    Joined:
    Oct 8, 2017
    Posts:
    21
    I'm using the Footsteps script but there's a delay of about 4-5minutes before the footstep audio starts playing when walking.

    Anyone know which setting delays listening/ playing of audio?
     
  21. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    4-5 minutes? I would first make sure collider or triggers are actually hitting when you think they are. Add a Debug.Log call in the FoorSteps script for those events.
     
  22. Abended

    Abended

    Joined:
    Oct 9, 2018
    Posts:
    142
    I have added a Unity Audio Mixer to my Audio Source in the Output property. I am using the compressor and paramEQ to alter the sound. When I fire up the game I see that the Output field is nulled out. I can manually add the Audio Source back, and I can hear the difference. Any idea why it would be getting deleted upon game start? Is there an Audio Master alternative to unity's built-in EQ? Thanks!
     
  23. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You can use audio mixers. We have direct support for it. However the rule of thumb is to not do anything directly to the audio sources. We take care of all of that for you, and take direct control over all that.

    You should assign your sound group to a Master audio bus. Each Master audio bus can be assigned to a unity mixer channel in the UI. That is the proper workflow.

    Thanks.
     
  24. Abended

    Abended

    Joined:
    Oct 9, 2018
    Posts:
    142
  25. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Cool! Now if there's anything in the documentation that you feel should be added in a certain place let me know!
     
  26. Abended

    Abended

    Joined:
    Oct 9, 2018
    Posts:
    142
    I guess I didn't think I needed a bus since I was only messing around with one sound to try to learn. I'm only a day into this, and I'm jumping around a lot, I have no prior sound knowledge. I have to use it more to get a better understanding, there's a lot here to take in! Really appreciate the support!
     
  27. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Right, well to use Audio Mixer Channels you do. It would have no structure to assign a single Audio Source to a Mixer Channel. It would require too many channels. Also, Buses have cool features to limit voices based on oldest sound, farthest sound, etc. Very useful.
     
    Abended likes this.
  28. hayashi_bxj

    hayashi_bxj

    Joined:
    May 19, 2017
    Posts:
    2
    I am using Master Audio 2022 version 1.0.3 and have found a issue related to Addressables support, which I would like to report.
    When multiple Clips are registered in a Playlist and their location is set to Addressables, the second and subsequent Clips cannot be played with StartPlaylist().
    Upon investigation, it seems that the method FindSongByAliasOrName in PlaylistController.cs fails to retrieve the Clip name due to the absence of Addressables in the switch statement.
    I believe that either Addressables processing needs to be added, or MusicSettings.songName needs to be used. We were able to fix the problem by rewriting the method as follows:

    Code (CSharp):
    1. private MusicSetting FindSongByAliasOrName(string clipName) {
    2.     return _currentPlaylist.MusicSettings.FirstOrDefault(s => s.songName == clipName);
    3. }
    4.  
    Thanks.
     
    hopeful likes this.
  29. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I believe you need to put the code back the way it was and give the song a matching "Alias" so it will be found. We don't actually know what the song name is until after the Addressable is loaded unfortunately. I believe that's why the code is the way it is.
     
    hopeful likes this.
  30. hayashi_bxj

    hayashi_bxj

    Joined:
    May 19, 2017
    Posts:
    2
    However, that's not the case.
    When the MasterAudio GameObject is loaded, the serialized value is restored to the musicPlayers -> MusicSettings -> songName property, so we can retrieve the song name even before the Addressable is loaded.
    I actually tested this without setting an Alias, and I confirmed that the Clip name is stored in the songName property.
    I hope that the FindSongByAliasOrName method can be modified to reference the songName.
     
  31. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok, must be the result of something I changed later on. In that case, revert the code to where it was and add this:

    Code (csharp):
    1.  
    2. #if ADDRESSABLES_ENABLED
    3.                     case MasterAudio.AudioLocation.Addressable:
    4.                         if (aSong.songName == clipName) {
    5.                             return aSong;
    6.                         }
    7.                         break;
    8. #endif
    9.  
    10.  
     
    hayashi_bxj and hopeful like this.
  32. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    V 1.0.4 released! Ducking is more powerful :)
    • Added ability to duck Buses from a sound. Section renamed from "Music Ducking" to "Audio Ducking".
    • Added preview button at runtime for each sound in Music Ducking.
    • Added "Duck Mode" dropdown to each sound in Music Ducking. Choices are "Music" (default), "Buses" and "Both". If you choose Buses or Both, Buses will also be ducked when the chosen sound is played, except the bus the sound is on (if any). Any other separate change in Bus volume or fade started will abort the ducking of the Bus.
    • Changed visual for Duck Groups to be vertical, can't fit the controls horizontally anymore.
    • Added check for Duck Groups called "Use Distance Ratio (%)", which defaults to off. If you check it, it will calculate the percentage of the actor's distance away from Listener compared to the Max Distance, and use a percentage of the specified Duck Volume Cut instead of the whole one. In other words, a further away sound will duck less than a closer one.
    • Fixed ability of Addressables to start as the first song when song name is specified.
     
    hopeful likes this.
  33. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Hi, I just upgraded to the latest version. I'm wondering if split screen multiplayer is supported? Thanks
     
  34. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No there's no split screen support at all.
     
  35. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    OK, thanks. Any plans to include it?
     
  36. Barliesque

    Barliesque

    Joined:
    Jan 12, 2014
    Posts:
    128
    Hi. I've been searching for some time for a solution to play looped audio either with a looping region, or with separate intro / loop-section / outro audio clips. Can't find any way of specifying something like that in Master Audio. How can I make that work?
     
  37. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Actually, that's one of the few items on the anti-roadmap post on our forums. I.e. we never plan to add support for that.
     
  38. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Yes we added that a couple versions ago, for Playlist Controllers only.

    Read the documentation about
    "Begin Song Time Mode" for the Playlist.
     
  39. Bezoro

    Bezoro

    Joined:
    Mar 16, 2015
    Posts:
    133
    If there is a sound playing and a performance spike happens does MA handle that well or does it stutter?
    That is one of my biggest issues with playing sounds in Unity, makes the game feel cheap, and I am looking for a robust solution that can handle that kind of situation.
     
  40. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I haven't experience that except on ancient ipads so I'm not sure. We haven't done any specifically to counter it.
     
  41. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    OK cheers, I'm using fmod now anyways
     
    jerotas likes this.
  42. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I don't believe Fmod handles it either, right?
     
  43. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Yeah it does. You can have multiple listeners in the scene (in my case on each camera) and it works fine.
     
  44. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ah ok cool. They make a good product, but the licensing cost often gets in the way for anything other than tiny teams. As is the same with Fabric and WWise as well.
     
  45. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Hey @jerotas

    using the latest version of Master Audio 2022
    using Unity 2021.3.18f1

    I would like to know what are the best practices for setting up like lots sound effects? Like we have a lot of environment objects and a bunch of entities who make sounds.
    These GameObjects (GO) are setup as prefabs. That being said I dont want to have a bunch of additional DynamicSoundGroupCreators in every scene for every possible SFX.


    Ideally this is what I would like to to:

    - My environment objects and entities are prefabs, in their prefab tree they have a DynamicSoundGroupCreator GameObject containing all the SFX this entity will make setup as Addressables

    But this does not work sadly.
    When I have a vanilla GO and make another DynamicSoundGroupCreator GO a child of this vanilla GO and then make that new GO a prefab and go into prefab mode the DynamicSoundGroupCreator Component tells me that I cant further create groups since I am in prefab mode. Same when I have an existing prefab asset, open it and add a DynamicSoundGroup-Component (not the Creator) to a child GO.

    Is editing a prefab instance with DynamicSoundGroupCreator/DynamicSoundGroups Children in the scene view and applying the changes to that prefab again the only valid way of adding/removing any sounds? This is doable I guess, but a bit tedious. Anything I missed or is there a better way?
     
  46. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    First of all, I wouldn't use Dynamic Sound Group Creators for things that are always in the Scene. That's more for things that you dynamically decide will be in the Scene. So I would go ahead and add all those sounds to Master Audio game object instead. Or to a single DSGC that's in the Scene if you prefer.

    So not sure I need to answer the rest of the question until you wrap your mind around that and reconfigure?

    Thanks,
    -Brian
     
  47. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Thanks for the reply @jerotas :)


    Hmmm, so if we have hundreds of sounds they should just all be thrown into the Master Audio GameObject?
    I dont know if I like this approach. I'd much rather seperate it to be honest. The GameObject that are supposed to make sounds have the sound information and then tell MasterAudio play it. I think it's also a better workflow to touch the GOs/prefabs and add/remove the specific sounds than work through a gigantic list of sounds in the MasterAudio Object, no?

    The thing is what I ultimately want to do is have a MasterAudio GameObject in my boot scene and is persistent. The only information that this MasterAudio GameObject has is the main playlist of the game to play music.

    I wanted to "populate" the sounds of Master Audio which should be played depending on the "scene" you are in with all the entities and environment objects which are making sounds. And from what I understood the Dynamic Sound Group Creator would be the best approach for this.

    I really like the tool, I'm just unsure what the best approach is :')
     
  48. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You are free to separate it, just saying that there's no performance benefit for you to do so. If you like it for your workflow, so be it.

    Also, know that we have many tools for managing large numbers of sounds in the Master Audio game object Mixer section. Filter by Bus, Sort by Bus, Text Group Filter, etc. It's completely manageable and we do so ourselves in our games.

    Yes the DSGC if good for when you want to remove the sounds when you no longer need them. The downside of having the Sound Groups in a dozen or so DSGC's is you can't go one place to edit them or necessarily even know where they all are.

    I would argue that the Master Audio game objects could definitely contain sounds that all scenes need, like UI and menu sounds, and not nothing at all. You can determine the full list.

    Why can't the DSGC's be in the root of the game object so you don't have the issue?
     
    BTStone likes this.
  49. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    What do you mean by this exaclty? At the root of which game object exactly?
     
  50. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You were saying how your DSGC's were on a child game object of a vanilla GO. My question is why not put the DGSC on the vanilla game object if that avoids your prefab troubles?