HISE Logo Forum
    • Categories
    • Register
    • Login

    making wavetable files - already Im confusing myself...

    Scheduled Pinned Locked Moved General Questions
    11 Posts 4 Posters 115 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.
    • LindonL
      Lindon
      last edited by

      OK so if you have followed the discussion about custom wavetables, you'll know I'm late to the party on all this cool wavetable functionality...

      So I thought I'd start by testing out the resynthesis algo....against something built externally that complies nicely(is a power of 2 in length)...

      So casting about for some suitable audio, I thought I'd start with the Adventure Kid waveforms....(Google them they are a nice resource).....

      Now these ship as single cycle wave files all tuned to D1, so they are 600 samples long.... so yep not a power of 2......so HISE will need to resynthesis this...good.

      OK, here's where Im 2nd guessing myself...to get to something that doesnt need resynthesising, I can ignore the pitch of this file and simply use Audiacity's "Change Speed and Pitch" effect and specify 1024 as a new length....

      yes?

      If so anyone know of any better "resampling" software that gets me to the same place?

      if "no"... then what am I doing wrong?

      HISE Development for hire.
      www.channelrobot.com

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

        @Lindon funny, almost all wavetables I checked that came from external sources were already power of two so I assumed that was some kind of industry standard.

        You might run into issues when trying to resample a single cycle length depending on the interpolation technique you choose, it might cause some discontinuities at the start / end of the cycle.

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

          @Christoph-Hart said in making wavetable files - already Im confusing myself...:

          @Lindon funny, almost all wavetables I checked that came from external sources were already power of two so I assumed that was some kind of industry standard.

          You might run into issues when trying to resample a single cycle length depending on the interpolation technique you choose, it might cause some discontinuities at the start / end of the cycle.

          Yeah I think those Adventure Kid files are from before wavetables were a thing, they're attempts to provide single-cycle data for use in "std" oscillators.

          I get what you are saying about single cycles, I guess I need to simply duplicate them a number of times to get some "bigger" data set to work with...

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon yes but even then it's easy to create discontinuities which mess up the harmonic spectrum. In that case just try the resynthesiser, it basically does resampling with a few tricks like this.

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

              @Christoph-Hart said in making wavetable files - already Im confusing myself...:

              @Lindon yes but even then it's easy to create discontinuities which mess up the harmonic spectrum. In that case just try the resynthesiser, it basically does resampling with a few tricks like this.

              yep will do thanks. Given its pretty simple to just use Audacity to modify the size of the file to a power-of-2 value and then duplicate the contents 4 or 8 times to get a "bigger" file I guess I might end up doing that anyway and thus bypassing the resynthesis step altogether...

              HISE Development for hire.
              www.channelrobot.com

              Christoph HartC Oli UllmannO 2 Replies Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @Lindon
                last edited by

                @Lindon you could even use HiseScript to write a batch processor that perform these steps, fun little excercise and you'll get to know the Buffer class which is highly useful when operating with wavetables (you can compute any wavetable and feed it to the wavetable synthesiser once you get the hang of it).

                LindonL 1 Reply Last reply Reply Quote 0
                • Oli UllmannO
                  Oli Ullmann @Lindon
                  last edited by

                  @Lindon
                  For example, if you use buffers and slider packs, you can draw your own wave tables in a great way.
                  Add a little unison and you'll quickly get great results.

                  Here is an example:

                  LindonL ChazroxC 2 Replies Last reply Reply Quote 3
                  • LindonL
                    Lindon @Christoph Hart
                    last edited by

                    @Christoph-Hart said in making wavetable files - already Im confusing myself...:

                    @Lindon you could even use HiseScript to write a batch processor that perform these steps, fun little excercise and you'll get to know the Buffer class which is highly useful when operating with wavetables (you can compute any wavetable and feed it to the wavetable synthesiser once you get the hang of it).

                    LOL, yes I should consider it, otherwise it'd probably be a batch process in Audacity to set = 2048 then some python script stuff to replicate the contents, ..but sure HiseScript might be a better approach, esp. as my HiseScript generator is itself written in HISE script and that saves me a truck load of time these days...so Im already on the eat-your-own-dog-food utility journey..

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @Oli Ullmann
                      last edited by

                      @Oli-Ullmann very impressive.....

                      HISE Development for hire.
                      www.channelrobot.com

                      1 Reply Last reply Reply Quote 1
                      • ChazroxC
                        Chazrox @Oli Ullmann
                        last edited by

                        @Oli-Ullmann damn that friggin kewl. 👍 Teach Me! ha.

                        Oli UllmannO 1 Reply Last reply Reply Quote 1
                        • Oli UllmannO
                          Oli Ullmann @Chazrox
                          last edited by Oli Ullmann

                          @Chazrox
                          Glad you like it. To be honest, there's not that much to do, since @Christoph-Hart has already done all the hard work for us.

                          Creating the WaveTable:
                          All you have to do is fill a buffer, which you then load into the WaveTable synth using the WaveTable controller.

                          Christoph has provided us with some examples in the documentation:
                          https://docs.hise.audio/scripting/scripting-api/wavetablecontroller/index.html

                          Appearance:
                          To make the whole thing look interesting, I drew a panel based on the slider values of a slider pack. The slider pack is transparent and the panel is behind the slider pack.

                          So you use the values of the individual sliders in the paintRoutine of the panel.

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

                          26

                          Online

                          2.0k

                          Users

                          12.6k

                          Topics

                          109.5k

                          Posts