Forum

    • Register
    • Login
    • Search
    • Categories

    Unsolved Spectrum ballistic (display buffer)

    General Questions
    3
    17
    135
    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.
    • ustk
      ustk last edited by ustk

      @Christoph-Hart Is there a way to modify the ballistic of the FFT like the buffer size (important) and window type (if possible)?
      The actual window seems to be Blackmann-Harris but it would be nice to get all available windows

      As for the speed, I'd like not to resort on averaging the display buffer from a getReadBuffer every 30ms or so... Even if it is quicker than 4096 samples (the actual fastest buffer size), that would be dirty as hell πŸ™‚

      Christoph Hart 1 Reply Last reply Reply Quote 1
      • Christoph Hart
        Christoph Hart @ustk last edited by

        @ustk Yes I've added this recently. if you click on the edit button (where you can assign an external slot), you can see a new entry called "Edit properties". This opens a JSON editor that lets you change the properties:

        6f72eb4e-d2b9-4494-9801-2b893c936339-image.png

        Be aware that these properties are not stored in the network, but you can set them programmatically using the scripting API:

        // only works with ring buffers that you have registered as external.
        const var dp = Engine.createAndRegisterRingBuffer(0);
        
        const var mySpecialProperties = {
          "BufferLength": 4096,
          "WindowType": "Triangle",
          "DecibelRange": [
            -90.0,
            0.0
          ],
          "UsePeakDecay": false,
          "UseDecibelScale": true,
          "YGamma": 1.8,
          "Decay": 0.2,
          "UseLogarithmicFreqAxis": true
        };
        
        dp.setRingBufferProperties(mySpecialProperties);
        
        ustk H 3 Replies Last reply Reply Quote 5
        • ustk
          ustk @Christoph Hart last edited by

          @Christoph-Hart Wow great! I didn't see this one coming! πŸ‘ πŸ™‚

          1 Reply Last reply Reply Quote 1
          • ustk
            ustk @Christoph Hart last edited by

            @Christoph-Hart Hmmm... What did I miss?

            The properties are not applied:

            HiseSnippet 1920.3ocuX0raaijDtorolwZRVLAHO.D9DMFGEQGGG6MHH9WkUXicHjbxjAAAAsIaI0PM6lKYqwVyfbeONWydZdAl2gbbmmf85tu.KVf8AX2p6lTjTQN1QXlvC1p65uup5pqpH8SDAjzTQBxZkSmDSPV2vt2Dtb3ACwTNpygHqaa2t8oN6OteeRhygI3yo7An8mDiSSIgHKqkdhhSqUVFoe9OOdeLCyCHEagPuPPCHOkFQkE65u6elxXswgjSoQk3dyc6DH3GHXhw.pVxtEJFGLBOfbBVwVMajU8iBoRQROIVRRQVKuuHbRughy4F9eAMkdFinV3g5AJxrcaAKTgX0tnCFRYg94deJBzheQrXISr311GSCoS2uHl70ZBNERTNdXUqJ7VpB77JCuVkf2bfjUIHYafzsr6EjPikETT34qr6vkjj9XHrWFJmLN5PZZLCOwb9Anw1pFDjMJAU6Wpaef.DkKaFgGQZm.KlpJ2sZ0ZcG3Oq8vF.WoBFoY.ifSbgMZ.GRoRmuGm33i4DlmyibxU0.h7.QTrfCKbW0PdUPlBQRgC2.BHhNYSIPEb1SS1cUCLcZ+Rs3MLZpYHVhadlIg7QYp5CTgaqpfLLF38H9.JGbhDBbzrGOrKY.ME71tPNcYwZb269nq5wwu6y7Op6ocNpmyUxbIfDMoWLIfhYvQXLIQRIo.x9wFNNqZfvSI7Axgq9Gc1r0NastZ+ukxCEmqR.fcW8zDJlOfQVUS6PPWmQXcgsTTeErmiyc1oUyVqq+I7C3+uVy6ySI9D7HPD7Df29XVJImPld5EfYJ8HSFaH8cOAGEggc7ZtctA0R2p4N4x9Tw.bBUNLhFzNg7W16BZZlJZ7VUzjxYPX2o+XdfjJ3NB9YBoTDoxWRDL2f7jk0gHDaLYsF+XiUlSbpYYm8UsdMD2z7+vFqDF2LkHKNGKDxcNJBNieqNmdNoqFns5ZJ8kAvCvL1YPQH2Y.9Zy24BUQnEw2vS9cwiz34xbnxfU6OPt+UmO6b7dcNwom+QGbZ2me70H+O6pK.AenHprqXrDhZt4QM2A53xfl8gdB6wXtl5+ovc8jQCRHS.nAT0dfhvT5mOjJIFhgPuIerbnqbHM0TjHFVttyqfpXdq6n2FhLeKMDXZshM9SD5fgR20dMvVS08+2pCDEPV0fJYZLaJl0PtpwfyuhMLknxp1nQlBIstdH4U2AvhFPZQti2TzUxjImMOCBJpKAGlUPapDIjXUn2MyAycOINw3ft2yT6qQoT4SDRxyx7zFusgyrj52etzxxmXJyOGxFy8QDzkON5LRR4qLJFglzUasZe4sVK24OvbsnDiBdGNU9rXB+xlG.kcWBZCWKCU.qRcS3+PVS3dLZHIAQgdsegs9hDRC3rgY9428t+0iQWCg+RaSYkJRi9G+2tuG87NGBmrpYAxvSwUdXuCIeOLXkYxfUrOjjNRJhAKM8xOLqjwp2LetA0odlQMY.nKTCEDBFbR9ONWkWpV7SVHzPcNoZ0eGoCKyp5ORz3hhw5B2cxzE+yw6FYlY7u8N0yu93Hrl095m+8iKakUt5vVgY1c7bMiABe26yLS1fluOjzGOlIeQ4ntlMZXHi3KRopzxBJm79HQXVnV2HBlhsXBskMmCvrghvwLrr5.ipojyHnzY4ozTCbwAaMo7Tz+lME40Eh2x1mJCFNeLVaNXTcy32ALlM68MsOBJeEHK.3x1se4mgAsqareir7MvlJieC6hYQmcD6SwfUziVaoRRl2L2KULys0e0tnhWrpnbB4TgOvuaJNJlQ5Bdy5NmwDAi5Q+AxGVlL1.18Ub3FLDygqwoKR0z5W63m2G+3yzNevwXYBUUNAhAlQ3OHCc4u2Q15Vp0pLndDdndw+CdxH5kGIUD8xIVTOFcBQdtHYj9fK62P1g4TJUGjeS+K7PvXDhyUERnY4yvokdOeAaR7PAmFn1xvQNR2KRLlKygqUsSzW3saiCf.0DUSb0MEUCEHsT0beZ5YEaWjgnhXJkj+BsF+FLZjt5l50YWRQW4MKkYMi5DoAvvPpKonOv7IjlkH+oYMkCyHWj2WYlj0Y2AV2AFR7B08u6.MJ8wIv6gKMrVe5JvTGS4YURssg25.cL9hoq2DV2SRhUIzp0vjL5fVcUkHBZlJve8tnRJtdghqauQUMuBrA7TQ62FrtWKyi2l6zxyaKH8cD4bSTzvvFaryNs179aswF2aysev12O60nUu9xXBOXRYH8MO3d28mp.oJ9pWEDU21aqKwYugV8NcUYinJhittwQuKMN9D3N7kqzkuJkpTxWX6ODmVRKsVDsTW2paVnTL0BBUJKutc+9xMpleeSaLGyljRZBz9LkaqqqUN0ddHttIHo+DHUg7Mrif+a93Hyf3xe0oq.80pb2x5S+3yr0LGek8iK0C0c.Uqf960L4pcReghZ.lkqQnj39BwnHrt16BMZ5mkNEQ3fDwaBLM+TN2Wp2ANC35Og3J1GqV63kOusITAS8QeSPPdgt4KyFKfL2aAjYyEPl6u.xr0BHyCV.Y19iJi5qot2XXTdSiZXC+izIWVVGwUSWoG0B8+wKXyED
            
            Christoph Hart 1 Reply Last reply Reply Quote 0
            • Christoph Hart
              Christoph Hart @ustk last edited by

              @ustk have you set an external slot?

              ustk 3 Replies Last reply Reply Quote 0
              • ustk
                ustk @Christoph Hart last edited by ustk

                @Christoph-Hart Yes...
                In fact I've just realised this has to be in the dsp script...
                But since the scriptFX parameters are consumed by the dsp, how do I access these properties from main interface? because I can't use parameters in this script...

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

                  @Christoph-Hart Here's a snippet where I want to connect the interface parameters to the dsp ringBuffer properties

                  HiseSnippet 1861.3ocuX0saaibEdjro10pIE6BjG.BekBpihnsiicKB7uRYEZrCgjR1cQvhfwjijFHxYXIGs1ZWj2g81ceH5yPtr6aQA5U8lh9FzdNyPJRpHG6Hzt7BaNmybNmu4Lm+nbikdrjDYLoxFClEwHUtmU+YB03SGS4BR2yHUdfUmNCrOY5vgrX6yhoWwEiHmLKhljv7IUpr1ywcVYi0I5m+8gmPCnBOVNIB40RtG6E7PtJmp6Q+YdPPGpOa.Orvt28ntdRwox.4T.UqY0hDQ8lPGwtfhaqpEoRs19bkLtuhpXIjJqehzeV+wxqDl8+ZdB+x.FtvgzGTjgbGYfOhXjJ4zw7.e2rSeBAzhatuXMiu3AVmy84yom6S9BMC6bIJ5OpTsL7VqD7bJBuVEf2RfTkBPxx.ouzpuWLORkyAwyuypqPwhGRA2dQnbwzvy3IQAzYl6O.MVUpBNYiRHU+g0rNUBhJTMCoSXchgEyUUi8Z0ZKa3OO7OUG1UhLf0zKfQia.DpCWRIJ6umFa6REr.G6mYmopQL0oxvHo.VzXSC6MAYxEIAtb8XfH5fMTfR3rulciMMvzty2nEutQSM8oJZyKMAjOKUUefJZfntd8G+X6mcaO1meb2Kr6619zA8d04299yvQBS4BQDpdxoJtf0X3TgmhKEMF8v5+X8MF0bHDfebPPCSvbB.73IihYy.jAbSPuDxXN+qFyULCSeHQykpF2PMlmXNwQvxsreCbk3rkslLbl+ZtOroGlS3qX7QiUMd32AaqI5Cdm1OjCYLaK9TZPvkPZUNl0Ptrw.maNAi+toWLChp0HCQRq6FRdyi.rnAjVjG4LGcELY7kKyffh5wn9oWpykHlEgt9FoGvrimhFaNfM1wb+WO6.ZKEWHUrWldRq+t51KxZ3vkxCipikAAn4WBai49HB1PLM7RV7VPfevT17MBUbJWmv5lqSTrLlmIIqvFkhtBt5kQLwMUbijlYB0TplhJXqJcEkeeZEk9AbeVLgCEN9LKelGcFQC3zJy1+0m+OOjbGD9ystTpTxvRRezN+iAum7ptmA2rXgsT7.XLhEq33wuxYruG5RXJysg0YrjIJYDXo4kRfB+Fqd+rhf3sdpQMQ.jqwJb9fEmk8xUXbIt3mpPHi0wj3p+FQ6VVT0eDuw048n7OZ17E+8oGEZZ.9K+L97qGFR0acn94ecXQqrws61xMyQSWpYLP3aeepYR6Z9de1P5z.0qK30Mai66GvbkIbLrLmyEuOT5m5p83WBNRRg1MqatGfFcR+oATU4teXK+TFnNK1xA6dH.aMq3HA+Oqk3cEheokKW4Md4Xr5RvHlY7+ALlNHw8sZCku7T4.bcqNeyuASMTyX+5owafMQieOq7FqKNuv.JXE8bBUvfjkM.wZEFf3vpV4c08ifJ3sEiflgoMJNV32iMhm.STzClabgVy2dmY2duzscuAca2+NzVNGHgy5GAA0zf7BL.x9w511aZfvKXhQpwa9Gs2s0A6sER+q4Be4Un6Bnt4fXNULJfsolWZBROfDx8M.Ma6GcPKncl9U3E3+emduuJg4xnSNCKY.6cHMHgkwHUO88nAndTwSMr91mSCCo.Eml6mYPszsZdv9YB+B4HZLWMNj60Il8WN9ZdRpNp+Nvc5GgM2ycx4m7FKwafW.y6TEgMSiYCjtv8biDZXT.qGb4sk8kARuI84+.6CauEYBxNA2QCuwTAT9MYU5BV6NG267wS6LigM5bpJlisAfXWybjmlhtrgeSW2BWiY98YBe8h+C7jxzIKC.Y5jwLuOJ4Bl5JY7DcBW56PVsI6JQmb71gW6Pfw+jWgM.3o0gfrLMMWYvrnwRA2CIY1QFRONTNUnxfakpWnKTa0g5ANpY3vWXENbP.nbBNT17xJkrcdlM5wPkj8UUlyMXzPcWI7apVC4iml0RslQcxDOXHVr3J4CLeLqYA1eZVCOvArqylGXghLKRAV2U3ytFqa9HX.GWZL7wfJyVqMeEXpy4hzNfVVPZI4b50yWuKrtuhEgAz3ZXBTsSqF1AgQVny4WbDofhqkq3ZVaWVya.DfmRZ+Af0cZYdb18fVNN6AguSXWY7hlMr81GbPqcexdau8N6t+S2+IoeKGldOkI7lUDR+gmtyi+oRPpzY0oDhpY4r2MbXumV818vnQRIwI2U+nyM5GeNjCeyJc8aSonR9LK2wzjBZo0pnkZ5QTVDJ4SaRHEhxsrFNTUN799VTAMXVBqIxpTKxaIvtjQ9TixqlFkaTbanfouOyWKdVEnhg9oGhZF+l9SyKeLtmUH7eyGsuPBZweMja4LUsT5VkO8aTCoEtQK5mJcnJxQOLCtZF5bzgucSdMxE5gloQnJ4IR4jPptb7J8UF+lz7Hj5EKeqmoeHd39bME3NPn+os1v5bbssS1mNYbUv.77254kU6a4xr8JHyNqfL6tBx7jUPl8VAYd5JHy9eTYvekuimBeUlo2MPvssIarRaANnrtj.4+BB8N13.
                  
                  ustk 1 Reply Last reply Reply Quote 0
                  • ustk
                    ustk @ustk last edited by ustk

                    @ustk Never mind, I found it, I had to manually register a network and disable setForwardControlsToParameters

                    ustk 1 Reply Last reply Reply Quote 0
                    • ustk
                      ustk @ustk last edited by ustk

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • ustk
                        ustk @Christoph Hart last edited by ustk

                        @Christoph-Hart The analyser buffer path produces plenty of artefacts:

                        Screen Recording 2022-05-14 at 14.59.43.gif

                        Although the code is as simple as it can be
                        This happens 50% of the time after hitting compile, so try to compile several times if you don't see the issue
                        It seems to happen more with highest buffer size (like 16384 or 32768)

                        HiseSnippet 2149.3ocwY0saajaElisobrVmfDffhd4Ti8BY.GgYjkUraw1H4ejsPrcDr75cMBBBnmgRhvyecFpUVcQ.ReE5c6c8In226xqSup6aP6gjynYFYoXas6lJH3Qj7bN7iGd324vwsC8snQQ9gHsUNeT.EosJtyHOd+85SXdnV6iz9c3lMOWe2Ac6RC02OjLj40SeSztiBHQQTajl1hGJjUakkPxO+7q1k3P7rnocgPW3yrnGybY7zdaW+0LGmlDa54L2LRWsdKKeu87c7G.3ZQrAJfXcMoG8ThPrEvHsBGXy39gc3DNMBoszt91i5z2enmR9KXQrqbnhFlnNfgTc2z2wVfXQun85ybramr9iPfUZm5MVT4MdN9DlMab+odkmJGPOUir9CsExCuEyAOyrvyHC7lBjzx.IrBROC2wJjEvSGQfmuB2xiSC6R.2dVnb5.28YQANjQpcP.MXsE.mrxHnEnKh2yGT0iW1kbMsYHzXroJYVwvXC8ZFFq+mJVD1Th35+.ITuMwi5Xp+M5Ip1ix2y2Mv2CZTZM0vqA5jpRDrYZQAUjgWBExgqNxgKslBV5M+do5EUVprMgSJekJD7ahM0sLQIIHSTIhxaCaV7y7GvYdzRcG3YwY9dk5sdwer3J8DBnBwJodDUdHi2ugSPex3d7CId8nanaT9kasNXcPMa3DPaBueIdeVjBXAPyMzeK3nfuxtAn8cLaPn0S63HJqWedo0emvbaYnr1CCDlwXnKbr4WFF.67gI7Vhyfg6QbbtBNrk5tjdq7yCrEj1gZWorUHEh0kf5A3Hd6KLKChJ+C78EluS1PrJkRGRCD6gkhgaBX4jPEbKsoZOO4SBp088N0mSeSL7K9gh5SNT2tScLQ.cnuiCX6oMrZV+LJVxaf6UzvMfXdmAzwBBjK4oDvylRHKikk57UFA88Z4w3uIf5MKdLT7gR3Weaq8g8HAORbefbAzPNS.As8o+.PJqXUVAuOM5ZtefT13Sx.OKWN5iS3bDa.HFvr7HrZy.cSVd6QYaLTrwOtC8+d89xM9w87w+VcTF5skT.AHV8sG3P34YaEoXhG.724n3DrUdQL9nrof9UiB99Bwmgay3V8mNFWXJXD1U9s.iwItdL9.3boEOEfKga98eAxRUPM+EiiXf4TL4qhSI1mL+z4DXVj4kzfkxTSXsXlDVueAblzJdTNPGcfWOfiOlDZ+nfSo7g9gWWZsHoRuu6MxzIfvBltl9gCIg1wmXiN2uMIDpr.x4EUpKwIhlOYmcvjyPCO6yn8XQfFmAUCkM8SpZti5DPsXDmzybfc9wh55qoT3XpWOd+09i5l01b6paHF36Xd19CEdPn6010AXhcIddGQBCYQqIEYevlWQcNSjS.D5sPe5.wogAvgJ+M7C346jB+sQz1Tx0fNjQfvxEWx.wFpiEwQXHd3.0PWdHw0kHfkxhqknMj0JQ2i86QBgDUtLqlgz+Ria.zoLQwO.NA6.gaN00j5AJMEuRJC9X5z.AweHE1Yf3fRQD2.G5YfieC8qb7sttC6uRuMGbfJHbWgDkr5C9MpSz7PUW3detv7yerTU6QuSH7PFvShgXaUcN6EitjhwhaaHZKXF5P8rkM9uvm3AMSNgHFzLYvTxdsBwqK.N7XdJ0YFfO+J+c8uQRb+T7UYh916Jjb0mRK86qitW14I3giCVusUd5ssxShsRGGlMMTZiUwxRaN1+0d2xBW9oGfENhMEKDmI7NrvWgUA7Sy.2qEwxXawAjbJ+O9oe5e+JTLKjfgbg3eCaaJ5vThIzE.uiHeAXI3raYCTCGG+ghjvr3LI.Ooru19NiB566wrDcojHIVpgq+.QFaU.kl1o91.ZvMIVPn7HQgYhbTh5IfDBhB1FmXHGXR4lEwzBijbOLUjILotxJCD2BaQw3hk2hwylxb9QVPAphzinaM8gzxYF9gMahErC8ljRZlHMwj8.sa4YSuQj46EPcRoj7hyJiaAS0ILuKTadXwN.5DxMiaWEZ2gSCDTNh1.onzoUPTC.EkSNTFiVH0nEvUxa0UfNLDD1Yr7ygY1zP8wr5NFll0.xkqoCUdPk.UpryNFU2pVkJaVc6Wt8Vw27SPAOf5YMJANOCaZr4Vk2VXqsL2rVsbPK250LGxJfMqMiE7pxoQ+LQDIJm5n6quzbl9xCAl1YazktKiJLxx318IQYrhw7XkBxBMmDJoEMiPYhzw3tc44CweLl3QbFEQKKF5KS3sL4S1n6oA3BJejkCkLwoxUwtvyxpQxi3ruuj6.8Kj63k1Ce2S00D6dYWGybEJK+TzBJtdAUnZqnKDiBk1jXQfULOEbALjbm++cx2XXLWzt+xcIy08CKj49gO5gToQlqJ90Yup3WW2kHJORq.zfwotvj+G.JrJUKVwn51EqZrSshaatSkhxJkKtYkWVaaT9qW9w2N40KQ+YQ566ERmnVlYgySSv4xo3rN9L3VVPMHNzhSTudwif5Jfx+fmddEeMgEQCKddHSIbSH75bvc9.WFO49ULUlk.K6RnUcWlssCssObYTYzcxDe9mhFSMmTCy+5UtYewtW9I45eru4SQv9qrvVrt8tHWYPuHPQdwh6dk0pNmdCWbWwyZb5gGne7aP1ztjAN7KlRsficAO99UM3rbAHzLbAnJ2oK3iWj2EfP+J6BNpEJ6Rck6UYqY.znIVoYAa834ZE7k5G13jSZLCuMZVwHneNiyP5axh0kuyJjmENaUOEme74+y+yqlBtjUTqv+x38OXuFW9k45UtDqP+2aE+pB.lxGI6AHg8j+yHVAehnstYR8+pTWfGj8dKqjZOmtNUlCc1bNzo5bnyVygN0lCcd4bny1eVcD+eYZLf66pReCcz9.YVNMsC7DupI46cB8+..XsOx.
                        

                        I thought it would be better once compiled but the same thing happens in the binary
                        I don't always get it as bad as it is in this example but in every attempt I still have some artefacts here and there wich is unfortunately not usable in a commercial project as it is...

                        ustk 1 Reply Last reply Reply Quote 0
                        • ustk
                          ustk @ustk last edited by ustk

                          @Christoph-Hart Some more debug info:

                          Strangely this only happens to the first external buffer when you create two of them

                          HiseSnippet 2187.3ocyY8zaajaEmx1TNVqSPBPPQON0XOn.jHLirrhcKZirrsrEhsifkWuqQPP.8LTRDdlgZmgZsUWDfzuB81dqeB58dKm6GjBzSc+Fz9H4LZlQVxVV6lfZj.YR99yO93iueOJ2JfaSCC4Anbqb5v9TTtUwsG5K5sSOByG0bWTteCtQiSMpOnSGZfwtAjqX9cMpfpOrOILj5fxkaw8kxlakkPpe94WUm3R7soISgPmwY1zCYdLQxrsp8ZlqaChC8TlWJoqTqoM2eGtKe.fqEwln9D6KIcoGSjhs.FkK+dNLAOnsfHngnbKUm6LrcO9U9Z4OiExtvkJGXgZCFROcCtqiDwxYQ6zi45zJd+Gh.qzJIZrnNZ7T7QLG1n4ShJOVsfQhFoiG4VHK7VLC7rRCOyTvaBPJWJHg0P5I311Ar9hjUj34qvM8EzfNDHrmFJGOvaWVXeWxP8IHfFbtEffr1HnE9WKh2gCp5KJ4Qtj1H.FLxTEsJaZ9bipllO6OTn.bnDJL9ARfQKhO00x3OZDqZWpXGtWetOLn3Z5kWCzIQkP3vzlBpnRujJjAWsUKWbMMrLZ7cJ0KnsTIGhfT5BkflfIz15F1nnDk2TCqaQCKoSh0IjJZAmuhS3CDLeZwNC7sELtewtOqvOVXktRAzYkE0eDVhGP76RAi.q5.2MZQD8JJ5wB0.nOLDheuE9O7O07.D9VlCH0yRl3.JqaOQwm8NPrRaXpM2McF46GPtUWYockk48yYeXrff71XvNDW2KfqcIQAUPXr8FDZSlI5.pjc.Ex6U36drye6KrJIAeIsJuv5cpAxM7X6xI3TqOSNMf1WlQTLJJEGiDj.cTp35paFi9INXYv8OlKnuIJpU3CELFeoNcl3ZxaTAbWWv1SZYsWuEEK5Ov6BZvygKctCniDDptkslDd50jRWxzVeAOkfb+l9Lwa5S8mVgTTTUA329ll6BGRxBYQyAx0mFHXRHjaW5O.rB5xZqf2kFdof2WIaToDnPuPs5CiK5IO.PLnz1Cv5CCz0oINFldvUxC9QSX7Wq0ScvOZlO9WpgRUecIMPfJ6bmAtDQ1x8RNtnEf3clZrxxk9gLwvzbf+pwALqP7I3VLgcuIiwEl.FgSkOGXLh47g38fKl1hD.tDtw28EflLu1+EhxX.eJc9p3DlkwIHOk.dQQLlC1J2Ii4+bAbJdMep.pGsmeWfwHpHztg8OlJthGbYw0BUJ89NWq3y.gkEXavCthD3DciM7TdKR.zZCP5FVrCwMjlks8j5li6hs8cNg1kEBpbBzOVJ9uzpYMapYk0cdCa2mZyHtI2UA67iELLVSqvgT+thdq86MVu7Kqt4ykK7sLeG9UxHOL8Z0cAhCOhu+Ajf.V3ZJQ1Er4ET2SjDlfPuEly.J3ZZB0dU+N7KvmuSI72DRaQIWB5PFBBqBJwKDYn11DWogDACzKc99DOOBLik1hqEqMPyEq6g7tj.lnmGytQ.8629Z.cZST3CPP.hzxymjXSRHn3DBKPbCBx2SMFmonujiIfBIAPJWwPhWeW5IvY0yMtvkaeYa1eldyx880460kRTztGDpotgyCqP9Y9Jn0sWAP2zT2iHh.FTRFCWiz8zsSD5huFEM1TNVVDpM02QM3+B+DsnU7kQ4hVwKlvqjKez9BfiHpjn95IPcbAuN+ZEGwiwWjJgcmKPpceREveaMzLYmGguZT98MsxiuoUdTjUZ6xbnAJarJV0p3g7W6eCKb9mtGV3.1DrPDo6cXguBquiLICLSahkwNx6TYT9u8S+z+9UnnBdxhwKD86vwltxaRMPzYPINI0DXI35dISz1tt7qj78rHRKnjrZtVb2g86w8Y1xozRDmKssGefr4.cBE3PtCfFbChMjJOT1CnjNT15Bv8PCJYOhCJCXRnAj4zRiD+lSclI3TOUSHxWbtnbc0qDi7l1b7Pa3MrRlXzMbe.sTpkuedStgcoWG28zXLRiOCLtouC8ZII6KfVxR3Sj2UFMBb0QL+yzGdX4I.5Hx0iFWAF2VP6KK4HGC0QUAs7x1MnnLxgRYz7IFMOtbVqtBLgorFeJK+TvyVl5erprkokUUn3xkzqzQPs.kKu0VlU1nZ4xqWYyWt4FQuxUV0d.02dXLbdB1xb8MJsozVaXsd0pYfVl8qUFjkGaUcJa3UUtw3DYFIJi5nYMVZM0X49Pk1oazktKiJMxx3V8Hgorh47Xk7pdZGGJI8miPoxzw3NcDYSweHl3SbGFRKIW5KS5sh7Ic18TAbdIfs9+ADac2HNu9T01kRFqNxpXO3yR5Uxh3zeaV2A5WHSAgb2+7M8TikukdeL0cnp2b4H3kGKnub0L7L4pP+awVDpiWmygVFULHnrDH4wPqIhOOTG4lcpiHXLWjF+xCOy0Coym5gzO39zmTp2T+0oeS8WWyiHatKWdX.SP8.m+6fBvkqTnrYkMKTwbqpE1zZqxErpt9lUJndf.J66v+3aG+c3n+jr4iYBoi0I1zv4ww3b4DbVCeB7bTnCJWZgwdfRgCfthflWgO88K7ZBKjFT3z.lV3FP50oP37dtMdzr0JXps.K8VnYMOliiKsEGd0tJ6N1wm9ovQDKwcf8OdkW5uB9y+jZ+OJ17oP37U0VN1voNxSkzKSTTuj5t2YMqInWKjOp9jsOd+8LN7MHGZGx.WwYSnS1QgfGNa8xNsP.BMkP.p7cFB93YYCAHzuxgfCZhRuUWYlZ5NEfFN1NMMXqE4qUvmar+1Gcz1SIZilVNB5mSELTwlzXc46r+9ogyl0Rv4Ge5e++7pIfK06Az3eY7t6sy1m+k4wgdD6.96si9NUfJkOPMCTD1W8mMZE7QxwFVwudQSiAQP16ssi6bdx5TdNzY84PmJygNaLG5TcNz4kygNadq5H+Kns8.A2SSeCSzZOEKWtb64K+N4TeAcn+G9U3qj
                          

                          Screen Recording 2022-05-14 at 17.35.46.gif

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

                            @ustk yes this is most likely a multithreading issue between the UI thread and the scripting thread. Iβ€˜ll look into it. Itβ€˜s on macOS?

                            ustk 3 Replies Last reply Reply Quote 0
                            • ustk
                              ustk @Christoph Hart last edited by

                              @Christoph-Hart Thanks, yep macos

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

                                @ustk I couldn't reproduce it consistently (I can imagine it depends on your hardware because the glitch only happens when both threads access the same data). I've pushed a fix, but I can't ensure it fixes your problem.

                                1 Reply Last reply Reply Quote 0
                                • H
                                  harris rosendahl @Christoph Hart last edited by harris rosendahl

                                  @Christoph-Hart

                                  		windows.add("Flat Top");
                                  		windows.add("Blackman Harris");
                                  		windows.add("Hann");
                                  		windows.add("Hamming");
                                  		windows.add("Kaiser");
                                  		windows.add("Gaussian");
                                  		windows.add("Triangle");
                                  		windows.add("Rectangle");
                                  

                                  It's great to see to customize the spectrum analyzer, well done! In the source code there are various Window Types. While swapping them, I couldn't see any difference on the spectrum except Rectangle type. Is there anything we should know about these?

                                  Except this cubic spectrum, can the spectrum type be changed (for example curvy spectrums like below)?

                                  alt text

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

                                    @Christoph-Hart Unfortunately that didn't fix the issue

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

                                      @Christoph-Hart Check at this, it appears that the glitch isn't from createPath but within the buffer itself.

                                      Here I use getReadBuffer/getResizedBuffer with a sinus and you can see the spectral trace of the first harmonic as we should, plus the oscillo trace of the sine as a glitch at the same time. This means the buffer sometimes contains both sets of data so it is probably not clean as it should.

                                      Another issue -> the data are spread only on the first half of the buffer (for instance the full spectrum goes from 0 to 128 in a 256 length resized buffer (or full read buffer), the remaining are zeros)

                                      When using createPath, it isn't the sine that we see as a glitch, but it might be the imaginary part
                                      The problem might not be a thread access issue after all...

                                      HiseSnippet 2268.3ocyY0raajbDtojFJqYsMrALB1iSD1CzXkomg5GKua1Xp+nMgsjID0pcMLLLZMSSxFZloYlo4Jwrv.NuB41dKOAAHGyM+JjGibJ6aPRUcOCmYnHsnztqQDrAU+SU8WUc00WUTshDtr3XQDozRGMrOiT5lFsGFJ6sSOJOjzbWRoemQiFGYs8fNcXQV6FQOiG10Zcx1C6SiiYdjRkl+o3dKszBD0O+7S1l5SCcYYSQHGK3trWvC3xrYaU+4be+FTO1Q7fb6ds5McEg6H7EC.bMugMoO08TZW1ATbayYPJUdOOtTD0VRkrXRoE1V3MrcOwYg58eLOlehOCG3PZCJROcCguGhXbVxN839dsRs+XBnkVYdi40di6YrO2iOZ9LuxcTKXkIQd+Qo4JBu4K.Om7vyNG7l.jJkCRFZHcWi1tQ79xrUP77YFMCkrnNTvsmGJGLHXWdbee5P8MHfFiRyANYsRHy8Ol2XGAHZnrZ.8TViHXvHUUwols8JVaXae+u1D1VrvmU00mQip.SXB2RwRqefFY0hFx7cr9FqTc0kI2QDzWDBCprrd4kAYxDIFtccYfHp3MTfB.ssZ4JKqwoUiuWItoVSU8nRZ0STazFTgVWWPGUPXmWh9TYO6bnzMhA2PsfYQ6Ih00B0oMbNohEyjsf6b4ghARdHqRmAgtRtHrR26a9ilK0E2fNRsh9i3phHZXWFnOXUO38hR8xd73bXXEqWC+G9mZd.2eG2CAQ1DOiw61SV49uA1V00QC4cn8mGX3qlncn99m.OOxPlBXO7gJKAr0rSNwegZ+PVL+Oy7RbSN10VaEKGDxWhTzTQv8ZtzXVUVnwEVIVRijGvNq8fST9C6pn8W0VqmNhHqJ7uw9qs3+AEBp5yB6J6Ai+xu79lKAFzEznObcbjnB+g4E.rhGnF+Z9aPU+tQnLh0GuGqj3HS8hHrT9wJ0TA4Y+j5OsDgGHjrWl3XMemo03K0oyDWCixhD99n6ZBKqO1OhfUBGDbBKZE34h+.1nMBIpJldwX5oWxm8yUGzmaihvlgb4K6yBmVNQRxKE3291l6BNeLmTxbv95yhjbDBk1k8CPBdcFpkL1kEepTzWs2jj.PNaoZ0akl+BuAHbHK0MLz2FjyyyALL+fyvmGilv5uVum54wnYd+eoNIWpxEz.ARRK7F3SkEybizUIK.96BoKwLegwb4v7zY+pkNeVg3cMZwkt8lLFmaBXDtU9s.iIjf2xXO3MuqLCfKXz36+Dv3UVe9lIQLvYhG9MMx3DFmq6HJbJJNtRfoboje+q4LxwHExjPlu8B6BYVRnF1Mt+AL4YhnSqrbrRn214bESDrYLGbCQzYzHujWrwGIZQifpT.9y3Jcn9wrh7jGts83GwVgdGx5xiAQNDJsJGyUdwblMwbJdbACa2m4xo9YuUA87ilVVKqE3EprlK+UVa573Zq7vGtZsGswlqfq+c7POwY3E.r5xa6CTLAzvvmQih3wKq1xtfpOg4eHR2Aa50vbVVOvwFysq9c3WfOeiZyeaLqEidJHCcHrYkuIcgDE01k5iJRFMPuzqdJMHfBy3n03xoRCLhox9BQWZDW1Kf61Hh8m15b.cZUX9NvW.Nb7ZJyEk4IpLAuC39.e8UThwIL5ibMQ.4TKHxqRLMnuO6P3JaEqS7Etm1FXduXV+95v9swcTwsG3pY9wWGxgxy7KQmOdh.cIOc2mJi3PlYC30jtnrcRPW5qojw13XLWTaVnmZv+E9IYQmz2j3hNoKlQuTpbhcAvQljYT+JEXPNQrs3bEUwcLNIWb6NmPTVeVhvOuNYlzysMNaT78E0xctnVtchVZ6y8XQJcbSCUgduP77vKngW8gqfFdFeBZHg68RzvmYneiLIELSFwhFd3apBB+29oe5e+DRRdOLm7bI+NbsoS.mkJjbLjoCYn.MAO2qZS1x2WbFR6yS3tfLyp4ZI7G1umHj6hSo2QZrzVAhAXMB5.J3.Ed.ZLZPcgP4gXEiHqHVACPAwhp5NhJp.XxXCvXZTIocQpiLgCMPUKB1C4735p99RNMs5DwtPWoHgL4BGeDqZtkuZmFZv9rySKhZLhowmAF2LzicNx09.nxrLZE7sxnQvQsOO7X8kmAdCP1md9nwqAiaKY8wTN3XHOpxoUFq5fQJHGImRKmozxF0Jp0kfIrwb74z78.M3Xq+wYsGa63rAjb4T1YZOndC0p83Gau15aTq1pqs4i1b8j9Vwr1CXgtCSgycMbrWc8pah5ZcmU2XiBPqf85T.YkMb1XJF7MUGi0gXDIof3jY0W5LUe4SgLsSWoKbYJEUxhFs5Qi+H2HyjVJqJscbnjUlNgjKR2vnSGYwP7aYPCo9CiYUwk9zDdqHexGcOU.WFAry+OfXmKGwk02ppFhKB4aZD.epaUdLDm+6m5RP+bERHT5pGuomZr3s71wTsPUI53HnAj4zOtZFeLtJT+VpFg73aKDPIiJFDRQBjxFPoIxeanNJM6TGIv3ZQZ7K28bs5mtbt9ouwUoNobsV+E4as9KpGPwh6JUFFvkr.3v+8F3WHjYM601zbM6GugI1bfoyFqt4ZlpFDHEaG+8ud71wI+Qr3iYBoiUI1zv4Ao3bwLbV23PnqTnBJel4XMnX9LnpHn3U3yvPymS4wrHyih35M2.BuNBbmWQy31yVof4LAddSnY8.tmmOqk.ZdWEcmdvG8g3QDKoUf8OeRP9uT8W8Ak8Ox27gX39UUVtgk21j.UPOFnn5j5xsrl0krykXu0Gt0AOcOqW7RhGqCcfu73ITI6HWvslsZYmlKfPlhKfT6RcAu+3ht.B4WYWvyZRxapKMSEcmCPCGyRyC15Im0RFux5oas+9aMEuMYZwHjeNmyP4axi0Euz56mFNaVOCmu+d+8+ySl.tT8Cnw+hF6t2Na8pOMMGFPciDu0M4qVAxTdC0LPR3P0eHnkL1GGa4j18hlFC7f7255lV47jko10PlUuFxr10Pl0uFxrw0PlGcMjYyOpL3eSrsFHEAZ5aXhV6oX4JUZuP7qlS88zQ9eP5i+5d
                                      

                                      Screen Recording 2022-05-16 at 01.50.36.gif

                                      Below I generated two spikes (20Hz & 20kHz) + noise to demonstrate the buffer is going up to SR instead of 20kHz. Maybe a remaining of the real + imaginary part that necessitates doubling the Nyquist length? That isn't as bad as the glitch though because it is easy to limit the drawing to 20kHz...

                                      SR = 48kHz

                                      Screen Recording 2022-05-16 at 14.43.02.gif

                                      SR = 96kHz

                                      Screen Recording 2022-05-16 at 14.48.55.gif

                                      @Christoph-Hart Any insight on this ? I really need the spectrum to work πŸ™‚

                                      1 Reply Last reply Reply Quote 0
                                      • Topic has been marked as a question  ustk ustk 
                                      • First post
                                        Last post

                                      9
                                      Online

                                      740
                                      Users

                                      5.4k
                                      Topics

                                      50.3k
                                      Posts