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



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



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



  • @dustbro Thanks a lot!



  • 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!☺



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



  • 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!!!👍


Log in to reply
 

9
Online

747
Users

3.0k
Topics

24.8k
Posts