HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode: Granulator

    Scheduled Pinned Locked Moved General Questions
    63 Posts 12 Posters 5.3k 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.
    • FatMitchellF
      FatMitchell @crd
      last edited by

      @crd @Christoph-Hart Is there a way to Make the waveform and other paramers on the Interface? id love to work with the granulator

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

        @FatMitchell Yes, just set the audio file slot to external, then hook it up to an AudioWaveform like you would do with a Looper or Convolution reverb.

        Then create parameters for the knobs you want to control and connect it to your UI knob:

        HiseSnippet 1416.3ocwX86baTDEdOYuN1NPlDlPunyYlfGIvIvLTX4eHkQjH6a7oXRCiy56VYsi1a2ataOao3IcT.UTPGUzPAMzRIL7mPXnmLCETB0T.uc2S2cJxwwQSHnBOZ28812298d62akcik9zjDYLxYotihnHm2.6MRn5uUeBSfZuMx4J3NjDEMtpcpMGEQRRnAHGm4tidBmklGY97mquIgSD9zhoPn8kLe58XgLUwrtMtKiyaQBncYgkrdsFs8khsjbYJfm4v0PQD+Ajin6PzlUAibVnY.SIi8TDEMA4L+lxfQd8kmHr1uOKgcHmpGTG4Aajc5VRdfFw5YQa0mwCbGetSPvt3VvByYYgqi6vBX4yWvFW0rP0BOJyGNUlDdyMA7p+7f2Y.ImRPZdKjtF1yOlEoJVQimKiaKfjSOBP6kgh0VjyOg2RBFHTqFRFPaECCxcXkaWq1MqB+4FeTuTguhIEUkhcjJ5thUtwxmt7RK+3kq9rK0q2YtlNLwRNmFelKqyzwmmiqHRCOjFeypGS3ozbCgi+jb5BWLN02dpKYnTzVvT6FQyFe9EEnLZCxEUxPHDakIS71YYhMRCXxOgbLsmLNDwBzUGSLWcj4vT99P.QQPNuC9T2818iatU2CZs681t4dOtKMQ0NLJkmPW8DxwnXh3HJbligbH1Q6oYllh.83ZdYHz.q4rv5JYvxiyBnwF7bI7cExCmDFO7K+4eccz8ausFIPoR1AEN7QzXESywNaSOFt1Zq6VBuMMYfRFYXhvHoPSKNK9RyECy4gFOrwnhAxFQiI91AFAHyNVs0CpiRHgQbZaQ.cnMudBKP0WSAeMPJ8ori5aHHAxPH4n6JuPJYn1suE7Zj9K+.raIpQ55nELFfBYAAbpqLgoqSKox8ifXXjG6QF97zq+824oO5yVOrrPHBERFVVWLIsWO1PiBVOFOLQAXpcHHrgbdK78SnUCn8HobU0jAv9vYhAzftRi8OepIhDCxhvUY8JKiyQJZZoCPzRFjxIpIUxzx2YKncrr7gViP.a3nxGiWB4sZmq71EEhWC6xT98OaLV4Lvn915+AXLqovaha1qG0WU.v4wsdvr1An1EuC.1F+kyR+PL0AehpgxfXmzPyUuVLtFCXGs9w3FBeNtP7MJlBUQztRWNYzJ16Z6A.+lUOjK8GnKxmVwNqhbSsEq32mHDTdxrHruvqnlkn8joJl3nND3dk9ZMb98fmP3S2JCcZNnhVfvNt1XIUOpHvL3efOYKVOmvfEqOdwh1AncnpSjwCL4nruCEB1DRhgjOn2v5nM3b4IZEIVVoKjXLy4J4ih5KELe8TVKFizMBkoB0X35TYGYfVQpEwGHpQtDsz20v5daPEHMdU+7JwIh8DECvVL9IU1SMDxPiHIHun4a2wBIZk+JNyUpSfsLTOBtjUwFm1I6qW0mvQ6aaq.fUGEKiXPL1Z5QPOK6cZzTGgX5pkV9hi3IwmQymSGNtYVo59xizIHaOD6F1DpHCft+F2xRwcXhryi0lNjg4iM8aKwSPNIeDzRov0BgnB2KDP8J04XrcdCnmXImxVp4uRZ546zuz4vq9fQOY8MRUxP3diQHDUBKKLMV9s0mFKnFWHr7MeUse2fkKYUhQScjdAwdsFSG6unwKGObY7chgxbiCOyV0swKH9uJxC5G.Y6yL0l+ZH5Kh8.YZRv+SAeapJUPOufaUIJAkmo18UOxxc8O96u6udxm9z0MOhUPMMdRxdSa1vLQT6qmJI3397d8zlR4fPhQeeldj7qktQgD+X4A91Fr5S7hlY.wQg4mJuD7a1gwUye4OFWa0Z52zxNv2W+tk2sNBc197dyfOu+L3yZyfO2ZF741yfOevL3yGdt9n+uFjIZaJyPcbaZ693zTPf24XZ8g9Wv+UzoM
        
        DanHD 1 Reply Last reply Reply Quote 1
        • DanHD
          DanH @Christoph Hart
          last edited by

          @Christoph-Hart How can we control the sample map selection in the granulator from the ui? I can't link a knob to the combo box in the granulator itself...

          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
          https://dhplugins.com/ | https://dcbreaks.com/
          London, UK

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

            1. Register it as external audio file
            2. Use the loadFile() method, but with the samplemap wildcard identifier:
            const var af = Engine.registerAudioFile(0);
            
            
            af.loadFile("{XYZ::SampleMap}MySampleMap");
            DanHD 1 Reply Last reply Reply Quote 0
            • DanHD
              DanH @Christoph Hart
              last edited by

              @Christoph-Hart should it be:

              const var af = Engine.createAndRegisterAudioFile(0);
              

              ?

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

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

                @DanH yes I just typed it out of my head...

                DanHD 1 Reply Last reply Reply Quote 1
                • DanHD
                  DanH @Christoph Hart
                  last edited by

                  @Christoph-Hart Forgive the noob questions on this, I'm coming into it very cold.

                  What does the XYZ::SampleMap part of the wildcard refer to?

                  Essentially I'd like to select the sample maps in the Granulator with a combo box

                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                  https://dhplugins.com/ | https://dcbreaks.com/
                  London, UK

                  1 Reply Last reply Reply Quote 0
                  • M
                    mrfurniture5e
                    last edited by mrfurniture5e

                    just set the sound record opening to outer, then, at that point, connect it to an Audio Waveform like you would do with a Looper or Convolution reverb.

                    Then make boundaries for the handles you need to control and associate it to your UI handle.

                    Thanks

                    office furniture in Dubai

                    DanHD 1 Reply Last reply Reply Quote 0
                    • DanHD
                      DanH @mrfurniture5e
                      last edited by

                      @mrfurniture5e amazing.... 😆

                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                      https://dhplugins.com/ | https://dcbreaks.com/
                      London, UK

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

                        WTF? When a spam robot starts to post working answers to a super specific problem you know the uprising isn't far.

                        DanHD ? 2 Replies Last reply Reply Quote 7
                        • DanHD
                          DanH @Christoph Hart
                          last edited by

                          @Christoph-Hart any chance of an actual answer to the question though?! :face_with_tears_of_joy:

                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                          https://dhplugins.com/ | https://dcbreaks.com/
                          London, UK

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

                            @DanH isn't it simply :

                            af.loadFile("{PROJECT_FOLDER}MySampleMap.xml");
                            

                            ?
                            https://docs.hise.audio/working-with-hise/project-management/projects-folders/sample-maps.html

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

                            DanHD 2 Replies Last reply Reply Quote 0
                            • DanHD
                              DanH @Matt_SF
                              last edited by

                              @Matt_SF I hadn't tried it - I thought it was a different kind of wildcard :man_facepalming:

                              Thanks, will give it a go now :)

                              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                              https://dhplugins.com/ | https://dcbreaks.com/
                              London, UK

                              1 Reply Last reply Reply Quote 0
                              • DanHD
                                DanH @Matt_SF
                                last edited by

                                @Matt_SF Do you have any idea how I use this to select the sample map within the Granulator?

                                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                https://dhplugins.com/ | https://dcbreaks.com/
                                London, UK

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

                                  @DanH I didn't try it but I guess this should work (thanks Christoph!) :

                                  const var g = Synth.getAudioSampleProcessor("ScriptGranulator");
                                  
                                  const var sMapSlot = g.getAudioFile(0);
                                  
                                  sMapSlot.loadFile("{PROJECT_FOLDER}MySampleMap.xml");
                                  

                                  Don't forget to setup your granulator node so it uses an external slot :

                                  5f462d2b-7e86-44a7-97e6-c93c619e5410-image.png

                                  For the loading of audio files, you can also take a look here, the process is similar :
                                  Changing Impulses in Scriptnode.

                                  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

                                    Nononono, the {PROJECT_FOLDER} wildcard only works if you use it to load a sample map into a sampler. For audio files slots it's different:

                                    You can basically load three things into an AudioFile slot and it tries to figure out what you throw at it based on the wildcard (or other things).

                                    • a single audio file. This is where you can use the {PROJECT_FOLDER} wildcard to reference the embedded audio files (or the project's AudioFiles folder).
                                    • a SFZ file. Then you need an absolute path with the file extension .sfz
                                    • a samplemap. Then you need the wildcard {XYZ::SampleMap} - like, literally: XYZ::SampleMap) :)

                                    The XYZ in this wildcard means a 3-dimensional mapping (Notenumber, velocity and RRGroup) and is used in the HISE codebase whenever an audio file loads a sampleset with multiple samples.

                                    DanHD Matt_SFM ? 4 Replies Last reply Reply Quote 4
                                    • DanHD
                                      DanH @Christoph Hart
                                      last edited by

                                      @Christoph-Hart haha, I just figured you had written a generic example 😂.

                                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                      https://dhplugins.com/ | https://dcbreaks.com/
                                      London, UK

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

                                        @Christoph-Hart OK thanks for the clarification! I referred to the [documentation] (https://docs.hise.audio/working-with-hise/project-management/projects-folders/sample-maps.html) but it is indeed for the usage in a sampler 👍

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

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @Christoph Hart
                                          last edited by

                                          @Christoph-Hart Rather than a sample player, would you like to add a time stretch node with incoming audio process?

                                          1 Reply Last reply Reply Quote 0
                                          • DanHD
                                            DanH @Christoph Hart
                                            last edited by

                                            @Christoph-Hart ok so how do I load this into the actual granulator?

                                            I tried this (cobbled together via the convolution thread) but I assume it's meant for audio files rather than sample maps... I get an 'object' loaded into the single sample window as opposed to anything in the sample map one. Do I need '.xml' at the end of the loadFile string by the way? I assumed not...

                                            const var g1 = Synth.getAudioSampleProcessor("GRANULATOR1");
                                            
                                            const var af = Engine.createAndRegisterAudioFile(0);
                                            
                                            af.loadFile("{XYZ::SampleMap}AAB303-PROTON");
                                            
                                            inline function onComboBox1Control(component, value)
                                            {
                                            	g1.setFile(af);
                                            };
                                            
                                            Content.getComponent("ComboBox1").setControlCallback(onComboBox1Control);
                                            

                                            Screenshot 2022-06-15 at 22.06.13.png
                                            Thanks! :)

                                            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                            https://dhplugins.com/ | https://dcbreaks.com/
                                            London, UK

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

                                            14

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.3k

                                            Posts