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.
    • 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

                          22

                          Online

                          1.7k

                          Users

                          11.8k

                          Topics

                          102.8k

                          Posts