HISE Logo Forum
    • Categories
    • Register
    • Login

    Connect Waveform to Sampler with Scripting

    Scheduled Pinned Locked Moved General Questions
    waveformsamplersprocessor id
    16 Posts 6 Posters 943 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.
    • d.healeyD
      d.healey @oskarsh
      last edited by

      @oskarsh In that case I think one sample per sampler is correct

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

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

        I would use AudioLoopers (or even a custom scriptnode synthesiser with a file player) for this.

        1 Reply Last reply Reply Quote 2
        • oskarshO
          oskarsh
          last edited by

          @Christoph-Hart thanks!

          What is the best way to trigger a audio loop player when a specific key is pressed? By default it plays on every key.

          Should I use a midi channel filter for this?

          ustkU 2 Replies Last reply Reply Quote 0
          • ustkU
            ustk @oskarsh
            last edited by ustk

            @oskarsh Yes a MIDI channel filter or just create your own key filtering if you just want to filter keys in each Audio Loop Player
            A way to do it can be detecting the key in a general script and change its channel to route it to the player you want, where you previously placed a channel filter

            HiseSnippet 1080.3oc6X00iaSDEcbRlxlTXosTg3Q+.HkHUVEGJsHUU1ra9nJhlciVmV3spo1SRFs1yXFOdgHT+uwS7L+T5+.3N1NqcJdCAC6Vnr9gHO26bsO2OlywJSjBGZXnPhLpOcY.EY79X6kb0hdKHLNZTejwt3wjPEUZlX5vkAjvPpKxvn5SzFLpWCAW9e8ur+gDOB2gtxj954BlC8oLelJy5jteCyyaHwkNk4ma22u6HGAumvSDA3oJtMJf3bJYN8HhdaUvHiaLvkoDRaEQQCQF0NT3tzdg3G3I6+4rP1K8n5EVHa3AkXdnvyUiX88ndKXdtSVk2gH3gNIqJTMoJbW7XlK6b6YUiaE6vLKh70CiJaBdVkDdUxAuZIv61XaGIKPk4QisahGwgF0LBzBxCqj8hL9YbOArAtZOexozgRXw4Az7AsaeOS3mVOZVD2QwDbSA+HghdLuYqF+Ti5MdUCy2z0rYE5S+ZjBOOprP25ttbSA1jG4+Rp7dlmQ7hnmuQH8Wu9disq95jj041nfOhyTGGPSWm0ArJnCfRKavcOaTehh.MEiTav9BnRESCGi9zyfo8jVTcbeZ3oJQ.Luuk8uOJ0Z1zkUQ8wJSMvlWPShMyr4XHT3PydyoJsqihqkMaY9YlcLe7iMa2pQ85q1SHUAy1bN0qoUqG0nN0KjVr6Nf6WcQ8+K4W6akgK7+TCWWECT.sjvMxinVmqRSPm5.pAqMLoO4yCYpkY7uud++BDXsKj.qvrcKg6swSXJmEEi2JEfWM23kLdSkC9.7fYynNpLvVCO76JK2e4fxtIP4lXaFmFqQGCjONds42RNiZ9DJmJ0EUqKTlFg90sUlNXqkoO1QAu9oRBOLPDt1C1l5ylJ35JRlwmEBpOzu+DcWNu8dBhrPWud+gPRVXL1DUjLdb4.eQDWs13Q0RoGu9olb6u.w4Z+69aGL9iv6CwobqCYdf3e5Pz3Q8GYl5vLwy5CQuYsr51guMQ9YTMkRFtSEiscSU.s8Xt.zXtZ35jfpDAETLqc9lLZKdHMv9AT.4RU4heGc7C3tqhFabKD5JjGt51Ql7mL.TeEFsY9AdP9bF0CDahw3c.0kYjHO0Jqq28GK3hfEBNyIeo6DpRxlOmJyi8BSnCTJ3S4yrb2tmP8nj7bEeZ2mBmwIRnNQKYsvZ6qEape8I3D3Zp48Le2P+r5+O0OOQDoX74iIvf5OBmaARDaP1xglR0o+NOiJZRfj0s0qSzs3twK9M3J0okdsQpSqUNymt6jjtuG9HAKb0Aq36eqoMesF3eGMvN+mPCr60ZfWJZfctVC7cIMvJWqAdYoAdU7N7INRwKbRXpzyx6DaAxad7+Obc7X8ZSqyYnvs2qMxGzadgiitb+4P8o3X5ThX9hRDy8KQLeYIh4AkHlGVhX9pMFiVp+fHkvO4nHXXxf3+tKCiAbBLIGO0i9cPeKMoL
            
            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey
              last edited by d.healey

              Add one of these to each loop player. No need for channel filtering.

              Link Preview Image
              RhapsodyBoilerplate/modules/NoteRangeFilter.js at main

              RhapsodyBoilerplate - Boilerplate code used by Rhapsody.

              favicon

              Codeberg.org (codeberg.org)

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              1 Reply Last reply Reply Quote 2
              • ustkU
                ustk @oskarsh
                last edited by

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • oskarshO
                  oskarsh
                  last edited by

                  @d-healey @ustk Thanks!

                  I am using this code now to ignore all notes that are not meant for the audio loop player.

                  function onNoteOn()
                  {
                  	const ON_NOTE = 41;
                  
                  	local note = Message.getNoteNumber();
                  	if (note != ON_NOTE)
                  		Message.ignoreEvent(true);
                  }
                  
                  d.healeyD LindonL 2 Replies Last reply Reply Quote 1
                  • d.healeyD
                    d.healey @oskarsh
                    last edited by

                    @oskarsh Looks good but put the const in on init.

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

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

                      @oskarsh ..and dont forget to do the same in the onNoteOff()

                      HISE Development for hire.
                      www.channelrobot.com

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

                        And since this is running 16 times for each note event in the audio thread, it might make sense to further optimize this, remove the conditional and variable storage:

                        Message.ignoreEvent(Message.getNoteNumber() != ON_NOTE);
                        
                        ustkU 1 Reply Last reply Reply Quote 2
                        • ustkU
                          ustk @Christoph Hart
                          last edited by

                          @Christoph-Hart Clever!

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sawer
                            last edited by

                            Hello everyone
                            I am also trying to connect 1 waveform with 1 sampler, but no result. It actually crashes just after some seconds.

                            I tried by connecting the Waveform to the sampler in the waveform properties, but nothing shows when I trigger the sample.

                            I also tried using scripting, but no result.

                            My goal is to create a simple sampler that offers the possibility to trigger different transient of the samples by dragging inside the waveform. Just like inside the Default Hise sample Editor.

                            Is this achievable with the waveform?
                            Which part of the implementation am I doing wrong?

                            HiseSnippet 1214.3oc4W0raaaDDdok2TKYm1lfbnWJ.gQO3.3DH433TzdHx1xNUn9GAI2jbKXM4HoElbWhkKssZP.5iTO2S4QJuAoyRRItTQ0vQ0Isnkm3L6LK+1uYmeXGkzChikJhS0SFEADmUn8FIzC2cHiKHsaQbtK8Eryg9RUXOAOJBzMH6LJhEGC9DGmJOyXmS0EIoOu6o6vBXBOnPEg7bI2CNfGx0EZ6z7m4AA6y7gS3gVVuYy1dRwtx.YBhoJz5jHl2YrAvQLiYKPIN2ZOetVp5oYZHl3r3NR+Q8FJuPjY+y4w7SC.iPCRObixTuuLv2fXy6jcGxC76L9rGSHNzNELQkLl3dzC497I5KXjuNcA2BOr4CmEJCuJkfWCa3U2Bdy.RNVPZwLHcGZOOEORWrhAOKSaKzfpOCocanjYKw4szcknAB8CCYmA6qPgINr1V0qut6F0qe+erehvSykBWo3HoFNVr18q85ZUq8lZtSuT+9ybMymQICB.0LW1DoUWkiqIRBOETq6dNKHAlXHd7Kyoz+ZN0Nj6kcpsLTJZK35iifb4Oj0I4TE91uztESyLAhbcncQfRyMPvoEbNdqNKrTk1BhOSKivKn6JCijByN3rhN+dTVfX+.ISyECNgiPkiQnuhZqpA4R6jlQEBsadA2WODO2NubABYHvGLTaj7KvaFPpMIWkb5fwIQUu0xK+Gu2rQbMDVn883SYsajq92Lp0vk5BiGCqTJwoE800bcWcBw01e0evc0UW2nrsvGtDEePiTQLuKPdwKjpyhwLY.WnOKHFp8FCzmPUzLp514T0ArSgfTNZIZ56kHGQSKx46ZZ.pgkGezcagwa2eBT.Vl4CRgvjWoeR.SWNi1TFKeA7JYozHSthHlqGYWla5z7Eudo4EUgl4kuqIbuCsCW6Mb13cgYfW7R7mZ7lWz71z852G7zEfcQ59u7JqPdiCkuMCJ2k1Sq.VHle0iEFgUkRwSMZtzMRernqcerNJ.y186w+UKydaycRP9RUV6u2L8SscnLQT5aki7tPDvzX32xmkZ1s6yTxjno85cOM8xxIJrOJRE1Kbr.PdWaeF2UIii6iGmz8J1doNIpAFtpPSW3bPEWV2QIgXrWHf.SgZGGSgzXvDq4dGxzJdopboek5mvRi2Xy8T4FSIuwTxOZJ4MmR9wSIu0TxOoPNiPOjEYtYXFtXpNMew0qSCtAcX3Q1xxc3Clr4YZJWhwxzIbdJtrFkYFCEbqOUyo7Ys.1e+5s2LiUUcLF6wMgp8Dmi4nnlr4daA8YIA5wZKWu3PoPFMTJ3dkyHva3CF.JarOyCz1ZMlPVn4dM6BA.KFrasc.W.LU4D8OJtnwG8HlyLd8MzL35ZJx49ei9jU9eeexqh59x7tjt3WWo+WdbdEZZccWSa3+ofZWYhYR9ws3nXevdXueOvta3BlNrYx0MxF.0CD9oBl4wyWrw3VmlEaLdQh23sBOa4umMOdEPXZcjN9W.1TNv9JcLNggARX6sOKnLj4ojuxK6W5LXcoTMHJEo+CeU5gFY2FjzeyC8iV+g0IgXupW44YRDd.xvy1mMlCedzb3ylygOOdN7Yq4vmmLG978WoOlwD1NQKCyJRhJ5rW1EKm8lbwpB4OcLdHKE
                            
                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @Sawer
                              last edited by

                              @Sawer You haven't set the processor ID

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

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

                              27

                              Online

                              1.8k

                              Users

                              12.1k

                              Topics

                              105.6k

                              Posts