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

Sound Reactor - make visualizers and rhythm games

Discussion in 'Assets and Asset Store' started by LittleDreamerGames, Jun 6, 2018.

  1. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi everyone!

    If you were ever looking for a way to create audio visualizers or rhythm games, Sound Reactor is the tool to use. Sound Reactor comes in two flavors, Standard and Pro. Standard is great for making visualizers, and Pro is great for making rhythm games. See the Product Comparison page for a full comparison.

    You can create visualizers that are made up of GameObjects or Vectors with the Spectrum Builder. If they are GameObjects, they can be arranged in the shape of: lines, circles, filled rectangles, and segmented levels. With Vectors you can create lines and circles (filled or not).

    If you go with the drivers that ship with Sound Reactor, you can easily drive common properties like: position, rotation, scale, color, physics forces, and particle system with a spectrum.

    Standard creates a spectrum from audio, and Pro creates one from MIDI Note On events played back from a file. Choose the one that best fits your project!

    ASSET STORE
    Standard
    Pro

    WEBSITE
    LittleDreamerGames

    SUPPORT
    Contact Page

    VIDEOS





    I hope you find Sound Reactor very useful!
     
    Last edited: Jan 29, 2020
  2. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi everyone,

    Edited....

    I've just released Sound Reactor Pro. Check it out in the asset store here.
    Take a look at the manual here.
    Check out the promo video here.

    Sound Reactor Pro can now react to MIDI events played back from a file! This means Sound Reactor Pro will be able to react up to 128 unique NoteOn/NoteOff events!

    In addition to Sound Reactor Pro reacting to NoteOn/NoteOff events, the following events and messages can be handled with a custom event handler:

    Meta Messages Supported
    • Text
    • CopyrightNotice
    • TrackName
    • InstrumentName
    • Lyrics
    • Marker
    • CuePoint
    • ProgramName
    • EndOfTrack
    • Tempo
    • TimeSignature
    • KeySignature
    Events Supported
    • NoteOff
    • NoteOn
    • PolyphonicPressure
    • ControlChange
    • ProgramChange
    • ChannelPressure
    • PitchWheelChange
    Unsupported Events
    • System Exclusive (these aren't even supposed to be saved into a file anyway)
    Unsupported Meta Messages
    • Device Name
    • Channel Prefix
    • MIDI Port
    • SMPTE Offset
    • Sequencer Specific


    Additional Information:

    General Info
    • Supports MIDI type 0 and 1 files
    • Seek to specific time
    • Change the playback speed
    • Custom handler so you, the developer, can handle the MIDI events directly.
    Unsupported
    • Cannot create or edit midi events/messages
    • Does not connect to MIDI devices
    • Does not save MIDI files
    • Does not generate MIDI events
    • Does not play sounds
    Link to MIDI specifications:
    https://www.midi.org/specifications

    Cheers!
     
    Last edited: May 16, 2019
    Akshara likes this.
  3. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
  4. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Sound Reactor Pro is the perfect tool to help you create rhythm games.

    Start off by using your favorite MIDI sequencer to create MIDI notes in sync with an audio file. Then in Sound Reactor Pro play both the MIDI file and audio file in sync with each other. Use the MIDI events to trigger player touch or click events to the rhythm of the song. In my promo video I use it to depress keys, change the colors, and emit notes.

    Sound Reactor Pro supports type 1 MIDI files, which means multiple sequences can play at the same time. To access most of the MIDI events included with the MIDI file, you create a custom MIDI event handler.

    As far as MIDI playback, I mimicked the AudioSource and AudioClip convention, which means MIDI is MidiSource and MidiClip. This also means properties in the inspector are similar, and so are the scripts.

    If you don't care about rhythm games and are more interested in the Piano builder, you can create a piano that has up to 128 keys. The presets are: 25, 49, 61, 73, 76, 88, 112 and 128. If the presets aren't enough, you can create any piano layout that doesn't start or end with a black key (well you still can, but it looks silly).

    To play audio along with the MIDI, render the MIDI to an audio file and play it in sync with the AudioMidiSync script.

    Thanks, and I hope you enjoy Sound Reactor Pro!

    ~edited to clarify some things
     
    Last edited: Jun 18, 2019
  5. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
  6. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Bump buh bum bump bump! Sale ends soooooooooon!
     
  7. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
  8. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    I just updated a few things for the new year:

    Website updates:
    • I updated the Little Dreamer Games logo to something a little less pathetic
    • I added a lot more information about Sound Reactor onto the LittleDreamerGames website. This way you really know what you're getting into before purchasing.
    • I noted where you do and don't need programming experience.
    Updates submitted to the asset store for review today for Standard and Pro:
    • There were issues to do with prefabs that have been solved by restricting prefabs in certain setups (the component will give you an error).
    • I remastered the SoundReactorShort mp3 so its volume matches the other sample music.
    • The rest of the update notes can already be downloaded from here, and here at the bottom.
    Future plans:
    • I plan to make videos touching on how MIDI is used by going over the new demo scene called "MidiBasics".
    • I also plan to make one regarding the SpectrumBuilder. I need to make it clear that the builder is not 100% necessary all the time. It's just there to help you make shapes and set values for you.
    If you've already purchased and have been using Sound Reactor Standard or Pro for a while now, I'd really like to hear your feedback. They say no news is good news, so I just assume everything is hunky dory, even though sometimes I go through it all once and a while and come across some major issues! I panic, fix it, then submit right away so ya'll don't hate me lol.

    Anyway, Happy New Year!
     
  9. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Looks good. I would jazz up the title of this topic a bit more or have screenshots and videos of the product otherwise people lose interest rapidly and it'd be a shame since you've obviously put a lot of thought and care into it.
     
  10. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Thanks hippocoder! I will do just that.
     
    hippocoder likes this.
  11. OfficeWorker215

    OfficeWorker215

    Joined:
    Jan 29, 2019
    Posts:
    8
    Hello LittleDreamerGames!

    Asset is working fine but in my case :
    when we edit prefab,some of script like level.cs,colordriver.cs,spectrum filter.cs,scale driver.cs etc automatically added more and more.

    we using Unity version 2019.2.15f1
     
  12. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi OfficeWorker215,

    I've managed to finally figure out how to fix this bug. It's been around for a while and I've been asking people to avoid prefabbing anything.

    The issue lies in the PlaymodeSerializer script. For now you can delete this script and the problem will go away. That script is what's responsible for remembering property changes during play mode. After deleting the script properties changed in play mode will no longer be remembered.

    The bug itself is two part. I can fix this pre-Unity 2018.2, but Unity has to fix a bug on their end for my fix to work from Unity 2018.2 and up.

    I will submit my fix to the asset store this weekend. I'll also submit a bug report so Unity can fix the bug on their end for Unity 2018.2 and higher.

    Cheers!
     
    Last edited: Jan 25, 2020
    OfficeWorker215 likes this.
  13. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Good news, with some help and guidance from another forum member I was able to figure out how to completely fix the prefab issue for Unity 2018.2 and up (components duplicating themselves on GameObjects)!

    I will submit another package to Unity within the next day or two (email me at support@littledreamergames.com if you'd like it sooner). Since I didn't relax this weekend I need a break from it all!!! :eek:
     
    OfficeWorker215 and Freznosis like this.
  14. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Quick heads up. I submitted the fix to Unity so it should go live either tomorrow or the next day. To clarify, prefabs should no longer be an issue with any version from Unity 5.5 and up, although it's only been officially tested all the way up to 2019.2 (highest official release at the time of this post).

    Cheers!
     
    Last edited: Jan 29, 2020
  15. OfficeWorker215

    OfficeWorker215

    Joined:
    Jan 29, 2019
    Posts:
    8
    Thanks for your Good Response. . .:)
     
    LittleDreamerGames likes this.
  16. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    I'm submitting a quick fix for an error that's occurring when a custom vector shape is used with the Scriptable Render Pipeline (SRP). The custom vector shape is not supported with the SRP, but a feature added last year is throwing an error since Camera.current is not used by the SRP, or at least not the one I tested it in which was the Universal Render Pipeline.

    It should go live Monday. It's possible it'll go live before tomorrow, but I doubt they'll get it in time today and they don't process anything over the weekend.

    To fix it, double click on the error in the console, then do this:
    Code (CSharp):
    1. // replace this
    2. if ((Camera.current.cullingMask & layerInt) == layerInt)
    3.  
    4. // with this
    5. if (Camera.current != null && (Camera.current.cullingMask & layerInt) == layerInt)
    Sorry for any inconvenience this may have caused anyone!
     
    Last edited: Feb 15, 2020
  17. OfficeWorker215

    OfficeWorker215

    Joined:
    Jan 29, 2019
    Posts:
    8
    Hello
    LittleDreamerGames!

    How can do Line Spectrum in Canvas UI Elements?
    In demo scene it's looks nice but when i did in Canvas-UI Elements its not showing properly.

    Thank you.
     
  18. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi OfficeWorker215,

    Could you send me a small sample scene of what you're talking about? Send it in the form of a unitypackage to support@littledreamergames.com and I'll take a look.

    Thanks!
     
  19. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    Hello, i ask a question in your website. Its a pre-sales question. Thank a lot.
     
  20. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    OfficeWorker215,

    Everything seems to draw just fine under the Canvas. The only thing you have to make sure to do is set Canvas->Render Mode to something other than Screen Space - Overlay.

    We can continue our conversation in the email.
     
  21. OfficeWorker215

    OfficeWorker215

    Joined:
    Jan 29, 2019
    Posts:
    8
    Great Hand;)!!

    Exactly What i need.
    Thank You.
     
    LittleDreamerGames likes this.
  22. danidiazr

    danidiazr

    Joined:
    Dec 27, 2016
    Posts:
    24
    Hi!

    I have 2 questions

    I'm making a music game like Tap Tap Reborn or Tap Tap Revenge.

    How can I do to manage the speed of the MIDI sync to do harder levels (buttons moving faster in harder level)?

    How can I make a MIDI clip file in scripting?

    Thanks!
     
  23. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi danidiazr,

    Nice, those were the games that got me into this in the first place!
    1. To set up a game that has multiple difficulties you must create multiple MIDI files.
    2. The only way to create a MIDI file is with a 3rd party software. From there you export the MIDI file so it can be imported into Unity by SoundReactor Pro. The full instructions for that are here.
    Understand that SoundReactor Pro doesn't play MIDI sounds, it only plays back MIDI events, which you can use to spawn notes. A simple example of this comes with Pro. You will likely write your own, though.

    See all the requirements for SoundReactor Pro on this page.

    Thanks for your interest, and let me know if you have any more questions.

    Cheers!
     
  24. danidiazr

    danidiazr

    Joined:
    Dec 27, 2016
    Posts:
    24
    Hi!

    I do have multiple MIDI files but if the level is easy, the tap beats move a X speed, and if the level is hard... how can I do to the tap beats move a Y speed (faster than X speed)?

    I see how to import MIDI files, but if I have the MIDI files into the project, how can I do to create a MIDI clip (.midi.asset) with the MIDI file from script? Coding instead of select the MIDI file and then right click + create MIDI clip. With this I want to load MIDI files from file browsing system.

    Thanks!
     
  25. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi danidazr,

    I see where you're coming from.

    You'll need to rearrange this formula to get the values you need:
    distance = rate * time

    You want the actual speed of the notes to move faster, so notes need to be spawned further away. Changing the time will speed things up too; it just all depends on your needs.

    I have a demo scene that loads a .midi.asset file, but you can tweak it easily to load a .mid file. The scene is called MidiLoadResource. In there click on the AudioMidiSync game object. Find the component MidiLoadResource and uncheck "Resources Folder". From there you can provide the path to the .mid file in the "Midi Resource" text area.

    I would duplicate the MidiLoadResrouce.cs file and customize it to your needs. I say duplicate because if you make changes to that exact file, and then I make an update to it for some reason, then when you get the latest version of Sound Reactor Pro my changes will overwrite your changes.

    I hope this helps!
     
  26. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi everyone!

    Both Standard and the Pro version of SoundReactor are on sale for 50% off for the New Years Sale! Enjoy!
     
  27. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    I've been working hard to get the new PianoRoll into Sound Reactor Pro for Christmas. I was able to get it done and submitted yesterday, so it'll be out just after Christmas.

    PianoRoll makes it very easy to create what you see in the screenshot below. There are two scenes included with Sound Reactor Pro called MidiEventEmitter2 and MidiEventEmitter3 (shown in the screenshot). 2 shows how to make the notes emit in time to music from the keys, and 3 is the more common one where you see the notes emit from above and touch the keys in time to the music.

    PianoRoll.jpg
    In addition to the new PianoRoll script, I fixed some timing issues with the AudioMidiSync script.

    Merry Christmas everyone, and have a Happy New Year!
     
  28. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Sound Reactor Pro and Standard are both still 50% off. The sale ends on the Dec 31st 2020 so you still have a little time left!

    Good news, the PianoRoll update was released last night!

    Cheers!
     
    Last edited: Dec 29, 2020
  29. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Apparently the sale is still on! I looked for where I read Dec 31st but couldn't find it. I guess Unity will say when the sale is over :)
     
  30. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    I just submitted an update for both versions of Sound Reactor to the asset store today (Standard and Pro Updates). My main goal for this update was to place all the demo scripts into their own namespace. I also added some comments at the top of each demo script so you know how to safely use them in your own project without subsequent Sound Reactor updates breaking them.

    The most exiting update made (in my opinion) is the one for the RhythmGame included with Sound Reactor Pro. I went a little more professional with this one and started using an animator and better looking effects. Also, I never documented that the Left, Down, and Right arrow keys were supposed to be tapped, but some people may have figured it out ;). The new demo actually shows you the arrows which react to touches and misses. Here's a screenshot:

    upload_2021-1-18_10-14-3.png

    Enjoy!
     
  31. danidiazr

    danidiazr

    Joined:
    Dec 27, 2016
    Posts:
    24
    Hi,

    I have a question. I'm making a tap tap revenge-like music game. How can I do to pre load the "tiles" before the match starts? I want to stop instantiating objects and start with something like "object pooling". Instantiating whole tiles before the match starts and let the game run without instantiating.

    How can I do that?
     
  32. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi danidiazr!

    Edited: I forgot that I included the pool scripts with Standard as well.

    Before doing any of my suggestions please make a backup of your game :)

    In one of my last updates I added a new class called "MonoBehaviourParticlePool" (not to be confused with unity's particle system). It's demoed in the RhythmGame scene.

    A particle here is considered to be something that has a lifetime and is something you add to a GameObject to make it the particle. When the particle dies, it doesn't delete the GameObject, it just disables it.

    MonoBehaviourParticle is a class you inherit from so you can assign your GameObject to a MonoBehaviourParticlePool. The pool will then allocate the specified number of instances you'd like it to create when the game runs. To get an available particle, get a reference to the pool and call GetParticle().

    There's some setup involved when setting up a GameObject to use MonoBehaviourParticle, so in the RhythmGame look for RhythmNote. The pool for this GameObject is NotePool.

    To see a GameObject that uses the GetParticle method look for a GameObject called LeftTouchIndicator.

    Backup your project before upgrading to the latest Sound Reactor. Make two backups to be really sure you have even an alternate backup to restore from! If you are using anything in your game that was in the demo folder, your upgrade will be difficult. If not, the upgrade is pretty easy.

    Check out the upgrade notes for Pro and Standard.

    Let me know if you have any questions!

    Cheers!
     
    Last edited: Apr 12, 2021
  33. mdahlgrengadd

    mdahlgrengadd

    Joined:
    Oct 15, 2018
    Posts:
    3
  34. mdahlgrengadd

    mdahlgrengadd

    Joined:
    Oct 15, 2018
    Posts:
    3
  35. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Thank you for sharing mdahlgrengadd, those look great!
     
    Last edited: Jun 1, 2021
  36. vertexx

    vertexx

    Joined:
    Mar 18, 2014
    Posts:
    379
    I purchased the "cheaper" version thinking I have no need for Midi stuff. Luckily you don't have to worry. Buy the cutdown version. Want more? Go to the Pro version and you will find your original purchase price has been given as a discount for the Pro version

    Now new customers can have BOTH for the price of the Pro if you're not happy with the other.
    Wonderful.
     
    Last edited: Jun 10, 2021
    LittleDreamerGames likes this.
  37. vertexx

    vertexx

    Joined:
    Mar 18, 2014
    Posts:
    379
    Wowie! Just seen this. Magnificent work, mdahlgrengadd..hope I've spelled that correctly...
    Looks fantastic and has given me hope ! What a great asset Sound Reactor is. Nothing else in the store compares.
    Keep it up and post more please! Making my efforts on youtube look rather pathetic!
     
  38. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    I'm so sorry for any confusion! The only difference between the two should be the midi. Could you go into more detail what you mean about the equalizer missing? It should be in Standard and Pro. If something is not upgrading correctly, then I need to fix something ASAP. I haven't tested anything beyond Unity 2020.1, so maybe it's that?

    As far as the product comparison chart goes, could you specify exactly the part that caused the confusion? I'd like to fix that if at all possible. I originally wrote it simply to point out the differences, but if it is misleading in any way I need to fix that.
     
  39. vertexx

    vertexx

    Joined:
    Mar 18, 2014
    Posts:
    379
    Yes, Sorry about that. I think I have now cleaned that up. Changed accounts to my real one!!! and certainly given the full amount of stars to you as richly deserved!
    Now for some real work! No excuses !! Got to get that Piano. At the moment my attempts are not that good! As you might possibly see on my Youtube channel and agree :)
     
    LittleDreamerGames likes this.
  40. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Thanks vertexx, I can't wait to see what you come up with!
     
  41. vertexx

    vertexx

    Joined:
    Mar 18, 2014
    Posts:
    379
    Ha, thanks...Keep looking :) Your software has me in Heaven. Just need the time to appreciate it more. Thanks.
     
    LittleDreamerGames likes this.
  42. villaman

    villaman

    Joined:
    Apr 21, 2021
    Posts:
    69
    Hello, looks great. Any plans to support URP?
     
  43. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Hi villaman! Thank you so much!

    Actually, the only thing that doesn't work with any of the scriptable render pipelines are the vector shapes, everything else works fine. When I updated the asset store page it didn't really give me an option to say that only some parts are incompatible with the SRP so I opted to just say the whole thing is not compatible. But rest assured the foundation works great!

    With that said, I did add one demo with a script that utilizes Unity's line renderer that'll react to music, but it's to hard to advertise that, and I'm not really happy with doing it that way anyway. It was more of a compromise.

    Thanks for reaching out and let me know if you have any other questions!
     
  44. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Good news! Sound Reactor Standard and Pro are both 50% off right now!

    On top of that, I just submitted an update and it is pending review. It should be available to current owners in 3 days.

    The most notable fix is with Pro. At some point I broke the midi reader and it stopped reading all but the 1st track in some .mid files. In a nutshell, the reader was failing when it tried reading a "Program Change" event in my test file.

    All the shaders included with Standard and Pro have been updated with VR macros. It works in Quest and PC via Oculus Link. I haven't done thorough testing so it is possible that the VR settings I'm using is why it works for me. Let me know if it works for your setups too!

    See the other fixes and updates under Version History in the following links (scroll down in the PDF).
    Version history for: Standard
    Version history for: Pro
     
  45. LittleDreamerGames

    LittleDreamerGames

    Joined:
    Apr 9, 2017
    Posts:
    72
    Latest version has already been approved! Thanks Unity! Enjoy everyone!