HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode square wave sounds really bad?

    Scheduled Pinned Locked Moved General Questions
    7 Posts 3 Posters 478 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.
    • A
      ally
      last edited by

      The square waveform in the scriptnode synth osc sounds really awful for me. Sounds like aliasing maybe?

      When I compare the square waveform in the waveform generator I don't hear the same issues.

      I also don't hear any issues when comparing the other waveforms.

      Does this happen for anyone else?

      Here is a simple project snippet

      HiseSnippet 3132.3oc6bs0aaibElx1irkSxtY2j8BJ5C5gsEI.IBjCuihEwIw16Zz0IZsbytEn.FLRir3ZJRsjT1VaaeuuUzeC809ZetK5eh9ZesEn.8eP6Y3EyYzMSIKqHkXEf.OW3LmyYNW9Nb3LU88pSBB77EJT5vdcHBEtMpVO2vVOukksqvdaKT3CP0p6a2I7EdMHQMI7rdcrBBHMDJTX0uf1sBkVSH52+8IOyxwxsNIqJAgW4YWm7U1ssCyps5V+RaGmcsZPNztMSuU1Zu5dtO2ywqKPRqhDE5XU+DqiIuvh1sUPBEJtSC6PO+ZgVgj.gBq8LuF8p0x6L239+J6.6W6PnEjDpACTb0654zfRwzZEddKamFUSY8.AXPqlIHVMVPbez91Mrun9LAxciZnb1SvJOJrBO4sJG4IwRdhLj2PHoBLjzZwjT5RQVKT54Vn8bCI9Ms.wNKoD2WgB+H54dPGbCqz15Dxt9PgKdfGnIJ9nxv+8veQytt0Cs8bK649BuPxKcevC272tYoM+8aVt+lZ1bnsQmFeOGGh+PaltR6OtG7Atca+Zh+iJepkSWxEcDXedYJZzxT1k75wbMSG8b2y0N7kcHtiRQPHQTA+0uZussBsnKDI0A8qCwOzlRBE1lbJnUGurTBsMI3jPuNfd8.qYf1hWitNVg7pPT6ljF.Y.25FcwwMvNrGqc0LSuJuj3GfpZGVu0vowUFBMBRpqCZLwZ7NncZ1jTOLi.WCs62NGL8Pwy+lnm5Z4zKfjZykVThiFdVWfJ8qY+CL9z9wsp5CZKjyRzVRp9taUX0bSvRiWdcfW2Pa2i22Jz29bfleQ210.On0If3x0k3PMZJrBU8NtrHsLkHpQbaDU3+A+RZThVtPRiRoMxtlTJcMI1ESbTApX4SSpwEhUTlVMIvd.YzTFxnStCYj536QnIwIyXiqH8VSbkk.WTb1ekRowZ1s63P1w8ThC3GNhF+PvwaSqtNgo0xqnsumqWmVdt10Y0sNf.FIGeLwmk1GJC8zvP.7QVM2eqCHNDq.FkuOaqux1kX4CxIxTJKjlXX.Cc85SQwjaYp0Q4k2PKq9tSnk0RCsD6vBlS5je6jhk28a4TmWI0s1efwsVGeRGKexgdUcr58f.KpIxA.M9nxu1wq9Iz.QCB3pSLI7LZOdP8jHDSCtrhKSwuxP18BR3Yd9mDsbj72BEVmJ6uC5U1u1GzVOjDDJ7Jhe.U6rv5HwJv+Ddpii2YO2qcG6D8VP0HptpdN8R8zTX03djR6OssWWXZSXfuzJ3PKamn0ytA.RzFuzsFz4n.fTEsWD4IAsqUcPx1qpEDYELXnXYAsShek5WnkxSrYZJTYLcTRCIFKo.hpMk8ixgZUZ6w7ezzUjNdahZ326nyHgRBib1C53.wjoqwUs7gTxfzHBhWeYmwaiTvFFXEYUMi9HrgSFobcFYzgN0WhPX5XY1458SY4iZaeNDQfaBuazDB5+UNuIf5veLyGGCyOsLYM.0jTB7ssR77CZ5LRxWQMvnCONxQEaWKhhhwjzCD5f8qAZ3mQcjdnk+wjvnwmshjTWbIQlyA7ESjC60HUfeLUhdAoPquXDB.9II+iIUnN5wjgmo9DSKA9D2218BdjZysu04WTVBJSkEqihq5ocC8ZC9dRweMfxbDAvsndKXQ0mT43wq+vsdxBwiascENtXUFtnXFWrA5wRh8yHzx0BIchST39PYnOQ+jTLEkjz.+kmPNKlxEJbOjZEELFqKpqqXnHIKZJDqSDIMYDCfOlgSF8KL2.QmwIiLncPVTRTF5fooghotnTR1P0Z64E1BbgmpfVDgoitv7WnbazAj.RX7vxM3Br1hbpfbsDEil0z61n8BdEs05VNoiHHn47YQU2u97YUjQy98QN1tm.1j+fOD2nG+D9Inl1NTdpBem3mVVM5KiDnAybHmm9tP1Md3y9SpLxsA4bJpoGKIrCfTnAL3Q8mNB7l5EYzGPY5CIZKYZCkfJRzO6SADiMMEUT0vXYECcC0DEvc8IeeWHJZuzEn6gjzUMqnHZf00kzT0DwbZiLy98hzqi0zjLwhlXSFR4dHyJFlzeZRFpxhXc4AIJMEcIcCIcYQMUICsHhZUzWmQLpUzTwZlRFfMiggngIGwv30acPJZvIKJhhpfwfOog6hjqXJZnopfM0LzUGE+MbGoSqkMsu.8qZnpnHqKBLMVN+yLlyHOykd+g2v8473xYmgLnkP63ZAHPaHv0Ud+.LlVqihw2bIveldiogiAoIkKwGEgXuOrWeJyjy1sozOxZb9r9tNT.p98MkuG56ZDzoRRiS1DwGQbkgqgWD8XwJpC35mRSHTUK2ABqmW0.sQpacPWGxkqCfh03a60HxWcexk6yrTj1kobY.wLe2A4ET21IJE4g.7Fvpj09DNc845daaP80pW7qnLXfZfxrNxyke6AWCTxo88X.Gz+fB9+3gFTDUA7TO0QFnYygEGiOKo9m9QoXc6nAu7AzjAmwttnd5CGPmchwIWsE80UMRodtFE9fNeHzOUQvoulntBVJNryHrkJh53cVeJ0ah.S6VUfFtJtVl5TFxmSfMQA1GiAq7A7MFQ7IMt.y.HTC6SGpfmV+hKcuNpCwp+ffI4rQaYxH80xdEiL4HOzDV2.h5Q.eg7oqdKz1zJi1vAgQjn6EQQ4dx3HYByNWvWeIubAqyIzuSBLf3llQn.P4Igz7fKccT7tCcA9Z.3cEcUCMMMCUcISQy7FcYPHoUDycZuYZGCfYYDJ32AE30L7nWGIO6O2MFflLcZxB5eIuuoKfyGQ0Ixf0frsF3ENMFEGl2bXhe9VVV8wMkPMOuRT0yHuMboK9XowFGMAgPrq7pdA1QVsIc9io3OEUjLY+IOVCrYn0FObe44Fb+RoNplyn8GzdiB9egCrOdtC1GeCX+4FXe76df8uCzQECMCSQMr5UEzOUhCw8zzzkjTvp5FR3KC1OdYF1OdIE1eQJreokVb+34Ot+RIfewSJv+r3oKq39eOVnnRusfEc8HrnRKKfQ+HpAjpBGVTkwsnyCoKQ2c4MysKd3bFDMEevLM+rqrU0nMX4xyNZ6CjlrsW3pukBJy+sT.O+2Rg9wwA43os3klg7bOMC42cRy.m+zLR+xB+0aMyxznzZ+6etzF+ke5OYqqmbMx9fMe6cyEtT3sP9Cx4HwhXyhEtzJjyYZEKVjeTRE3bjTwhEYGmRg7atTJjm58R.uzlSQFueylIb8uYBbYvge6JCN7kmA2UveyLK+sRq0o0e5+76dxe8u8FY+CTm+X6keCrABpCMdvBExdk4NxdkaP1OuP1u4+3O24y27daccsKBRKp6hvci9ZevRl5XM0YvFIjG.9JKy6bfxx7NGHuztyAJu4f4qL0v7kW5g4qbyad95ALu7aWf4kWN.yGsYLZZhr+ztV+vftrMNnXxFGbZyiHee+GOwzi5SRquKdFez0MkpnfMjjkD00LvJu4NiOQNCjkTvXcPER1TSyPaFbHetG.9UURVFKJKgi2mv4y474ioilXxVRpqqoXfUMv4etyK1d447I8IwsTitsa2an3cZ20Iy93yPOsQixgsHkOiDVd6ZUSO87fjpbKB.xnRkAN5nlJlZ5XS09LIma.iJlclDu4DvdyIf8Z6Dvd0Tm2.sseuugDlkl8C+M+w+9O6y+WOIemw79O79bfoSsUlwb7y77NosUzcGw05ED1FncNOz2RZA71aIgzvySRaQ49A48XuwqzEF3t+HhqxysFxb5JBoO58p+kk7N4GvbpF8FaMBm4iCZ6jEbI+uRxzK+r2I+XCxtXntdeejHTylg8+NNrhu4+pPah89YZRR+dheKOoIfE6rhOCrzKnuYZloyxHceTbi2B8MVmRxts.+nnxM87aW9KHfiq3i.MqH8Z+pB7k0CAR3PeK2fNdADI1Qtu1vrssMIrqKe2iqhqWT1aWf8jXu0GSqDy5XopkK2fAk4Fo8og8xJFmrSMBvMMdYlCW1AnqS.4araD1hYb+mOIqZLa0eokeCXcg6dxq+amxatPDWBuPDw2bgHdyEh3h7EhX9s9.WfK1qheBBbEiKGsTV9MyZ47HOo4wbz1ptu2QIW+dTi9MhpA3a2n6A9Rn8okKKIbJKdu1P3hipWOMmfg+L3o3YjmhmQYJdF0o3YzlhmQeJdFiw9LzH0IuENpNOTQ0chQmVH8MyBp+B+e.rjIvm
      

      and here is a video link with spectrum analyzer
      https://www.dropbox.com/scl/fi/8ut60cbsvgo4iqvqtp5h2/Square-Sound-Bad.mp4?rlkey=ocs2wwkihanq2pyd7t45iqi81&dl=0

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @ally
        last edited by

        @ally have you tried oversampling?

        HISE Development for hire.
        www.channelrobot.com

        Christoph HartC A 2 Replies Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @Lindon
          last edited by

          Hmm, I'm pretty sure that both oscillators are using the same band-limiting technique (Poly-BLEP), but the scriptnode one sounds like a naive waveform generator. I'll take a look, ideally they shouldn't sound this different.

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

            Oops you were right, it was in fact using the naive waveform generation algorithm. It's fixed now and should sound just the same as the Waveform Generator.

            A 1 Reply Last reply Reply Quote 2
            • A
              ally @Christoph Hart
              last edited by

              @Christoph-Hart Awesome news! Thanks for looking into it.

              1 Reply Last reply Reply Quote 0
              • A
                ally @Lindon
                last edited by

                @Lindon I did and it doesn't appear to work? If I try to add an oversample node I get an error message about oversampling not working with polyphonic scriptnodes. But I could be doing something wrong there...Did you use the scriptnode synth in your Horizen synth with oversampling?

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

                  @ally using per voice oversampling is hugely ineffective so it‘s deliberately deactivated.

                  You can enable a global oversampler with Engine.setMinimumSampleRate() if you need that but usually aliasing on the oscillator level should be fixed otherwise.

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

                  9

                  Online

                  1.8k

                  Users

                  11.9k

                  Topics

                  104.0k

                  Posts