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
    I'll need full stack trace for #1. Are you calling StopPlaylist or is that happening automatically?
     
  2. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Also, you can just put all music in a single playlist if you like, as long as you use Resource files or "Preload Audio Data" is off. It won't use any more memory than small Playlists. Then you'll still get cross fading and not need to use Dynamic SGC's for Playlists.
     
    Last edited: Jul 2, 2015
  3. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    I kept it the way it was in the end because putting the main level music as a resource made it hiccup upon load, so the main track needed to be loaded as a clip to stop this happening.

    One thing, Is it possible to fix the errors when Master Audio is disabled. I have a MA and Playlist in my development scenes which I disable when play testing from the bootstrap. It throws a load of null exception errors when enabling and disabling. Doesn't effect the runtime as we delete them when making a release and only use the bootstrap ones.
     
  4. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You don't need to disable them. They will be automatically deleted when playing the game and you get to those Scenes if you have another MA game object persisting from a previous scene.

    So it's not a supported scenario and shouldn't be necessary.

    Also, I haven't seen any hiccuping audio. We exclusively use Resource files for music and have never had a problem. If you'd like to send me an example project that illustrates what you're talking about, I'll take a look.
     
    Last edited: Jul 5, 2015
  5. ilesonen

    ilesonen

    Joined:
    Sep 11, 2012
    Posts:
    49
    Hi Brian,
    I just upgraded to latest version of MA and there appeared some problems. Is there a new feature that pauses a Playlist clip if it's already playing (in sync mode)? It's giving me some troubles. Can this feature be switched off?
    Also, the new feature where Playlist unloads audio files marked as "preload" in import settings? Is that completely automatic and not optional?

    Thanks!
     
  6. sluice

    sluice

    Joined:
    Jan 31, 2014
    Posts:
    416
    I so did not need this asset... but thanks to:
    -Unity: 65% off an already reduced by 25% price is just a great deal! :oops:
    -The ease of using this asset (thanks to your video)
    -My Asset Store Daily Deal addiction;

    has sold me on this.

    Looking forward to test it out and compare to my personal solution!
    Less time focusing on audio = more time focusing on actual gameplay! :cool:
     
  7. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I don't know anything abuot that issue you're describing. Please send us a project that reproduces the bug.

    Yes the Preload feature is automatic with no options. Please describe the scenario where you'd not want to unload and we'll consider adding it.
     
  8. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thank you for the support!
     
    sluice likes this.
  9. ilesonen

    ilesonen

    Joined:
    Sep 11, 2012
    Posts:
    49
    I noticed later that the problem is related to audio import settings. What are the best audio settings for layered Playlists
    when using resource file mode? Should "Preload Audio Data" and "load to background" be turned on or off?
    I haven't yet found a combination with 5.1 which would work as good as it was in 4.6.
    What about the new memory saving feature when using clip mode? I tested it today in ios and when "preload audio data" was turned off playlist clips was out of sync.

    I'll send you some example if I can't get it to work.

    Thanks!
     
  10. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Check the "best practices" section near the end of the readme (not at my workstation). We always use Resource Files, but turning off Preload Audio Data should yield the same result. Don't do both though on the same file, as that has been reported to cause problems. The next update will log an error to console if you do, so you will know to fix it. Also, don't use streaming on layered because it's a massive load on the CPU with more than one clip.

    We haven't seen any differences in things not working in 5.1. Only difference for us was the addition of new things. If you want Playlists to be in sync, they have to be Song Transition Mode = "Synchronize Clips" and you must assign the same Sync Group to all the to-be-synchronized Playlist Controllers (they default to no Sync Group).
     
  11. ilesonen

    ilesonen

    Joined:
    Sep 11, 2012
    Posts:
    49
    Thanks Brian!
    Yeah, the resource file workflow has been working perfectly before. I got the other issue fixed which I told earlier. I had wrong settings in audio files which caused all sort of troubles. Now only problem is little perfomance drop after upgrade.
    I have 4 playlists running at once (everyone has 15 clips). When the playlists are used first time in game it causes perfomance drop and game slows down everytime the clips are changed. After every playlist has played (all the clips) once through the game runs smoothly. That's really confusing and that issue appeared after upgrading to 5.1.
    I've tried both "compressed in memory" and "decompress on load", but both works similar way. Does it make any sense and what could cause that?
     
  12. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Last week I did deep profiling with 4 synchronized Playlists in Unity 5.1 and never saw more than like 0.15ms time for Playlist Controller's Update (with Gapless on) combined between the 4. I definitely don't classify that kind of speed as a performance problem.

    Are you using Gapless, Resource files and "load resources async?" The last one if you don't use it can cause performance hiccups as your game grinds to a halt waiting for the file to load. Currently that option is only available for Unity professional users. I'm not sure if the API call is now available for free users too? That's why I restricted it before.
     
  13. ilesonen

    ilesonen

    Joined:
    Sep 11, 2012
    Posts:
    49
    Yeah, Gapless and resource files are in use but I've personal edition so no async feature. Weird that it happens only the first time playlists are played trough. After that there's no problem. Maybe something else is causing that than audio.
    Thank you for the support!
     
  14. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Try not using Resource files and use the uncheck Preload Audio Data feature instead. That should work even on free. Unity Docs say it loads in background.
     
    Last edited: Jul 9, 2015
  15. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Effective in the next version, we're dropping support for DF-GUI. It's been off the Asset Store for many months now and not many people are still using it. If you need the integration package for that, please save it from the current version.
     
  16. noania

    noania

    Joined:
    Apr 19, 2014
    Posts:
    33
    In an empty scene(with only MasterAudio), I've added 100 short sounds and FPS dropped from 6000 to 3000, also feels very laggy (I think) due to the MasterAudio inspector updating. This gets worse with more sounds added and with 500 sounds, the unity editor hanged up and I had to ctrl+alt+etc to kill the process. Is there any optimized way to add many sounds?
     
  17. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    That's not surprising, since it has to scan the Hierarchy for children on every frame.

    Are you saying you have 500 Sound Groups? Or 500 Variations in a lesser number of Sound Groups?

    I don't think there's a valid reason to have 500 Sound Groups. Try to group them into less Sound Groups wherever possible.

    We have about 120 Sound Groups and it's totally usable. Yes, there is a frame rate drop, but that's only when the Master Audio game object is selected, which it doesn't have to be all the time.
     
  18. noania

    noania

    Joined:
    Apr 19, 2014
    Posts:
    33
    They are 500 sound groups. Well...sorry, after more testing, it seems all those frame rate drops(while not inspecting MasterAudio object) actually comes from Gizmo drawing(like those speaker icons). I've assigned an unique layer to MasterAudio and its children and filtered out the layer in editor view and the FPS stayed at 6000 with even 1000 sound groups.
     
  19. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok good solution. I still don't think you need 500 Sound Groups. Are they all single variation groups?
     
    noania likes this.
  20. noania

    noania

    Joined:
    Apr 19, 2014
    Posts:
    33
    Yeah, they all have single variation. But it's just for quick torture testing MasterAudio. I probably won't even have 50 sound groups in my project in the end.
     
    jerotas likes this.
  21. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Heads up to all users: tomorrow morning I'll be a father of 2 twin boys :)

    So support will be a little slower for a little while. I advise posting to our support forum or here and sometimes other users may be able to help out before I can.

    I'll be back to former awesome support levels very soon, so hang in there!
     
  22. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Congratulations!
     
  23. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thank you!
     
  24. Crazydadz

    Crazydadz

    Joined:
    Mar 29, 2012
    Posts:
    50
    Congratulations!!!
     
  25. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thanks man!
     
  26. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok, I'm back from my "vacation" (insert laugh track here) and we are now available for same day support as usual. Carry on!
     
  27. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Master Audio V 3.5.8.4 has been submitted! Changelog:

    • Fixed bug: ButtonClicker script spams Console when no Master Audio game object in Scene.
    • Fixed bug: Hitting stop in the Jukebox with Song Ended Custom Event set up on Playlist Controller logs "Duplicate Custom Event fired".
    • Fixed bug: Song Ended Custom Event on Playlist Controller fires SongEnded when starting first song.
    • Fixed bug: Song Ended Custom Event & Song Changed Custom Event on Playlist Controller both fire even when collapsed & unchecked.
    • Fixed bug: When encountering a busy Variation, other available Variations were not used in some cases.
    • Now logging a warning to the Console if you're using Resource files that have "preload audio data" unchecked, since that causes audio glitches sometimes. Turning Preload Audio Data off is an alternative to using Resources files, you should never do both on the same file.
    • Removed Particle Emission controls from EventSounds. This is an old weird feature that doesn't belong in an audio plugin.
    • Deleted "Master Audio Set Variation Pitch" Playmaker Custom Action as it was a duplicate of Master Audio Group Set Pitch.
     
    Crazydadz likes this.
  28. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Master Audio is now 50% off for a limited time to celebrate my sons being born! That's $30 :). Great time to pick it up for a great price.
     
    tosiabunio likes this.
  29. Async0x42

    Async0x42

    Joined:
    Mar 3, 2015
    Posts:
    104
    I already have it, but congrats on the baby!
     
    jerotas likes this.
  30. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I was hoping that someone could let us know if Master Audio compiles and/or works fine on Windows 10? We don't have a Windows 10 computer right now and have to wait for the download email to arrive.

    I don't see a Windows 10 switch on this page: http://docs.unity3d.com/Manual/PlatformDependentCompilation.html
    so I think we'd need to wait for one to exist if there are problems!

    Many thanks if you can help us out!
    -Brian
     
  31. tosiabunio

    tosiabunio

    Joined:
    Jun 29, 2010
    Posts:
    115
    Works fine for me in Windows 10, but so far I've done just basic testing.
     
  32. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thank you!
     
  33. Crazydadz

    Crazydadz

    Joined:
    Mar 29, 2012
    Posts:
    50
    Works fine here too, but as tosiabunio said, didn't test it out much since Win10 :)
     
  34. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Thank you as well Crazydadz!
     
  35. pea

    pea

    Joined:
    Oct 29, 2013
    Posts:
    98
    Phew, long topic! Forgive me if this has been asked before. :)

    I'm in a situation where I want to use synchronized playlists to play a number of short (i.e. 4 bar, 8 second) loops and fade them in/out to create a song progression depending on some game variables.

    It seems the sounds never properly loop. It's erratic, and you get little millisecond glitches sometimes that throw the tempo out. They play in sync, just with an erratic glitch each time the sounds loop.

    Anything I should be careful of when trying this approach? I assume this is possible? Let me know if I can add more detail or provide a recording.

    I've tried the "Controller Sync Group" setting (all controllers on 1) and that makes the glitching worse.

    P.S.: Congratulations on becoming a father! Epiiic.
     
  36. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Before we try to troubleshoot anything that may be wrong with Master Audio, if you are saying a song doesn't loop correctly, and you have the song in the Playlist marked as "Loop Clip" (which is how we normally loop songs) - well that's definitely a problem with your audio.

    The reason I say that is that Master Audio is just playing an Audio Clip on an Audio Source with loop turned on. We're not reinventing anything that Unity provides, we just build other things on top of them.

    So if you try doing just that without Master Audio, I would wager it will have the same problem.

    If your problem is something else, please explain in more detail.

    Thanks!
     
  37. kathode

    kathode

    Joined:
    Jan 15, 2013
    Posts:
    63
    Hi,
    New user - I might have a couple noobish questions. For starters, I'm getting concatenation in my sound group names that makes it hard for me to differentiate them. Are there rules for what the MA prefab displays? See the screenshot. I have names like "Boss - Knight Hit 01 AA" but the display seems to cut off after Boss. I also get some weird spew/corruption(?) at the bottom of the list as you can see in that picture. Setting it to wide mode will get me one or two more words in titles but still not the whole thing. Do I just need to change my sounds to not use symbols or spaces?

    Thanks!
     

    Attached Files:

  38. pea

    pea

    Joined:
    Oct 29, 2013
    Posts:
    98
    Wap wap waaaap, user error! Thanks for correcting me there, it's looping beautifully now.

    I had ticked "Loop Playlists" on the Playlist Controller, and didn't see the "Loop Clip" tick box on the main MasterAudio controller.
     
  39. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok, no problem.
     
  40. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Do you have an error in the Console? Because I can put names like that no problem:

    upload_2015-8-26_8-26-31.png
     
  41. kathode

    kathode

    Joined:
    Jan 15, 2013
    Posts:
    63
    Thanks, it starts off fine but at some point, it breaks. I'll see if I can repro it.

    One more question - I want to play a sound group, have it pick a random sound, and make that sound repeat. So if I do a play sound and it grabs variation 4, I want to have variation 4 repeat a few times. But next time it happens, maybe it picks variation 5 so it should repeat 5 a few times. Is there a way to do that? Thanks!
     
  42. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No, you can't repeat X times. Only zero or infinite. At least not without writing code.
     
  43. kathode

    kathode

    Joined:
    Jan 15, 2013
    Posts:
    63
    Sure that's fine! I can stop it in code. I just don't know the cleanest way to repeat the same variation. I want it to randomly pick a variation and repeat that, but everything I've tried so far just randomly picks a new variation each time. I'm sure I'm missing something obvious...
     
  44. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You set up Variations to loop or not with the "loop clip" checkbox in the Variation's Inspector. Or you can set the loop for all Variations in a Sound Group with the Sound Group's Inspector.

    And yes, it will pick a new Variation each time you tell the sound to play again. It won't stop any old one(s) playing unless you tell the Sound Group to run in "Dialog mode". There's a dropdown for that at the top.
     
  45. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Master Audio V 3.5.8.5 has been submitted to the Asset Store. Changelog:

    • Upgrade note: Moving our plugins into Plugins folder to help speed up compile times in your projects! Make sure and move the entire Assets/DarkTonic folder into Assets/Plugins before upgrading to this version! Then update the Installation Path to Assets/Plugins/DarkTonic/MasterAudio on the Master Audio Manager screen by clicking "revert". Good to go!
    • Now allowing Async loading of Resources to all Unity 5 users, even free version.
    • Added MechanimStateSounds script. This can be added with the "Add Behavior" button on a Mechanim state, and can play a Sound Group of your choice during state enter and/or exit.
    • Fixed MasterAudio.GetAllPlayingVariationsInBus to return a list of Variation objects, not game objects. That is far more useful.
    • 0-1 to Decibels conversion was incorrect! Fixed formulas.
    • Made Sound Groups with zero voices playing a different color for the voice count on the Mixer (dark gray) to stand out better.
    • Now all Sound Group Variations go back to position 0,0,0 (relative to Master Audio game object) after stopping. So if you see a Gizmo for a Variation at a different location, it is playing something.
    • Changed default behavior of Caller Despawned Mode for each Sound Group. Now it defaults to a fade of 0.3 seconds. This will affect only projects that haven't imported Master Audio before.
    • Added option "Follow Audio Listener" on Advanced Settings. Defaults to on. This aids previewing, and will move the Master Audio game object to Audio Listener's location every frame, including at edit time. This will enable previewing of sounds from the Master Audio game object at all times. Before it was based on distance from the Audio Listener.
    • Sound Group's Inspector now has mute and solo button like its Mixer row.
    • Playlist Controller's Inspector now has mute button like its section in the Master Audio game object.
    • Now showing indicator of playing / not playing and “time” on Group & Variation Inspectors so you can see which Variations are playing.
     
    tosiabunio likes this.
  46. pea

    pea

    Joined:
    Oct 29, 2013
    Posts:
    98
    Hi again. Question. Are there any events I can use that fire when a clip/playlist loops? I'd like to do things in time with the music.
     
    Last edited: Sep 9, 2015
  47. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    No, not yet. It's on the product roadmap though: http://darktonic.freeforums.net/thread/87/feature-roadmap-master-audio-suggest

    If you don't see the exact thing you need on that list, let me know.

    There is events for when the song advances in a Playlist though.
     
  48. pea

    pea

    Joined:
    Oct 29, 2013
    Posts:
    98
    Great roadmap. Thanks @jerotas. Good things are worth waiting for.
     
    jerotas likes this.
  49. kathode

    kathode

    Joined:
    Jan 15, 2013
    Posts:
    63
    Hi, I was wondering if you could tell me how to set the volume of an individual playlist through code? I can't quite figure out how to get at the reference to the current playlist. It seems like I shouldn't have to use InstanceByName since I just have one controller but I'm having trouble figuring out any other way. Thank you!
     
  50. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    You can get a reference to the current Playlist like this:
    Code (csharp):
    1.  
    2. var playlist = PlaylistController.Instances[0].CurrentPlaylist;
    3.  
    But that won't help you, because a Playlist doesn't have its own volume control. The songs in it do, and there are 2 other levels of volume above that for songs as well.

    1) The PlaylistController volume. This applies to all Playlists it will host. You can't say "use volume X for Playlist Y".
    2) The Master Playlist Volume (at the top of the Master Audio game object).

    Song volume is calculated as:

    (song volume) times (playlist controller volume) times (Master Playlist Volume).

    You'd probably want to set the volume of the PlaylistConroller, when it changes to that Playlist, by setting the PlaylistController volume.

    Code (csharp):
    1.  
    2. PlaylistController.Instances[0].PlaylistVolume=.5f;
    3.  
    Or you could transition to a snapshot on the Unity 5 mixer that has a louder channel for the Mixer Group the Playlist Controllers are assigned to.
     
    Last edited: Sep 14, 2015