Announcement

Collapse
No announcement yet.

Arthurs Audio BPs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    Originally posted by ArthurBarthur View Post
    Could you make a video with examples of what you got and what you want? There's lots of stuff we could do to the analyzers. I wanna revisit, redesign and simplify a lot of the stuff that's been in for a while, like these visualizers.
    Basically the main issues are down to visualiser accuracy and dynamic range or normalisation going on.

    Here's a video showing a tone going from 100hz to 800hz with frequency bars starting at 250 and going up in 25hz increments each.

    Video: https://i.imgur.com/P69ASMs.mp4

    Testing the AudioVizBasicVolOrFreqs map and increasing frequency range I find no matter what settings I use with either a normal vocal sample or test sine tone it lacks accuracy in frequency response and how big the peaks grow.

    A sound that should be quiet at certain frequencies is often made out a lot louder than it is and it’s just never very accurate or consistent if you repeat the same sound.

    Another example is sometimes higher pitched sounds that have no bass still light up low bass frequencies when they shouldn't?

    This image shows a simple 500hz test tone and the frequencies to analyze. It lights up lots of bars that it shouldn't but they're also smaller or bigger than they should be no matter how quiet i make the audio. So you can see it's not really showing volume level either. This is with fft set to maximum.

    Perhaps accuracy is a limitation with the engine but surely it's possible to at least have the levels show the volumes better. It seems to work better on some sounds but not others.

    Click image for larger version  Name:	Test500hz.jpg Views:	0 Size:	205.5 KB ID:	1713257

    I really appreciate any help you can offer or improvements that can be made as i think this is a great project. Thanks.
    Last edited by Magneto; 01-26-2020, 10:00 AM.

    Comment


      #47
      OMG! You are so right! There has been a regression at some point. For some reason that beautifier is missing a lot of stuff I implemented a while ago..? HMMMMMM.

      Wanna know how bad it is? That "Normalize Each Frequency Independently" node was not even being used!!! Can you believe it. I swear it was implemented and in use from early on. No idea what happened.

      THANKS for noticing and inquiring. I might never have seen. . It'll be fixed in next update! In the meantime here is a temp fix inside the "Normalize Magnitudes" function of the beautifier:
      Click image for larger version  Name:	Fixyfix.jpg Views:	0 Size:	455.3 KB ID:	1713948


      Try my procedural music tools: Arthurs Audio BPs

      Comment


        #48
        With that fix(which is horrible, it querys the arrays many times every frame, its temporary but still, eww) and some messing with the threshold, it behaves much nicer!
        Threshold helps because no note is perfectly limited to a frequency, they always have overtones and stuff. Look at the spectrum of this sound https://youtu.be/m7TgZbepZtA
        Try my procedural music tools: Arthurs Audio BPs

        Comment


          #49
          Here's a short clip of it in UE now. Also including a BETTER fix for the thing, ignore the picture a couple posts ago
          https://youtu.be/6bzQfEWZJwI
          Try my procedural music tools: Arthurs Audio BPs

          Comment


            #50
            Originally posted by ArthurBarthur View Post
            OMG! You are so right! There has been a regression at some point. For some reason that beautifier is missing a lot of stuff I implemented a while ago..? HMMMMMM.

            Wanna know how bad it is? That "Normalize Each Frequency Independently" node was not even being used!!! Can you believe it. I swear it was implemented and in use from early on. No idea what happened.

            THANKS for noticing and inquiring. I might never have seen. . It'll be fixed in next update! In the meantime here is a temp fix inside the "Normalize Magnitudes" function of the beautifier:
            Great work that definitely made a nice improvement and you’re right about overtones but before I didn’t expect them to show up so bad.

            Is there a way to smooth out the wobble effect the bars have when they’re trying to collapse down but there’s still peaks trying to push them up?

            Im now also trying to think of a way to create a spectrum like timeline using some sort of trailing material effect but unsure best way to go?

            Im not sure how easy it is to create but a pitch and bpm readout would be cool features if you're thinking of more to add.

            Thanks for the helping and im looking forward to any new improvements you might make to visualiser.
            Last edited by Magneto; 01-28-2020, 08:44 AM.

            Comment


              #51
              Wobble effect? Have you played with the 'lower threshold' in Beautifier? Could be pretty high, and only react to the louder parts. Try thresholds between 0,1-0,9, it will depend on situation! Alternatively I'd suggest messing with attack/release. Like 300ms attack, 2000 release!

              Spectrum timeline can be done, if it's recording real time, we could take snapshots of the freq values over time, every frame or second or whatever..Then place them along a line. In this video https://youtu.be/5Hb8X3R4TWY I do this, it's actually a single mesh moving along a spiral line while reacting to an envelope value, and every frame or something we get it's position, and spawn a completely still clone there. Over time it would show historic data.
              The tricky part is to represent all this data in a way that doesn't melt computers. We can store the dataset as numbers over time, and feed materials, 2d sprite stuff or whatever. I probably know less than you there.

              Recognizing pitches is possible already, at least from samples with the Synesthesia plugins 'ConstantQ' thing, it splits the freqs into notes and octaves, AND treats the data well, so we can analyze the peaks and get exactly the current pitch and harmony. Maybe I will make an example that takes a sample and spits out the finished analysis with musical info!

              BPM recognition is the same, we have it through the Synesthesia plugin, with the 'Onset' part of it. We get different peaks at the frequencies we want, and we get their magnitudes and timestamps. From this we can calculate BPM. Maybe I should make a little example that does the math and prints it.

              No problem, thanks for all your input!!! Highly appreciated and helpful as you know.
              Last edited by ArthurBarthur; 02-12-2020, 07:41 AM.
              Try my procedural music tools: Arthurs Audio BPs

              Comment


                #52
                V9 released!!!

                Download: https://github.com/ArthurBarthur/ArthursAudioBPs
                Chat/Discord: https://discord.gg/dKAshs7

                No overview-video yet, buuut:

                NEW Feature Examples
                • Independent pitch and playback-speed control with granular player(thank you for HQ voice sample Megagoth1702)
                • SpringKeys, a physical, springy piano synthesizer instrument
                • Granular chord choir music instrument thing
                • Basic Modulation Plugin example
                • Spline-based variation on the frequency visualizers
                • Single frequency audio-visualizer boxes as standalone things
                • Crowd sim early alpha
                • Live Submix Effect-tweaker knob
                Other Improvements
                • Synesthesia Onset example got some more love
                • Fixed up color distribution stuff on various visualizers and things
                • Lots of little fixes and changes here, there, everywhere!
                Last edited by ArthurBarthur; 04-07-2020, 02:27 AM.
                Try my procedural music tools: Arthurs Audio BPs

                Comment


                  #53
                  Ccccccoooooooooooooooolllllllllllllllllllllmanawesome!
                  Thanks and have a nice day!
                  Freelance Sound Design, Composition, On Location Sound Guy
                  Bohemia Interactive Sound Externalist & Sound Community Patron

                  Comment


                    #54
                    Hi Arthur this is superb work, so inspiring! Thanks for sharing your projects too, really generous and educational. I wanted to ask, I've played with your Timesynth example and it suffers the same timing glitches my projects are having due to being locked to the game thread. In your audio explorations have you ever found a way to make a fully game thread-independent music sequencer? Thanks for any pointers!

                    Comment


                      #55
                      Originally posted by wishpoosh View Post
                      Hi Arthur this is superb work, so inspiring! Thanks for sharing your projects too, really generous and educational. I wanted to ask, I've played with your Timesynth example and it suffers the same timing glitches my projects are having due to being locked to the game thread. In your audio explorations have you ever found a way to make a fully game thread-independent music sequencer? Thanks for any pointers!
                      Thanks mate! Makes me very happy. I'm glad we can learn and make cool stuff that don't exist!

                      Timesynth can work very well! We have to launch notes before we want them played, and it will launch on next quantized beat. Exactly same as any drum-machine or sample launchpad. As long as we keep our fps decent and watch it, we can use the info to know when we have to launch clips, and when it's too late, etc. There is no sequencer built into it - we have to make our own, and it will also take into account fps, beat intervals, and what frame to launch on.

                      My minimal implementation in AaBPs is VERY LAZY, and doesn't think about fps at all! So it just does its thing, even if it doesn't work out because reasons. With a "smarter" system this should not be a problem.

                      If it's not quick fire samples, but dynamic music from pre-made loops and sections, it would probably be easier to do it in blueprints, and leverage the fact that we can launch samples at specific times within that sample, and be very specific about it. So you can design your samples for this, and give them a lead-in.
                      Say you give all your samples a 0,2 sec silence in beginning. Normally you will start all samples with start time 0,2. When you need to launch it VERY SPECIFICALLY, you can check your tick delta, be smart, and offset the start time and say f.ex 0,197 to get right on the money.

                      Look at Dan's example here for the BP example. The following link is directly to the sneaky part you care most about(from around 52:17), but do watch the whole thing: https://youtu.be/yce2t85MJD8?t=3137
                      Last edited by ArthurBarthur; 04-23-2020, 05:35 AM.
                      Try my procedural music tools: Arthurs Audio BPs

                      Comment


                        #56
                        Haha, thanks Arthur that's given me some good food for thought Thanks too for that specific link to the tricksy bit of Dan's talk - feels hacky but could be a way round it! I did the watch the whole thing too, some good leads about procedural music towards the end. I've found out a bit more about the timing issue but don't want to derail this thread, so I've put it in my own question thread if you're curious or have time to bring your expertise to it!
                        https://forums.unrealengine.com/deve...sing-timesynth

                        Comment


                          #57
                          I am very grateful for what you have done. How can I create a spotlight BPs that increase or decrease the intensity and color according to the music? Can you guide me to do that. Thanks you

                          Comment


                            #58
                            Originally posted by moianminh2 View Post
                            I am very grateful for what you have done. How can I create a spotlight BPs that increase or decrease the intensity and color according to the music? Can you guide me to do that. Thanks you
                            Hey, yes! Here is one way. Let me know more about what you want, how many lights etc, because I would do it a different way then. Thanks for the request!



                            Edit: Follow-up video for doing many spotlights for stage lighting etc with good performance:

                            Last edited by ArthurBarthur; 05-22-2020, 05:23 AM.
                            Try my procedural music tools: Arthurs Audio BPs

                            Comment

                            Working...
                            X