HISE Logo Forum
    • Categories
    • Register
    • Login

    New analyser module with FloatingTile support

    Scheduled Pinned Locked Moved Feature Requests
    5 Posts 2 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Christoph HartC
      Christoph Hart
      last edited by

      Hi everybody,

      I've added a audio analyser module that contains an oscilloscope, a FFT analyser and a goniometer (stereo-field analyser). While the actual module is pretty basic, the most interesting feature is that you can add these to a FloatingTile (with customised colours) on your plugin interface:

      HiseSnippet 1112.3oc2W0raaaDDdok2fH43lF.ihBzKDB8fCfqgjxO8uCQ1VVABM1VPx0I2BVSNRZgI2kX4RaqDj2h91zK4d6g9HTf9Bz2.2YIoLW4J3JklXDDdRy2LyxuY14GwtJoGDGKUDmUNbbDPbtCs+XgdzNiXbAoSKhymQ2iEqAkaFz1iiXwwfOwwozSM.NkWlj972OYaV.S3AEPDxQRtG7LdHWWfF07m3AAsY9vg7PKqeXyNdRwNx.YBxmRzZjHl2Irgv9LiYKQImxgyhIN0nOnwlpSpe7q1Zyq7v99c1byAClFm3knTfPeD5Nwg5bA93P20mqkp9ZlFvyb4sk9i6ORdlH6UeDOleb.XDpS5ibJCtsLv2D7leS1YDOvu6jTXLAO6tEIzRYIz0n6w84WhWjX+7TEtEdXmZcV55nW82Q54XQukyn28n88T7HcgFC2Vg1Qf24CX3soMsxrk37qzcjnAB8lgrSf1JT3RGV+w0psg6ipU69+3fDgmlKEtRw9RMbfX86W40UJW4MUtplAClkJyKQICB.0rzZpdTWiaqKRBOFTa3dJKHAlXGF4SmZu07kZ8xBXKCkhNBt9fHHWtH4WeFIeRdFC+0O2oESyL2G4XncQfRyMzwoEbJ1yjc6Tl1BhOQKiRsMLRJLmfycz4kVY2GsCjLMWL7PNRaNxf6RsgpSNunIqZywEBecyy395QldhNKQHi.9vQZizegJOd3jVwx25qp9EWXbfqgvBze42IWAsgAtWudovZ3bcgw+1auHEMOjyhu6R2JwmK2RvBFGCJRZdwoA80qVw0s5kouN9U+A2pSrp5FoZ6H7gyQ7FqV4MDx+txF6uj9IAL8zMclgV4JvpkoptMkvhXtdr8PsEnSr1L6DmYwvbR26Q6x0dilMeWZF7EKp9Py274ZqR2cv.vSWP1kosewM7PLZFWpPurBxPDKQa5rcBRXUe9qr1471lcUfYsRd+Vw0doo4do4i6yH00SlX5D2ioUbrQjteRXermvCvLmP.AwlFtkLcFYx0LxFRzGD90lruJWYcirStx5STZe8rVVjrB84rSgzc4o4j0RkGHUgtOEDfxTmcMKy+i2+KyOvSiL3PESDGIiwoRVm7Uz0vVWKPmHl17LnorxDcswnyxta2bBXCavtLwTGFJO0IsG2Zb4e9jcEL7dtOfQi+AwdXvll5rJU5lDDCO2LHstsiEvMrguZg0b1TL8XKK6+H4eg79e12++Q0klO59eLio7DN1mGFE.6JNEBv004ymaACXIA5KQsI4dRgLZjTv8rqu5A3ffgCgopglY7rkVi+A3Bj0Z1CB.VLXuA+YbAvTXZBdGSE0m+Tw0cc8kzL55ZlC39owF1ReBsg8CQCJNp7ifa5ahEr2DuiPlmR9RurOdwz5c6TDLtEoe.bY7KwQY25jzOnIK2DhSueommo13avryr8nwB6wCVXOd3B6wiVXOd7B6w2tvd7cWiGlUkaknkgY06Dx+.HHyLRM
      
      1 Reply Last reply Reply Quote 3
      • d.healeyD
        d.healey
        last edited by d.healey

        I'm getting a few build errors

        In file included from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:160:0,
                         from ../../../../../HISE/hi_backend/hi_backend.h:55,
                         from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                         from ../../Source/MainComponent.h:12,
                         from ../../Source/MainComponent.cpp:12:
        ../../../../../HISE/hi_backend/../hi_modules/effects/fx/Analyser.h:268:9: error: field ‘fftObject’ has incomplete type ‘hise::IppFFT’
          IppFFT fftObject;
                 ^
        In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:303:0,
                         from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55,
                         from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57,
                         from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54,
                         from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61,
                         from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                         from ../../../../../HISE/hi_backend/hi_backend.h:55,
                         from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                         from ../../Source/MainComponent.h:12,
                         from ../../Source/MainComponent.cpp:12:
        ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/additional_libraries/additional_libraries.h:53:8: note: forward declaration of ‘class hise::IppFFT’
          class IppFFT;
                ^
        In file included from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:160:0,
                         from ../../../../../HISE/hi_backend/hi_backend.h:55,
                         from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                         from ../../Source/MainComponent.h:12,
                         from ../../Source/MainComponent.cpp:12:
        ../../../../../HISE/hi_backend/../hi_modules/effects/fx/Analyser.h: In constructor ‘hise::FFTDisplay::FFTDisplay(hise::Processor*)’:
        ../../../../../HISE/hi_backend/../hi_modules/effects/fx/Analyser.h:261:21: error: ‘hise::IppFFT::DataType’ has not been declared
           fftObject(IppFFT::DataType::RealFloat)
        

        I'm wondering if I need to update my version of IPP... also are IPP compatible with GPL?

        Edit: Updating IPP didn't help.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart
          last edited by

          Ah shoot I forgot you need IPP for this. I‘ll add a fallback solution (the fft performance is not super critical here).

          1 Reply Last reply Reply Quote 1
          • d.healeyD
            d.healey
            last edited by

            Aha I realised that although I'd installed IPP I'd forgot to set it up in JUCE.

            I found this post on the JUCE forum very helpful - https://forum.juce.com/t/intel-ipp-free-community-licence/16677/26 :)

            These are the linker flags that I required on Linux Mint

            /opt/intel/ipp/lib/intel64/libippi.a 
            /opt/intel/ipp/lib/intel64/libipps.a
            /opt/intel/ipp/lib/intel64/libippvm.a
            /opt/intel/ipp/lib/intel64/libippcore.a
            

            This new module looks like a lot of fun, I don't have an immediate use for it but it's nice to play around with.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart
              last edited by

              Fixed now. There's no fallback yet (just deactivates the FFT Analyser), but at least it compiles.

              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              24

              Online

              1.8k

              Users

              12.0k

              Topics

              104.5k

              Posts