Forum

    • Register
    • Login
    • Search
    • Categories

    Hihat Full Choke Senario? Is That Possible in Hise??? Finaly Yes!

    Scripting Forum
    3
    6
    190
    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.
    • DimitrisSP
      DimitrisSP last edited by DimitrisSP

      Hi to all of you in this great Hise forum!
      A big thumps up to @Christoph-Hart for creating this powerful platform!

      My name is Dimitris and i have developed mostly Drumming Instruments using Kontakt
      Some of them are commercial [Stigmatized Drummer , Balkan Drummer(it will be releashed soon)]
      As i consider that Kontakt is outdated i am trying to redevelop my new instrument (Balkan Drummer) using Hise (i know that it's very difficult because it is a huge instrument with a ton of features...but i will give it a try!)

      At this moment i try to achieve a full Hihat choke senario where every Hihat articulation should be able to be choked by any other Hihat articulation (even by itself)...As it happens in the real world!

      Searching in the forum i found some posts and adapted to my situation the code that @Christoph-Hart used for this!

      Well...it makes the job but only for more simple situations (closed hihat, pedal hihat, open hihat).
      In my case i use 8 articulations for hihat (hihat pedal, hihat tight, hihat closed, hihat loose, hihat open1, hihat open2, hihat opening, hihat footsplash)...and till now i did not find any way to achieve this.

      Has anyone achieved this?(every Hihat articulation should be able to be choked by any Hihat articulation. Can it be achieved with Hise?

      If anyone wants to try/help here is a simple version of my test project Hihat Test

      I used one sample for every articulation just for simplicity and i managed to have it working for some of the articulations but not for all of them at the same time.

      I post also the snippet here :

      HiseSnippet 2853.3oc6b0saaibElxNLarR7lMs6k8hA4lUFHqCkr9wpAAwxVxwtwNRPRqaKJJBnIGIMHTbDHGYGsYCPQunnON8QHuC8EnOB6aP6YlgRbnrbLkqjWuITHvPy4L+7wy4Lm4LelwM7nVXeepmVp0ZOZ.VK0CzaMxk0audlDWsCqxEb.omIC0F6yz1cz.SeersVpTq9RdORs1czDe94WrqoioqENTjl1IThE9HReBKTZicdEwwYeSabaRekdmemCsnt6QcnCAzrptg1.Sq2Z1E+ZSd2VQWK0cqYSXTuVLSF1WK0c1kZOpUO54tx9eBwmbpCl2HqVKXhjh2m5XyQLWp1d8HN1MF+T6qokRuQnMXUoM3a0OlXSlHOzV7MBEnvQnZORsxmBdYUgmQ7gWJE3cGI7djdKKOx.VnFN1tu9gtLrWGSvEnBKYe0V4YqnuGE5gKay9luEuuGzXxHxTzv3InBFFa7r0Sud5ZtcIt3M8wrWgGIcIYxm6IHi2UL+VFE1tRdd+lYuxGqdULV8pbb5UAiX0qrwpWw5YrzEdFWOMD55yPmY5gD6Vl3ZPOGI1OsYWLKRPUlGK2VMQvi23YcF5ZwHTWD080TFttalMR+9zqk9CoQSqpSmYpi6g8nNNXuYpluiy6SMvLtC6eJ16IvShyP7jNBgdQis0u7Xa0sdVx.NkNRcOzkvpO.6dYQ7ZAQov29gCqZxL4aBBjA8a.1iQ3PHUU7YP1E4Vh0zqh8eKiNPz29Cnt7YH0CXA6mkaB12gZxHtcaS.nRfcGo0Au5oTSOas2ol2ZTXiebmf0VtPJi3ztiSV8.8741Neohk2ZaCMBC2erh6qmeqh4LJULaAE44jinb9xEKkqbAMF9cL0oBTTHaVXHhm9U5mR+8qmFgdLrx+QhMq2i+8nr42z3IBgUI9CbLGU2hYdF90BuGnuioiOV1ginmCCDjkKuTvADY6r4JIEr2PeFs+K8LGziX4GczUwcLG5vpLX.1zimdGTy7FFncWGHEMLaMAyJEzXrYwxhOausQoxFkxJ6VaZ2tN3io13nSNeCAjb00E6vwiT3O3iOAaAwZJ.JbEAs66XxZwF4L8j0n1XWyET.gsdrvUJ2DE0bsU.Pw0S+Asy4l3I9+O922oGlzsW3AX+sl6ncwbxvICT6g.xhdbA+Lx.Ev9rH4k44dc8IrQpmgtTNCItv8Q5MHLqdyFuqLC7B6LW13M3D400q0oCDUDB16nu+eZ4e7qJTt2kTfziBJPhmm.jg8VDUIMH1UIkZ0kQUQ2aYUUzpwys7+SkPicHyFPiqG5ebWczSeJBRnfBO7tCbhsnkoKyWzhzefG8LrMBN3AZ2m6717Bm2umCElmmixm6YWrV.rsoCWW9KpiePXVtthyVWNttxyVGbPFnsfwE0dDUhlBYunt17jYbcy.o6SorVvoI98fNTJunvFvDgp3hp34YNBQ7QPdUJxbhQ5IH7YXWDoChvPmCgrnSwnAzA7LHfQi+SOn7B0kBeF6HhOGC+k+53kfWQJxenGlOM8L8QXW5vt8PvASdvU.PLXMOiRrgk2gZIRNgrG5wMArdXjqnZIjEn8T3Do0SGrFa5g8wdmAk2lelUWsdZwIqH.+YNFBUfkhWnFWs7nzLafd9yUci+zOgtpNJsvx4MFcWF5DiNJ7paHm2.Xy+.VuJNmaNxGMDlGt0fG1t4lahHtHGJc.24LhNDYSc+NFxECtEduHt132ENMvfxvckrCs4CLv.tQXGTVxfksE10dh4GQ6zAhJ5CaPrEHfqnKgGbHlVD37T9DcxjkHaZaeB0YXeLOs2Xv7DzV7ql78Yk2MY7H9P3WiXJ1yApSgGkH.kentwQDV7NjY7TELMXnXAtY5JCBj6WigyRt4M1AAi2OGitFtIclwBs6AaRg+4h449L8FAaHsL4gF7X.wNz2x+wD+FTYDoCwh.1rQHty6fCaUKxTZYx2y.ZECLn+lAVXguFREbJwApM.4gM8gc5gie7iCeGdkIKUFUeYzXYadLE7.bXU9tdNLc3YKxPXeGe0skgbgnNH75vpabQm8fg98T8o0jwTY1Pw++gaYWsJ8h5pUiSyMVhg1jGPUQgOWpREONynaghV32bKop5uDqp92IgxuQuECxczGRB1xr+.HZTfm0jkxUu2MaM0M7vNTS6VjeToaebmcGBlKunR+W6HVpJ8oCcirVAOFMwvMmY769Fp7d6zr4K8nCGL8n94WHhUZ6AEw.VBUE0cwfYORe2yi562AdbDyku5ieigdc41pPIMgzjd9QkAmsDb6WNkNoRw235i4tZh0wlLORDRQDqhQaSg6dEcY6rS0N2Ts2Zp14mpcgoZWbp1kBamROZn3WEuDkGaNngI7HpzycIAAYfNoD030IlUwRqbSpYbmj6dql73atLpW+a0shBFenDiekdkCp1po.ZqONAPEtDUbcL0kNnG0kXEMLGBa61E6oh1Y9HTgwfcY6MDtdPn3+yKpBUKMZJoZZxNeQIGA6pbTEe.3Plz9e9u2QLcpBZMzmEI80e9iMwPMo9gq2G81olEMZJi4xjm8Sax0iYXw55xGRjHc4s6SY+5wXU5QtcC1GnKBK90fc8g5AAr+pvv905A6ktsXZu23eqAm.ETXwWcEBpp2ahzqDov4xAmDplVCNRmE8HcHvhbJ1IZxCnbnfERLGhRyEmntnRorPpEd0u3qE9SGZKKYAI9cYbqOAmn3MDuV6eofZS5P9uquw0wpCE61BJv2BqVx6J7asJaavayADmVKQi+K7IPY1w0GyUlcrRMqwSE7rE7c4lqUwt7cZhq34LcMB9v0H3PB1Ap4Kbp8g5PgjExFvWZR4U5eG874zNh9J7nfuK9M2MQ9I7YkaHNfH9ptd1bkzBtYQPYsDmfWeBC822nY8+Ps8Z+l8qeT0ZM+fji758d5AGdPk1n8NpdqZUQ0O3MY27byyzpNbfCwBbHb2l1EPVo7gHC99DjIjOWHqvUgr8qWuMpUiipz5fXCuBYCgG78IvSHetf2SuJ3cTcvvEafkunhGsnhGs3BGX0aT60YiOvJq.rxJ.q7RAX4huqzPwUZn3JMlWfkMN.6vW+x3ayT1DjWYSP97KbaViZUqbT7sYJ4MJnj2nPtENvZe3KOn8kArXyyy8kUDA3ueBSOIL8jvzyWdL87vvT.Ib8jv0SBWOIb874.WO+1vzZIr8jv1SBaOIr8r7Y6I+kbqMdVnn78zrd8iuour6VWM5jW2cN.2BiVkX.NIwJyA3VXTqDSvkaN.2hidkBwCbbBVlC3svHxKF1NIUdyA3VXzrDCvIIZI9fawwPa4qFbpbzdoPL1rAE7e4vccvPN0D5fRnCJgNnu3nC5aTxAjvGTBePI7AkvGzmC7A8sJ40RHDJgPnDBgRHDZ4SHTwK4JbhzPQYDZ2ipUq5MMkPEhA9jbBMOvagQJTbfmjUn4AdKLZghK7xMOvawQLToXBONyPyC.WXTCEG6mjan4AdKLxghC7jrCMGvawQOzyhA7T4G5xA4795Bw+K8RB+PI7CkvOzWrutP7T.IzCkPOTB8PIzC8YzqKDOsVB6PIrCkvNTB6P+x85BwyBEkbn8pebiaKutPJnSRMzb.tk9qKjB3jDCMGfao+5BME3xMGfa4+5BME33jBMGvao+5Bo.OIkPyA3V5utPJfSRHT7A2x+0ERAbpzAcoP7lHG8MwZz2zxi9FK4e+rD+s0THALatB60Z5GyaixpI9KCF25ZrogVehM4MVVbev2CmgM6wj6ZLlstFiI+0XLEtFio30XLktFiY6O4X3zwTYHi1WVFJH.NfQbzcpZSN5dUs+GfSfQet
      

      Maybe it is not as complicated but for me that i am new to this Hise platform it is...
      Any help would be much appreciated!
      Thanks in advance!

      1 Reply Last reply Reply Quote 0
      • Dan Korneff
        Dan Korneff last edited by

        I've done this with my drum instrument. Lemme see if I can dig up some helpful code.

        Dan Korneff - Producer / Mixer / Audio Nerd

        DimitrisSP 1 Reply Last reply Reply Quote 1
        • DimitrisSP
          DimitrisSP @Dan Korneff last edited by

          @dustbro Thanks a lot!

          1 Reply Last reply Reply Quote 0
          • DimitrisSP
            DimitrisSP last edited by

            Deadly Silence here...

            It should make me think that the guys of this forum are kind of snobs (but for sure it's not the case because i have read a lot of other posts where everyone was ready to help and to give directions in many normal and even in strange situations/questions).👏

            It looks like this forum is not a great place for Drumming Instruments.(Maybe great for Synths, Oscilators, Fx, Legato Stuff etc but definitely not for Acoustic Drums)
            I hope i am wrong!

            Anyway problem solved changing some parts of the script and now Hihat works as expected on a full choke senario...
            There is no need to have the samples in Sampler Settings to Playback(Normal)...The code works perfect with the ''One Shot'' setting and instead of

            Synth.noteOffByEventId(int eventId)
            

            i used

            Synth.addVolumeFade(eventId, 300, -100)
            

            which is what exactly happens in the real world (There is never an instant stop of any sound even if it's choked)...so i used a decay of 300ms...of course anyone can play around and find his sweet spot according to his ears/taste.

            I used a Container for the Samplers of the different Hihat mics and opened a Script Processor in the container to insert the code.

            In "onInit"

            // Use const var for constants for improved performance.
            const var HihatClose = 42;
            const var HihatPedal = 44;
            const var HihatOpen1 = 46;
            const var HihatOpen2 = 49;
            const var HihatOpening = 50;
            const var HihatLoose = 51;
            const var HihatTight = 52;
            const var HihatFootSplash = 74;
            
            const var HihatArt = [HihatPedal, HihatTight, HihatClose, HihatLoose, 
            HihatOpen1, HihatOpen2, HihatOpening, HihatFootSplash];
            
            //  An Array is also a constant, even if it will be populated later on
            const var evtList = [];
            
            // make sure it has enough storage to avoid allocation during the noteOn callback
            evtList.reserve(64);
            

            In "onNoteOn"

            function onNoteOn()
            {
                for (i = 0; i < 8; i++)
                    
                if(Message.getNoteNumber() == HihatArt[i])
                {
                    // Always use the for ... in loop if you don't need the index
                    for(eventId in evtList)
                    {
                        // Send the note off command for the given event id            
                        Synth.addVolumeFade(eventId, 300, -100);            
                    }
                    
                    // Clear all notes
                    evtList.clear();
                    
                    // This is necessary because you will kill the note artificially and HISE
                    // can only kill artifical notes for stability reasons
                    Message.makeArtificial();            
                        
                    // Add this ID to the list (it'll add the artificial event ID)
                    evtList.push(Message.getEventId());
                }
                
                    
                if(Message.getNoteNumber() != HihatPedal & Message.getNoteNumber() != HihatTight 
                & Message.getNoteNumber() != HihatClose & Message.getNoteNumber() != HihatLoose 
                & Message.getNoteNumber() != HihatOpen1 & Message.getNoteNumber() != HihatOpen2 
                & Message.getNoteNumber() != HihatOpening & Message.getNoteNumber() != HihatFootSplash)
                {
                  Message.ignoreEvent(true);
                }
             
            }
            

            And the snippet is here:

            HiseSnippet 2926.3oc6b0sbabaEdoj2XKZq331bYu.MWzPMggdIE+QptdrnDorTijIGRF01ISFOq1EjDiWtfytfRlwimoSupON4QvuC8EnOB4pda6A.K4BRQYsTkTVwd43wl.mC.9v4b1CN3SqUcOpE12m5okXsVC6i0R7.8lCcYc2qqIwU6vJ7NNfz0jgZg8YZ6NruouO1VKQhUeNWiDqcGMwme4Y6Z5X5ZgC6RS6DJwBeDoGgE1a8c9Nhiy9l13VjdJZmemCsnt6QcnC.zrptgVeSqWY1A+BStZqnqk3ypZSXTulLSF1WKwc1kZOrYW54tR8Og3SN0AyajUqILQxt2m5XyQLuWs85RbrqOZW6qokPudnMXUoM3K0OlXSF2ens3KDBPgiP0djXk2G7xpBOinCuDJv6NR38H8lVdj9rPIbrce8CcYXu1lfKPEVRc0V4+jPeOJngKKSOyWg22CZLdDoJZXjFUvvXimrdx0SV0sCwEmwGy9N7PoKIU9boQFutX9MMJrU47b8loV4ijVEijVaGEsJXDIsxFIshzdrzE1iqmr8.WKFg5hntufxv0bSsQx2jbsjuMIZZQsaOSYbmiG0wA6MSw7GV7deCLk6fdmh8RiNyzY.drhPTyjgk5WdXo5SMVxXEEEotG5RX05icurfUsf.L3ae+gULYl732f9.85i8XDNDRTAeFjXPFMuldEr+qXz9Bc60m5xmgDOfE7nnL9ceGpIi31oEAfJABrSpCNjSold1ZuVMkyvvF+zNAqsbgTFwocFkm4A54ysU9RE2dysLzHLbuQBtud9MKlynTwrET5OmbDame6hkxscAMF90L0oBDTHaVXHhc+J8Rn+l0ShPeErx+EhMq6W8GQYymwHsnyJD+9NlCqYwLOC+Bg2Cj21zwGKU3H54v.g9xkW1wADY6r4JI6XuA9LZum6Y1uKwxexQWA21bfCqb+9XSOdlYPLyaPfzccfrqvr0.LqTPhQlhaK9r0VFk11nTVoZsnc53fOlZimbx44Ag7httXGNdjc9893SvVPrlBfBWQP59NlrlrgNSOY0qNx0bAAPXqGKbkxMVPUWaE.Tb8juU6btIdr++c+ic5hIc5Fd1yeuwNZWLcJjTmZO.P1jY54GuEH.dNahTp7zlt9D1P0i+VJo+iJbejdcByp6rw6Jy.uvSlKa7FbX555Ua2FhJBA6cz2+ut7O4TEJ26Rps4QA01vyS.8g8VDE3zOxE3jX0+OKnwXVULbuO.EzLGvKxEzLx4LavMprle9t5nG+XDjbAAVWeFb7mGpM0S1xzk4KZQ502idF1FAGBAs6wcjYVOY3PDq0dNTXddJJetmbAY0w1lNbY4unL9ghY4xJNaY43x1d1xfC0.oELtnzinRzTH6Ek0hmXiKaFHceJk0DNYwuKnPo7h5SlRkxd7A+CgarzJSaZEiQZEnjFsdxvsaZksW5I1NomFF+n.BfWBU1EU1yybHh3ifz7Tj4X+TZD9LrKhzFQXnygmfPmhQ8o84Iz.+F+u8fpcT2J3yXGQ7E6jwKAu1Vj+.OLeZ5Z5ivtzAc5hfyI8fKSfXvZdFkXCKuC0RjqDYOvi6EXcwHWQwaHKP5ovAjqmLXMx3g8wdmAEJKJ3aFk6sdRwQ8HQ3VJB.JimfHn+DZK3e9luYCoP9G42HsScLDVCXJSGLiOKxR.RsA5oOcrW5GH+XvHeS3D.ayxNmaNzGM.BP3vlulYxjAQbQNTZetUbHc.xl590LjKFrebsHt13WGNMvfRws4rCs4CLXmp.TkkLXYahcsGamPz1sA2WO3gIaAB3B5P3dQwzh.qrxmImLQl3Ll11mPcFzCySWNBLoQaxuMx2lkecjYOCucZqY.91yAp0g6ZE.zOT1H2nEWgTbW3LGeqtPfI7GWLOkio2PHHzxjak4lSQT4q3+0XS.TbBoMwh.K4PD2NbvgMqNwTZYxiR.ohAFnuY..ElMH7+ThCb7LxCa5CQ2gieTDBOpt73kJ0kYVtv9orM2cAanCqvi74v1g+DSJB6q4nwV5MC2EAdtCqrwEsc8G32UMlspzckZiQly.uxbDo+6epZx0+.5pzSl1SNsWs1xz4WsdxDsQcVkI6ild4lqYkmD5p0LLu5zYFFMRRGWpGV3dRwq+V0+.0IeK6BoIWLWH0PaTt3vqnNdCppT39RsWw1YFpE10B+9tw2E4Sw6h76jP42n2jAo66AOy2zrWeHZTfm0jE8Vq6M6MQp6gcnl1MI+jhZuamcG.lKuI68m2QrTk6QG3NwZErMZf6iMYbFCBEducZz34dzA8mdT+xyDwJs7fZs.KgpfZtXvrOgt64Q88aCaGwb4qt8qOvqC2VE1SC3jLO+I6CxkFvY.mHrDI3O35i4tZh0wlLOxDTIIVEiVlB28J5x1YmpctoZu4TsyOU6BS0t3TsKE1Ng9jgh2KZIJO1recSXKpn4tjffLPlrG030wlUwRqb+ylXFmyMekYZFWn6ytUSf9MWR1UiFbmgEbEEL9PIFuqd4Cpzrg.ZqOJmPYdOp35XpKseWpKwZxHeHRtSGrmJZm4VnLiAO3s2.3hMgc+ueVEnl2gS0qllT4K1yQvCZNpce.3PF29e9u1QLcpczbfOahLZ+s20.CEl6GtduyampVzIyhLWl7rueStdDCKVWWtIQhLn2tO38yGgUoG41MXeftHr3WC10GpGDv9qBC6mqG7rzsES68F8ie4DnFCK9pqvtWsti68JQJbTcvgipo0fS4YSdJODXQNE6LYxCnBofERLGhp0EGxtnRorPJOd0O4KO98GZKqhAI9gBcqOAmndNDu76OTPsAc.u.tQk1pC0+1Dp42BqVE7J7KxJaavayADmmOQi+K7IPX1QkLyElcjPMqQSEr2B9t7gqUwt7mzD25yY5ZD7gaVvgD7Dnluvo1CJMERVHa.eoAkW7+czymS6H52gGF7cwOBzw8eBeV4FhCHhupqmMWIsfKaDToKwI3UHwP+M0aT6OWcuVub+ZGUoZi2J+ALTq6iO3vCJ2Bs2Q0ZVsBp1AuLalyMOSqxf9NDKvgvcaZW.YkxGhL36iQln+4BYEtJjsesZsPMqeT4lGDY3UHaH7fuOFdh9mK383qBdGUCLbQFX4Kp3QKp3QKtvAVs5UeQ1nCrsU.11J.a6kBvxEcWoghqzPwUZLu.KaT.1gu34Q2lo7PPdkGBxmegaypWsR4ihtMSIuQAk7FExsvAVqCe9AstLfEYpeturhH.+8hI+Il7moH+4t2zj+DyzyMOSOOLLEPLWOwb8Dy0SLWOeLv0yuMLsVLaOwr8Dy1SLaOKe1dxeI2ZimEZR9dZTq1w2zW1cyqFcxq6NGfagQqRD.mjXk4.bKLpUhH3xMGfawQuRgnANNAKyA7VXD4EAamjJu4.bKLZVh.3jDsDcvs3Xnc6qFbpbzdoPLxrAE7e6xccvPN0X5fhoCJlNnO4nC5KTxADyGTLePw7AEyGzGC7A8kJ40hIDJlPnXBghIDZ4SHTwK4JbhzPSxHztGUsZkaZJgJDA7I4DZdf2BiTnn.OIqPyC7VXzBEU3kadf2hiXnRQDdblglG.tvnFJJ1OI2PyC7VXjCEE3IYGZNf2hidnmDA3oxOzkCx480Eh+qLmX9gh4GJlenOYecg3o.hoGJldnX5ghoG5inWWHdZsX1ghYGJlcnX1g9v85BwyBMI4P6U6352VdcgTPmjZn4.bK8WWHEvIIFZN.2R+0EZJvkaN.2x+0EZJvwIEZNf2R+0ERAdRJglCvszecgT.mjPnnCtk+qKjB3ToC5Rg3MQN5ah0nmokG8kVxekZI9kTpnGvr4JrWqoeLuMJql3WVXbqqQFCsdDaxKsr39fuENCa1iI20XLadMFS9qwXJbMFSwqwXJcMFyVu2wvoio7.FsmrLTnC3.FwQ2IpN9n6U09e5yvK9B
            

            I hope it will be helpfull to some of you!☺

            1 Reply Last reply Reply Quote 0
            • Y
              yall last edited by

              @DimitrisSP I avaia do something a bit like that by putting several sample on the same note and playing with the velocity. generally on this forum people answer only if they know ... personally I have always had the help I needed and if I can help I am delighted. 🙂

              DimitrisSP 1 Reply Last reply Reply Quote 0
              • DimitrisSP
                DimitrisSP @yall last edited by

                Hi my friend @yall ...
                I can understand exactly and it's fair enough!
                Everyone has his priorities and of course his knowledge base and sometimes it is not so easy to help!
                Anyway this problem is solved (For sure i will find a lot more in the near future developing my instrument)!!!
                Thanks a lot for your kind feedback!!!👍

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

                22
                Online

                1.1k
                Users

                6.8k
                Topics

                62.4k
                Posts