HISE Logo Forum
    • Categories
    • Register
    • Login

    Looper / Recorder FX Plugin

    Scheduled Pinned Locked Moved General Questions
    recorderscriptnode
    19 Posts 6 Posters 1.1k 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.
    • oskarshO
      oskarsh
      last edited by

      Hey, I am playing with the idea of creating a free and open source glitch plugin with hise. Basically record a specific amount of bars and randomly play back sections of that recorded audio.

      I see that there is the scriptnode recorder but the documentation is very thin on this node. Can someone help me get started. Is this idea possible at all with hise? How can I further use the recorded material in the recorder. Any tips here are much appreciated!

      Thanks in advance

      HISE Developer for hire :)

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

        Yes the recorder might deserve a bit more love. Its basic functionality works but I never used it in a real project so I'm sure there's some issues along the way.

        How it currently works is:

        1. Assign it an external audio slot. This is important so that other nodes can use the recorded material. You can then add another node (eg. a file player or granulator) and use the same slot there.
        2. Choose a recording length (in milliseconds)
        3. Set the first parameter to On. This will record the predetermined length and write it into the buffer.
        4. Once the recording is done, it will be used by whatever node you've connected it to.
        oskarshO 1 Reply Last reply Reply Quote 0
        • oskarshO
          oskarsh @Christoph Hart
          last edited by

          @Christoph-Hart just for a sanity check here.

          If i want to create a looper for a 8bar beat I would create 8 recorders and record them into a file player, slicing the incoming audio at every bar. Then I am able to further process the audio clips. loop, reverse them etc.

          Can I also 'slice' the buffer into 8 pieces and only have one recorder then assigning each slice to a different player?

          HISE Developer for hire :)

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

            @oskarsh no you would need to use one recorder and then probably a SNEX node which does the custom playback / slicing. I'm currently working on a demo project in the hise_tutorial repo that you can use as starting point.

            oskarshO 1 Reply Last reply Reply Quote 3
            • d.healeyD
              d.healey
              last edited by

              Slight tangent but how are things looking for getting some kind of time stretching? Would be very useful with a looper.

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

              1 Reply Last reply Reply Quote 0
              • oskarshO
                oskarsh @Christoph Hart
                last edited by

                @Christoph-Hart Thanks will check out the demo once its ready!

                HISE Developer for hire :)

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

                  @oskarsh Alright, I've pushed a project to the tutorial repo. Make sure to use the latest develop branch build, I had to fix a few SNEX things (the new backend still needs some polishing) and the recorder node is also better now.

                  Link Preview Image
                  hise_tutorial/RecorderDemo at master 路 christophhart/hise_tutorial

                  The Tutorial project for HISE. Contribute to christophhart/hise_tutorial development by creating an account on GitHub.

                  favicon

                  GitHub (github.com)

                  A 1 Reply Last reply Reply Quote 3
                  • A
                    AHTV @Christoph Hart
                    last edited by

                    @Christoph-Hart said in Looper / Recorder FX Plugin:

                    @oskarsh Alright, I've pushed a project to the tutorial repo. Make sure to use the latest develop branch build, I had to fix a few SNEX things (the new backend still needs some polishing) and the recorder node is also better now.

                    Link Preview Image
                    hise_tutorial/RecorderDemo at master 路 christophhart/hise_tutorial

                    The Tutorial project for HISE. Contribute to christophhart/hise_tutorial development by creating an account on GitHub.

                    favicon

                    GitHub (github.com)

                    Hi Chris, this demo make my HISE crash (I tried like 4-5 times), but other demo in the github is loading fine, can you check? Thanks

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

                      this demo make my HISE crash

                      Have you compiled the latest develop branch?

                      Slight tangent but how are things looking for getting some kind of time stretching? Would be very useful with a looper.

                      Actually I've found a super-awesome time stretching library which is MIT licensed:

                      Link Preview Image
                      GitHub - Signalsmith-Audio/signalsmith-stretch: C++ polyphonic pitch/time library (GitHub mirror)

                      C++ polyphonic pitch/time library (GitHub mirror). Contribute to Signalsmith-Audio/signalsmith-stretch development by creating an account on GitHub.

                      favicon

                      GitHub (github.com)

                      I've played around with it a bit and to my surprise the sound quality is on par with the Complex Pro algorithm from Ableton (which uses Elastique). The performance isn't quite there but the library isn't optimized very well (I think the author preferred simplicity and "educationalibility" over performance).

                      There are a few low hanging fruits (eg. replacing the custom FFT implementation with the fastest FFT implementations on each OS (IPP / vDSP / FFTW) and some other stuff, but I think this is the best fit so far.

                      d.healeyD 1 Reply Last reply Reply Quote 3
                      • d.healeyD
                        d.healey @Christoph Hart
                        last edited by

                        @Christoph-Hart Oh yeah that sounds good, I've just been watching the ADC presentation, guy seems to know what he's talking about :)

                        Do you see this being added as an effect or would it be a parameter of the sampler/group/samples? Or both?

                        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

                          @d-healey I'm currently testing it with a simple buffer player node but I can see it being used at multiple places.

                          Adam_GA 1 Reply Last reply Reply Quote 1
                          • Adam_GA
                            Adam_G @Christoph Hart
                            last edited by

                            hey @Christoph-Hart this is cool! how do we compile it? im getting these errors rec1.JPG rec2.JPG

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @Adam_G
                              last edited by

                              @Adam_G

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

                              Adam_GA 1 Reply Last reply Reply Quote 0
                              • Adam_GA
                                Adam_G @d.healey
                                last edited by

                                @d-healey thank you. when tying to complete this im getting an error during the compile dsp networks step "error C2386: 'snex_node_t'
                                : a symbol with this name already exists in the current scope". any idea what it means?

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Adam_G
                                  last edited by

                                  @Adam_G I'm not familiar with that error (or snex) so can't help you with this one.

                                  @Matt_SF Any idea?

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

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

                                    @Adam_G I'm not a c++ wizard so this error doesn't mean anything to me out of the blue. If you could share a snippet or a screenshot (even in private if you want) I might be able to spot what's wrong

                                    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 Christoph Hart

                                      Yeah, that's on me - the code generator chokes when trying to compile a SNEX node that has a comment attached. Either wait for the fix (incoming), or remove the comment from the SNEX node in the network.

                                      Adam_GA Matt_SFM 2 Replies Last reply Reply Quote 2
                                      • Adam_GA
                                        Adam_G @Christoph Hart
                                        last edited by Adam_G

                                        @Christoph-Hart thank you i shall wait for your update @Matt_SF thanks ill definitely take you up on that next time. its just the recorder demo atm though

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

                                          @Christoph-Hart @Adam_G haha I don't know if I could have found this one 馃槀

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

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

                                          47

                                          Online

                                          1.7k

                                          Users

                                          11.7k

                                          Topics

                                          102.2k

                                          Posts