HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode synthesizer. - How to?

    Scheduled Pinned Locked Moved General Questions
    24 Posts 5 Posters 1.4k 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.
    • lalalandsynthL
      lalalandsynth @Matt_SF
      last edited by lalalandsynth

      @Matt_SF this quickly becomes a problem actually.

      If you set the Default envelope to 20sec and the "SN" envelope to 20 sec , the overall envelope is no longer 20 sec. Apart from the fact that using 2 envelopes is hacky.

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

      1 Reply Last reply Reply Quote 0
      • lalalandsynthL
        lalalandsynth
        last edited by

        I am also still wondering if its possible to make a monophonic synth in HISE ?

        https://lalalandaudio.com/

        https://lalalandsynth.com/

        https://www.facebook.com/lalalandsynth

        https://www.facebook.com/lalalandsynth

        1 Reply Last reply Reply Quote 0
        • Matt_SFM
          Matt_SF @lalalandsynth
          last edited by

          @Matt_SF ok, that is a bummer, would that affect polyphony ?

          From the little time I played around earlier, It doesn't seem so.

          If you set the Default envelope to 20sec and the "SN" envelope to 20 sec , the overall envelope is no longer 20 sec. Apart from the fact that using 2 envelopes is hacky.

          What do you mean ? I tried with both envelopes at 20sec and it seem to last 20sec...

          I am also still wondering if its possible to make a monophonic synth in HISE ?

          I think that would be best handled with scripting

          Develop branch
          Win10 & VS17 / Ventura & Xcode 14. 3

          lalalandsynthL 1 Reply Last reply Reply Quote 0
          • lalalandsynthL
            lalalandsynth @Matt_SF
            last edited by

            " What do you mean ? I tried with both envelopes at 20sec and it seem to last 20sec..."

            You can hear the difference between default at 20 sec and disable the SN envelope.
            Then enable the SN envelope on top of the other one, not the same , understandably.

            https://lalalandaudio.com/

            https://lalalandsynth.com/

            https://www.facebook.com/lalalandsynth

            https://www.facebook.com/lalalandsynth

            Matt_SFM 2 Replies Last reply Reply Quote 0
            • Matt_SFM
              Matt_SF @lalalandsynth
              last edited by

              @lalalandsynth ha indeed, I didn't even bother to try them, I tought they would be the same. We should have access to a "Release curve" parameter...

              Develop branch
              Win10 & VS17 / Ventura & Xcode 14. 3

              1 Reply Last reply Reply Quote 0
              • Matt_SFM
                Matt_SF @lalalandsynth
                last edited by

                @lalalandsynth and replacing the 'global' envelope module by a Script Envelope Modulator doesn't seem to work...
                Tweaking the skew factor of the OSC gain parameter does the trick. This way the release is not linear (but the release time is not precise though) :

                f50fc763-6823-499f-89ca-c541a980f83c-image.png

                Develop branch
                Win10 & VS17 / Ventura & Xcode 14. 3

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

                  You can do the entire synth in scriptnode but then you must implement the voice killing logic there too or the voices will stack up until the polyphonic limit.

                  1. Remove the default envelope and replace it with a "Scriptnode Voice Killer" envelope - you will definitely need a HISE envelope that tells the voice to stop at some point but this module is made for precisely this use case and will handle the voice killing when a voice kill message is sent from within scriptnode.
                  2. In your scriptnode network, add a envelope.voice_manager node. This will send a voice kill message to the envelope when the value is zero.
                  3. Connect the gate output of a envelope with the "Kill Voice" parameter of the voice_manager node. Now the voices should be killed properly when the ahdsr gate closes (watch the voice counter if it works correctly).
                  HiseSnippet 1415.3oc4X8zaaTDEeVmLN0ooPpDRTwIefCoRkH6RnfDGhyeasnN0JNDwsno69b7Hu6LK6NaRLHjPhK8qPuwWCtUINwAjPhu.7QneCf2ryZ6cscMdcSbQhToJOu2al2ad+426May.oMDFJCHVkNomOPrVi1pmP0YuNLtfTeeh06QavBUPPYCoc64yBCAGhk0ROVSvpzxj3+d816xbYBaXHIB4TI2FdJ2iqFRsYsuh65dHyANg6kR5spU2VJ1S5JiP6YIZEhOytK6b3HlVrBThUwCb3JYPKESAgnL6Jc50pi7RgQ9S4g7m6B5EUIsvCxPlrWGtqSy920PBwh1b3MeIyM+CnM3N7AzG5AVOlQ4g6HsOvpvzLop4vjrRYRKaLo6RaYGv8UC4nsmaSqKv.RaF5pSaJFYIVuhtmDEPn1zi0ENL.WLXCa7nJUdPY7+t+W1NRXq3RQYo3HoBdlXi6u52uZoU+gUKOJq1smHOsZBjttPvDYqitASaiaHh7dND7fxWvbifABhW+r9zhylO01bqSInTTWvUOyGRVenz0Q6qz+d7H.Iwsg+5qquOSwzAkDZnb9PfhqMGq8gKvrZSHpDceHrqR5i40iE+vLGoSjKSkMcRW2jv.8GYhg5.kHjq5kttJG4XUlZN1rZh2k1jqr6LYarvDrQzScSXiIUl2gdP61fsZnAtL8vuYdKCmc0Wpu5MUVw.iwp+dITDRGnrlLDxCgfpSAc7OlUzQ+YFcre89Cn4o1ZDHzkmsZqrorojeB.YEeGfsd8j2+1WZt7rYhSGHJSqfhF68CSkxEm1nyR.SCgOJc5XLyxFtYSHaHER+NRA2NcN3wfJfe94PPZhusvPUu4ggV5+MvPSyEcK5AWoBXU+OXSjDS6gKRS6XYjhKNuACyouBmx6nHuVHdoMflkP.t3gSsJna0aVWQuVaDs.gS7h+F+KgYU8ZqDlU6yL0TBGApKkAciqXS9MVuZZPDNnh7rvTMH1w0Ud4dROedRFM5Sho0T51qewoUAiD8s5c7jQnBSL8mvBOgwc0hcJDDFeHqPqrI9OL8+HTinjGxrQGZulLriEVGoGMBiKPvl1ChOuQaLc7Reb864X7Tno4ou9wyiuTp4hLvV5UXvsfVCqQqGdplqMykbptOj1nI5yTK9RI1pQTYnMhYoSgHiY7AvloXOu1mlkuKbU+Q61mG56x5saDVUafcyPQeIDNvU8C7Gf8ScPT63s2OYnIK.ebhBRZ70eE96FbQxUdH5TC1UiPa8ZsTfeK92AoKHZ0Etz3DRSU6mJpqz.xXmLY5pdqZio5W7mip5e9ku7WFW009IueeayyNNL.91HPX2aD8+icq8un+Wu83W8J47puVr9KerttgL14SxuuGUVN88OFwmtwTMhy7FU8JzlcXg4Otecn6hwCEMgqcpx2UnrNNgiT4tNEDW.tXA3lFt4nvkNUfk2WCrmpzKw1L3ijVWpmZ3DVv4fRu6BoIj7lNADOub3HhOF2zKSPWq6nMfKziYclGSvziNMvVzLWipm9xLH10KnC5Yxh3TJ2g+W7qyXY+QM9ssMsw2QoX1cGMA3iqs.x8tShxeJfIRWGUd495Wj9DbVcxX3oK.UuBcevlMJX6qBVDN9RzVQgpIT2+WKBmdI5wfKLA.usVjIc6EEbAbcb+ycmlaSG9praJH+72oSezCdJ1.30zsAFEVLS6f6MrcPVoxQagBYlmKCTnUJ2xJ2LtkL.6icV6DojdnaK9ajkw1H6Jkc8XwuTX99zhKh203wrCjmYa97QZO5shofCQKh+96knMzqKWkbQR6V8iNHdbG9Y115GC+IUIjIumGNG64Smi8r0brmOaN1yili874ywd9hotG8mNKIqSOdBRn4AlAErNPvvWLGWRQ9GfgnxRK
                  
                  Christoph HartC 1 Reply Last reply Reply Quote 5
                  • Christoph HartC
                    Christoph Hart @Christoph Hart
                    last edited by

                    And a mono synth can be implemented using a ScriptFX and a midi_chain container. In this example I'm using a midi node to control the frequency of the oscillator so that I can smooth it for a portamento effect. In this case I need to put the oscillator in a no_midi container so that the frequency is not controlled by the note input.

                    HiseSnippet 1534.3ocwY0zaaaCFlxIzoNM8KrMrK6fOrCo.cA1aYcCXGpSbhWMVcpQTVPuEvHQGSXIRUIpj3MLfsa81N2CCX+M1sBrS679CreB87tr8RQIaJaOuHiD2TfTwW9RxG979oT5FJbnQQhPjUkiFFPQVafsGxk8a1mv3n16grtKtCIRRCqpEs6v.RTD0EYYsxWqDXUYUTxOu8I6R7HbG5XQHzwBlC8YLelbrztM9FlmWKhK8Hlug1a2nsif2T3IhA7rBtFJf3LfbF8.hRsRXjU48cYRQnsjHoQfN6JbGZ2WbAWq+wrH1odT0f5HaXizhQM6y7b6lcWiPHqU6N9luh9l+93NLW1H4iYf6mLQ0wqvjCrJMOHUu.Pxx.RqpgzCv1Ngr.43YT34131bvfzi.TsITz5hrdCto.TfK2xmLf1JDFLZAa93Z0dTU3WO7q5EycjLAupfefPReNeyGt92udk0+g0qN4T85My4TGSnvyiFNyoUV2v4svM4w9mRCeT0yIdwzQJBW+7bZ4qFm5nu0FJJ3s4L4yCnoiaI7bUbk54os.nTZCd5aauGQRTFkTYfdAzPISAGq8nmCd0ZSTE7dznARQ.3WOk8C7bDtwdDYd2IUbS5D.ejyFpLT7HlbnYbUA7wpMWerqJDe.tKS5ze1XrzLvHvT2DXLMx7N3860i5HGCvUwsdwhFFVqvggqmFFBmo5v2HcX0Vun9LC.eEdrydPHMfDRORz0iLbyHhefG8P.iOp5odBmA1ruiNcDRfFB6pzXSm9DNm5EsHARkulRNgNTDKY7y5PjgrKQV3Ch8sgzzNzlonCjYURECoGWSMV4WXS4tIC9G3mzIqqFakNY8rIMB+NfJuPDNHwbj9LbWzbeTBIeRuKqi1wySbQSge.K0KErAIx5J7FFzWvYNJQZMxP5N9hX3PRg6SIQGQXdJ25iogQIaxZ3ZaA+CboOP3BjCtEwAHwgcIx9pXCUdFvQjFtkyHGxb3xzmPsEYkzzLB.Ge00Lof1JFIVz9dpQPjUI8t1N5X0rNDOzwJaqBnH0dp4FM9zEE7ghTZ.kCuefAdGqxxBhkLf3cv8XWV+wmj33mGjenAHMU5lElqLBlqX.yxILYd7c2D7AQZITXQf0p4fUoIfUEbSOXmZ6lgIXInIzorJCMMSgaiaEReYLk6LDgFmf9HR3YTYTZEKN0QGOjP+vtCM2D4KDx9T2SfzQP+TP+.ntYOozXMr9DTvGxQcYZAP7QDHCgJEfsGykF1EZISMZmXWlnESOE7+vtndZOVT.jna2XHgsNad1YnFXvxyDP437OZDmOCMu1bLxytqiel3hpcgstHj6FXQjCzRqpHZdRMm0xjJ.TM5tXsVGFOE.iKn1gb4Dxd6Srkz.UECS8rGPuPyalZptZYVzo15chkBenhPR0bjAPJOAP90W+5e6ISAjF+biI.Rhd+2.4dX6DKHT.Ioieis6u+kW+Surw7vPAHi2NGLTAuOW4I6hlZiLcKqf4hSlN9+8LxOkov6hr747zlprTHcKioWT7MQB.qIComPh5RvcoWlUFeenSDWnK6jkmUZOmqe4hasueihYsyGUaXpmeT21Ml5ne0eVPmcyP97a0ONnwUNxKY6llGpUPdXiDvT8PUZr4yF2PgckgW1QRuwN54m9qaeRzLR+sDN6xIui27t1yq13ZXRe2nIBvuOlxOm5Awoaoms.w234l+4dpt4MvRJp0MHiruP8pfiKAVxTP9RhQSn9zydclZIoUIy7JUJrc8U+9UK3twAc9iD65sv6HkPGPSZY+3FKAmp6jd3OiB9AWGgTE95WF+Tg2TUP2twR3nWCuG0gLYJ02DtLH9JX63H4+S.8M1MuB9PpGcFYx1dY5z0LN77oPvesLJgba39KCYmcFbF2T4xKdILzLeAg4jeeWgXfOI4iZrXedwkwmfwm3DJNI88tT4TuUhDnCQdx2fuBtiZb05nySKRn9VIHU+vm33n9tbeRcDZ1q4SWf07YKvZ1dAVymu.q4wKvZ9hEXMe4bWi5OMQZWkpWJEDzcec8QqrW3Q8gN9W.kYXt5C
                    
                    Matt_SFM lalalandsynthL 3 Replies Last reply Reply Quote 3
                    • Matt_SFM
                      Matt_SF @Christoph Hart
                      last edited by

                      @Christoph-Hart nice! I wouldn't ever have thought of doing this :beaming_face_with_smiling_eyes: . And we don't have to even connect the envelope to anything, just having it "filtering" the signal is sufficient... interesting.

                      Develop branch
                      Win10 & VS17 / Ventura & Xcode 14. 3

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

                        @Christoph-Hart that is interesting but is it possible to have note priority as well , this particular one is " last note " but not really as you hold one note , play another , let go of the second it should go back to playing the previous one , and without retriggering any envelopes.

                        Portamento as also strange as it glides to the note then jump to it at the end.
                        prominent if you set the time higher like 5 sec

                        https://lalalandaudio.com/

                        https://lalalandsynth.com/

                        https://www.facebook.com/lalalandsynth

                        https://www.facebook.com/lalalandsynth

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

                          @lalalandsynth That's the job of a MIDI processor. Just add a Legato with Retrigger script or script one yourself with the behaviour you want.

                          And the portamento might sound better with a linear fade in the smoother node.

                          lalalandsynthL ulrikU 3 Replies Last reply Reply Quote 1
                          • lalalandsynthL
                            lalalandsynth @Christoph Hart
                            last edited by

                            @Christoph-Hart great , will check it out.

                            fluff.png

                            https://lalalandaudio.com/

                            https://lalalandsynth.com/

                            https://www.facebook.com/lalalandsynth

                            https://www.facebook.com/lalalandsynth

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

                              @Christoph-Hart Would this work with script node?

                              HiseSnippet 2127.3oc6Z80aabbD+NIcJlz1RI.0nOEfK7IJ.YERE2zhDzHJIJYQXIJVQE6DH3Fu5tkjKzwcud2RIQaH.i9TeqOa+TA5mh9l.5WfBzG5q4if6Wf5NytGI2ihhhQ.J01nDBPbmclY+M+Y2Y1UpVjviFGKhrryre2Ppk8cbp2kKasdKBiaUork8m4rifKbUToOmESib4BoarWDKTxE9Tq05FRhio9V11S+PTL6LyXo97lUViDP3dzAjrrdrf4Q2l0lIGPsVoGwBB1j3S2m01f6GTphmfutHPzAf3zNErBIdGQZRqRP1lxwxd1M7YRQTcIQRisrmYMge25sDmv07+XVL6v.JNnnUcPQZxaJB7QDie2Z8Vr.+Z8bEwVV1N0F3XlV6X9EN6v7Y8oOvA8wpIbGHgo+vdpzva5TvqnI7JX.uQ.IaCHMiFRehScUTXvLHdtsSEtjF0f3kNzn40Zp+8rNqK.N3xkZSNhtYDLnuD4+xBEVz8AEJrvWmMaDsoaU2eq6KxEFQQ0bDsabtux8fmdFLKDXhktGSh.SmIdD+PfydJtIUttncnfCCxmKY9bfNSKz1GFLVgf4QgxlkwCXbpaiNbOISvcE7DchxFIBx60SvEAkGzgtP1WjMSfviD3FBbJomJgU5fbaKNgFKysnatsI5euEqYKjzS+5rYxlIYUWJlBP.kBXomBNPo4mB.BM+qvTQMj.t0IAAGBos4GF0flLrnpvhrKOuB46.taHKeIVStHhtwwntkQfYo.I593f4ziK.BnvU6z9PZTdjGjiiSywiof6fI6lWqCVC27p8zJo6ztlNB+HHBmeA2uws3BYy..IS0kLh8KE1ItUdNpA0RD1.+F7S7ILoWK27I1mZ8PmU9E.0nzSFORL0svWk4y+7L5f.RbH0CovRE9fOgM.7mZ5CJ7T26Cj3ZFNLhRNR809punV8jDkOBUjd8Bn7lxV2u3Uo2kU5MIS4mNtmzEE91YZ+oNxP78qg9U7bw7UWh4unKr4LrA7KbwNCiizfX5UDoPIAL0WmIIZEWzkC6VRTFvElRwU58rrtCmX1ngNy7py8t5bqBI4VCRgRi8HZawwzDz++ytdmH6RKCWmJTlFP5R8Wqq5joJ98DegKFK8BnDcdQRFVGtOsAbXt+HxzRNWL.yjvjsglF6MXzyzqL.WkFZVC.YDJXltJrykWE1rIAO8Q7FLJ3U3L4tgzjwWrNsURcArIhDTArJU0qmKodc8.lOMxhAkky3jjTaofrYqSVSf3S6r50UvxCI3e5eVZxDrdJA+Ku5U267ISv8FZEeyenj02VoLQRv1aR7afuLjFIYXXxtL8XnWQcyNYbJSiORJBUN1jBt.Y8Bd2jEbaxgz.05MqCTGun0olsd10bvILeYq9DN+OVpEE1BZzTZ0RM.LUm87TMjhcBXY+oN6ra0cqs0tUqrtamXFuoasJ6u9VtatZ4MrnP1FoeacVSBbcP3Zf1yCJ00DJoQ6KIW.seyHPagDzNuS0c2eC2Z6UY28pr+2OF7c6IHS8R.4Ke7UCxxkhkcCTWyXKQD64.hIAVsIlQIfEZXZ63Mqzl46GPqIhY3NdyYhgcm6CV4ZhS0lClJMr8bQ+s1bR6yGeFxHMmPRDrNlA39tIsqGRCgBFVTN5uStvwnBTWdH4Nxj6enMgMCDDIjusOCXFsja6rZ4568vHRXKyPyglglFCEZNOZXa4kGTJYGXu6At5V8U6gM6cErLy95W+51n.LIs8.pu8su82kl5xIj+6HYzWjhYs6C25auoyKx55lq+gnU7gqXjCsobKhSTAJXbJPpfZDbws.wIOQDcTLbUPJPG6KN6YobYylNpWivSh5yq7UngB2dCRrO0LVNve8r3g7Wkd4HNcvdFikbtwdF8jliY86uv5T4h4XCaEswagCYZp6NatYBNSeTalh6znA6T7LG21wVWbq0+ABPuck+bovAgDT83hB2+NBt5MbaQj1sbVUJga1jx4O2XK5L.bkdVoOb7DeDTcxizMkiX9wVD0vQDdS4HvZldL7HOSi+0uB+72tzyTW971lOhy2ed5ymsLbZ9qYcktlLN06DivZhyR1yv47rS+.JKIiydTne3Xpk0EeMmO1YGgem.hL8iKgunVxD3xY9hN3q1vAXz0DrC+hSyLYu3zfGDajc0Ngv8SbTWoXz3cpQfWnyuaZ7l79c20YiFMndxAfcFmM+tw9XcyLYWSXxgx8zP41NOgbLUciJEPtmZbCQTa2GRgDTzmVbLOq5+XReV0vI9YU20SBPX+HBONTDSKZp4glaYy4JSkc3oYWSJEWn4sIXdF7cqR8HtrIQnTcJkAiSoocXFGE8iqrgpsp5TvZ72M1CLVz2YtcnVG3JrOAOznnofCHurI4sHQ9PbwKUB5zWqrhz6aM3eDus6r2TO27Oqa9uQOq5mvi2a9R4yqw6Go6lUAyjClMAG9W3HrkfyRE32iJiXMaRSkOMR6P2Ez5chNt+lr+0e8GWQ0RPJpCX9hT1ldLTn1X82BLyzarvNLLpU0qtpwMw6Uew3N1a3I1Q2Mvk52mdx76Wwenjwkab2jNEcUGD8tcQr45gUcD4cavdGcimuO3WmuWifuW3XmqWuZuO3ZGaeWS+ATeW2DUsfdJbeuoC6eoCzmyxtpvs6+6i26I5fOF0NDnTIdCopcZWGZpziBHlyoA3isaOE9r35wEvwHbpS49pA3cmRlrHN1NYxh8l7mk0nMwKR7Cd5mwFKrcKEEvt4p+SCx3rCN1sXu2v1wovREv6Bx9AOOLm99f+Yzxr70Plu3ZHyCtFx7qtFx7kWCY90WCY9MiUFrK3U6HEs04+.gZanePQ6M58Xq1Sa8ewHzTSD
                              

                              Hise Develop branch
                              MacOs 15.3.1, Xcode 16.2
                              http://musikboden.se

                              ulrikU 1 Reply Last reply Reply Quote 0
                              • ulrikU
                                ulrik @ulrik
                                last edited by

                                @ulrik or is it not possible to control the midi from outside script node?

                                Hise Develop branch
                                MacOs 15.3.1, Xcode 16.2
                                http://musikboden.se

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

                                  @Christoph-Hart when controlling an osc with that midi node , its way out of tune.
                                  Probably the Lowpass , it also skews a straight 440hz sent into it.

                                  tune2.gif

                                  https://lalalandaudio.com/

                                  https://lalalandsynth.com/

                                  https://www.facebook.com/lalalandsynth

                                  https://www.facebook.com/lalalandsynth

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

                                    @Christoph-Hart BTW, I am always getting this issue with compiled dll´s where it says its failed the sanity test and I need to compile , after I have compiled.

                                    https://lalalandaudio.com/

                                    https://lalalandsynth.com/

                                    https://www.facebook.com/lalalandsynth

                                    https://www.facebook.com/lalalandsynth

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

                                      @lalalandsynth Yes the low pass might have a error margin that is relevant in a pitch context (it usually stops smoothing at a difference of ~-80dB but this might be a audible error when you map 0...1 to a 20kHz range.

                                      The linear mode should be fine though.

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

                                      29

                                      Online

                                      1.7k

                                      Users

                                      11.8k

                                      Topics

                                      102.8k

                                      Posts