Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Vivaldi - SFX Composer

Discussion in 'Assets and Asset Store' started by Sycoforge, Jun 13, 2016.

  1. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Vivaldi SFX Composer
    Vivaldi is an advanced SFX composer allowing easy assembling of multiple sounds into powerful compositions.

    Pooling
    Vivaldi comes with a built-in pooling system, so you don't have to worry about pooling of your sound effects.

    Events
    Sync your game actions to cue points and/or loops manually placed within the editor.

    Variance
    Completely randomize your compositions, so that they never sound the same.

    Key Features
    • Full Unity Editor Integration
    • Powerful Event System
    • Built-in Audio Pool
    • Set Cue Points
    • Easy API
    • Create Loops with 4 different Modes
    • Randomizable Properties
    • Control Pitch, Volume, Position,etc
    • Reverse/Forward Tracks

    Editor UI
    vivaldi_ss_editor_ui.png

    Full Sound Control
    vivaldi_ss_settings.png

    Runtime Pool
    vivaldi_ss_event_system.png

    Editor Debugging
    vivaldi_ss_debug.png
     
    Last edited: Jul 17, 2016
  2. jimmy_doodle

    jimmy_doodle

    Joined:
    Nov 8, 2015
    Posts:
    22
    Sign me in! As every time. :)
     
  3. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Just write us an email using the "subscribe" link above. We changed how the beta system works since the Map Lab beta.
     
    Danirey likes this.
  4. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
     
    Last edited: Jul 30, 2016
    Danirey likes this.
  5. Danirey

    Danirey

    Joined:
    Apr 3, 2013
    Posts:
    542
    Hi Guys!

    Looks great. Can't wait to play with it! Any idea of when will begin the beta?

    Cheers!
     
  6. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    It has already begun.:) Currently in the 5th iteration.
    Forgot to change the thread title. :confused:

    Just download it from our website with the key. Let us know what you think about it!
     
    Danirey likes this.
  7. Danirey

    Danirey

    Joined:
    Apr 3, 2013
    Posts:
    542
    Ok! I'll check it right now. Thanks ;)
     
  8. Danirey

    Danirey

    Joined:
    Apr 3, 2013
    Posts:
    542
    Hi again! Do you have an specific place to get feedback or may we use this forum? Issue tracker? :D
     
  9. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Sorry for the late reply! Something went wrong with notifications (rollback to the old forum?).

    You can use what ever channel you like (forum, issue tracker, etc)! :)
     
  10. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Version 0.9.9 available for download.

    Changelog

    Features

    • Added support for Unity 5.6.
    Fixes
    • Core: Removed unnecessary allocation when in random mode.

    Changes
    • Event: OnTrackEnter event gets only called for tracks that get actually played (probabilistic).
    • Structure: Harmonized package structure across all shared libraries.
     
  11. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Version 1.0.0 available for download.

    Changelog

    Features

    • Added support for random audio clips per track.
    Fixes
    • Core: Removed unnecessary type checks.

    Changes
    • Editor: Track settings UI to allow random audio clips.
     
  12. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,302
    This looks very nice!
     
  13. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Thank you! :)
     
  14. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    As this is no longer being updated, any chance you could release it in source form rather than DLL form? Keen to make a few tweaks for our projects (namely moving the Editor resources mind you, but some other stuff too...)
     
  15. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    There's an updated around the corner containing the source. The plugin becomes then paid again (only for new user of course).
     
  16. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Awesome! Anything else on the horizon? I've just incorporated it into our audio stack, but noticing the one thing missing is a fall-off system (like AudioSource itself has) without making use of zones
     
  17. JDelekto

    JDelekto

    Joined:
    Jan 7, 2017
    Posts:
    46
    Wow! I just updated my assets and noticed that this has changed from the free version to the Pro version with the source. As this is the first time I visited this forum to see the details as to why, let me just say that this was an entirely unexpected, yet greatly appreciated gesture.

    Thank you!
     
    hopeful likes this.
  18. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    You are very welcome! :)
     
    JDelekto likes this.
  19. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Any chance you could add a Pause/Resume function? As when stopping the audio it invalidates the control, so when you play again you have to play via VivaldiComposition.Play() which doesn't have a "start from ms" option, and using GoTo on the control immediately after hitting play has no effect

    And on that note, seeing as the control sets IsValid to false when it stops, what is the purpose of CompositionControl.Play()? It's my understanding that if you try to play an invalid control it can end up colliding with other pooled controls if a control is assigned to the same index in the pool?
     
  20. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Added to the to-do list. Thanks for pointing out this missing functionality. :)
     
    BenWoodford likes this.
  21. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Just a heads up, your Vivaldi.Editor asmdef isn't marked as only compiling for the Editor (or at least it wasn't when I updated)

    Small feature request, I've added it myself for now but adding an optional time parameter to VivaldiComposition.Play would be handy, as you can do it from an existing control but not from a new playback.
     
  22. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Thanks for the heads up! The optional time parameter is on the to-do-list, if you can share your solution, we can check and eventually merge yours right away.
     
  23. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    I pretty much just added it to the chain from composition.Play(Transform, MixerGroup, Time) down to where it calls Play on a pool. Probably needs more than that to be a proper implementation as I just put it where I needed it to fulfil my needs really
     
    Sycoforge likes this.
  24. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Just added a snippet on my copy inside DrawCompositionSettings that you may want to add: "Fit to Longest Clip" in Composition Settings. Just makes life a bit easier when working with long clips by extending the composition to the length of the longest clip, rather than having to work out the length you need manually. Feel free to copy it verbatim:

    Code (CSharp):
    1.             if(GUILayout.Button("Fit to Longest Clip"))
    2.             {
    3.                 int longest = 0;
    4.                 foreach(SFXTrack track in Composition.Tracks)
    5.                 {
    6.                     if(track != null)
    7.                         longest = Mathf.Max(track.Length, longest);
    8.                 }
    9.  
    10.                 if(Composition.Length < longest)
    11.                 {
    12.                     Composition.Length = longest;
    13.                 }
    14.             }
     
    Sycoforge likes this.
  25. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Great commit. Thanks for sharing! :)
     
  26. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Having a bit of a weird one right now:

    I've got a scene that, when lagging (I know, I know, optimise my scenes) the Position marker in the CompositionControl lags behind the actual playback of the audio... rather difficult to actually recreate on my PC but the way I can tell is by pausing the audio (which stores the Position marker) a good 1 minute into the audio, then hitting play again (which plays using the stored Position) and it jumps back a good 10-15 seconds.

    Any idea what might be causing this?
     
  27. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    Unfortunately, this is by design as the Vivaldi plugin hooks into the default loop and thus is frame-rate-depended. Maybe we could introduce some compensation in the timeline to allow catching up smaller fps hiccups, but in a constantly, laggy setting this won't get you the desired effect.
     
  28. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    I would have thought the fact that you use deltaTime would mitigate that wouldn't it?
     
  29. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    716
    In theory, yes. I guess, there's an accumulating time error as the audio sampling has an external timer. On what frame rates do you experiencing these issues?
     
  30. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Target is 60, but I’ve had some stuff drop to 12. Obviously not a good framerate at all, but thought I’d bring it up
     
  31. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    I should note also that the timings are off in the other direction (cutting off before finishing) the first time a track is played when getting around 45 FPS for some reason... only the first time that audio composition is played though.
     
  32. BenWoodford

    BenWoodford

    Joined:
    Sep 29, 2013
    Posts:
    108
    Hate to continuously post but an update on this: I'm actually seeing it (or something similar) in the editor window too. I've got one track that I've duplicated and clipped down to have multiple tracks so I can tweak the timings of it for each section of vocals... and the audio seems to be playing fine but the actual waveform is showing audio "stretched out" so to speak, i.e. when there's audio playing, the waveform is empty or vice versa. Any ideas what might be causing that? It makes timing cue points rather problematic.

    There's also overlap between those separated clips where there shouldn't be - the waveform on the end of clip 1 and start of clip 2 is clearly different but I'll hear a little bit of clip 2's audio at the end of clip 1, and then hear it again at the start of clip 1. I can also end up with an entirely different part of a clip at 30s into a clip if I start it at 30s vs starting at 0s and listening past 30s.

    Hard to say if this is visual or something else though. Sample rates do match up so it's not that.
     
    Last edited: Nov 5, 2020
unityunity