HISE Logo Forum
    • Categories
    • Register
    • Login

    Invert polarity of sampler

    Scheduled Pinned Locked Moved General Questions
    44 Posts 8 Posters 4.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.
    • hisefiloH
      hisefilo @Christoph Hart
      last edited by hisefilo

      @Christoph-Hart Excellent paper! Will read it carefully at bed! My guess is phase is audible when it contributes to create a "recognizable" waveform (as in the images I posted. Here are 2 examples, same harmonics, with and without phase shift.

      No Phase Shift
      Phase Shifted

      My theory is that partials phase should be placed to contribute to a major simple waveform (I mean a waveform you can visually remember or recognize), shaping the final waveform by adding small variations of a major curve to make it look smooth. Just flip any of the partials on a additive sawtooth waveform and you'll see ramp to be distorted. (maybe Im crazy, but this is what I suppose)

      1 Reply Last reply Reply Quote 0
      • ustkU
        ustk
        last edited by

        I haven't read the paper yet, but for what I know, the phase is important when two or more sources are reproducing the same frequency, as the crossover frequency in a 2-way speaker for instance, where alignment is crucial... But if you take two frequencies far away enough below and above the crossover freq, the ear cannot notice a poor alignment (except if you change it in real time).

        Can't help pressing F5 in the forum...

        hisefiloH 1 Reply Last reply Reply Quote 0
        • hisefiloH
          hisefilo @ustk
          last edited by

          @ustk my post is related to phases within harmonics on the same sound. I guess phase alignment on speakers is kind of different stuff I can't understand yet

          1 Reply Last reply Reply Quote 0
          • ustkU
            ustk
            last edited by

            It was an image, but the behaviour is approximately the same if your harmonics are not identical, and the phase will automatically move in relation anyway

            Can't help pressing F5 in the forum...

            hisefiloH 1 Reply Last reply Reply Quote 0
            • hisefiloH
              hisefilo @ustk
              last edited by

              @ustk oh I got it :)

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

                BTW, the most apparent difference between your sound examples is that the unshifted sample is clipping pretty badly so you're not really hearing phase distortion, but real distortion :)

                hisefiloH 2 Replies Last reply Reply Quote 2
                • hisefiloH
                  hisefilo @Christoph Hart
                  last edited by hisefilo

                  @Christoph-Hart yeah. Sorry. Will send a leveled one. Are the same partials, same amplitude... But unphased raises some weird peaks.

                  By the way. Having a hard time trying to calculate phase rotation. (since harmonics rotates differently based on #).
                  alt text

                  Any clue on how to calculate this?

                  1 Reply Last reply Reply Quote 0
                  • hisefiloH
                    hisefilo @Christoph Hart
                    last edited by hisefilo

                    @Christoph-Hart is there a way to do sinewaves to start when they cross zero Y value? Got some artifacts when phase is not close to 180 or 360

                    Despite this, results are amazing

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

                      Lol, if you want them to start at zero, phase is either 0 or 180 degrees :)

                      What you need in this case is a simple envelope with an attack time of about 3-5 ms to remove the click.

                      hisefiloH 1 Reply Last reply Reply Quote 0
                      • hisefiloH
                        hisefilo @Christoph Hart
                        last edited by

                        @Christoph-Hart LOL I know. Doing this workaround alreay.But I'm guessing if there's a way to keep phase angle but delay the start n samples until sinewave crosses zero. Don't know if it makes sense.

                        I measured phase as is and is doing what it's supposed to do. Just trying to do a custom trick since artifact are a problem for anyone using phase shift

                        lalalandsynthL 1 Reply Last reply Reply Quote 0
                        • C
                          Crystal Audio @Christoph Hart
                          last edited by

                          @Christoph-Hart said in Invert polarity of sampler:

                          I think I'll add this to the SimpleGain module

                          Has this been added to the SimpleGain module? I didn't see it when I had a look.

                          Dan KorneffD 1 Reply Last reply Reply Quote 0
                          • Dan KorneffD
                            Dan Korneff @Crystal Audio
                            last edited by

                            @Crystal-Audio It has been added. There isn't a button for it, but you can find it in the Simple Gain API

                            Dan Korneff - Producer / Mixer / Audio Nerd

                            C 1 Reply Last reply Reply Quote 2
                            • lalalandsynthL
                              lalalandsynth
                              last edited by

                              gain.jpg

                              https://lalalandaudio.com/

                              https://lalalandsynth.com/

                              https://www.facebook.com/lalalandsynth

                              https://www.facebook.com/lalalandsynth

                              1 Reply Last reply Reply Quote 1
                              • C
                                Crystal Audio @Dan Korneff
                                last edited by

                                @dustbro @lalalandsynth I'm having trouble locating Simple Gain in the api. I don't see it when I search for "Simple Gain" and I didn't notice it when I scrolled through the full list. Is there a special place to find the modules in the api browser?

                                Dan KorneffD 1 Reply Last reply Reply Quote 0
                                • Dan KorneffD
                                  Dan Korneff @Crystal Audio
                                  last edited by

                                  @Crystal-Audio yeah it's in the module browser. Check the image above.

                                  Dan Korneff - Producer / Mixer / Audio Nerd

                                  1 Reply Last reply Reply Quote 0
                                  • lalalandsynthL
                                    lalalandsynth @hisefilo
                                    last edited by

                                    @hisefilo can you explain a bit how you go about additive synthesis ? I gather you have a sound that you want to recreate , you look at the partials and then add sines to recreate it ?

                                    If i am correct , what do you use to analyse the partials and dont they all change per note?

                                    Very interested and would love to hear how you approach this.

                                    https://lalalandaudio.com/

                                    https://lalalandsynth.com/

                                    https://www.facebook.com/lalalandsynth

                                    https://www.facebook.com/lalalandsynth

                                    ? hisefiloH 2 Replies Last reply Reply Quote 0
                                    • ?
                                      A Former User @lalalandsynth
                                      last edited by

                                      @lalalandsynth You can use SPEAR to find modes:

                                      Link Preview Image
                                      SPEAR Homepage

                                      SPEAR Homepage

                                      favicon

                                      (www.klingbeil.com)

                                      Sine Wave - Set exact frequency (from array)

                                      • Sound -> Analyze -> Select whatever sound you want.
                                      • Edit -> Select Partials Below Threshold (mode-selection sensitivity).
                                      • View -> Print Average Frequencies
                                      • Window -> Console

                                      You'll see a list of primary modes. If you want to bring them into HISE in a neat way you can use Google Sheets:

                                      • Copy the values into a Google Sheet (as a vertical list).
                                      • Data -> Split Text to Columns (select the Space operator).
                                      • Save the sheet as a .csv with comma-separated values.
                                      • Open it in whatever text editor, then just copy + paste the values into an array.

                                      To get the residue file, which is whatever is left when the modes are removed, just hit delete with the modes still selected, and export that file.

                                      Now you can import the array to HISE and setup Sine Wave Generators, using Ratio to setup the partials. Unfortunately there's no way to just read from the array, so you'll have to figure out the ratios (you can automate it with a for loop and something like this:

                                      moderatio = (modes[i] / modes[0]) - 1; 
                                      modules[i].setAttribute(modules[i].FineFreqRatio, moderatio);
                                      

                                      For each mode, it divides the current mode by the fundamental (mode[0]), which gives you a general ratio.

                                      It's not 100% accurate, but it's free and definitely good enough to start experimenting. The main weakness is that you don't have a lot of information about decay times for each mode, which is where paid software might come in...

                                      I'm praying HISE 3.0 gives us a way to just set sine wave frequencies exactly, so we can just read them from arrays. I could basically make any sound I want with that, with some tweaking... My favourite part of additive synthesis/physmod is once I have a sound, I can tweak it by just shifting the modes and their relationships around, eg: stiffness property involves sharpening certain modes, you can even script random robin on every note.

                                      And yes, for some instruments, every note has different partials. This would again be a lot easier if we could set exact freqs ☺

                                      lalalandsynthL 2 Replies Last reply Reply Quote 2
                                      • lalalandsynthL
                                        lalalandsynth @A Former User
                                        last edited by lalalandsynth

                                        @iamlamprey Thanks , looking into this. Do you need another instance of the sine gen for each partial ?

                                        I am not great at programming , if you have a snippet I could look at that would be very helpful .

                                        https://lalalandaudio.com/

                                        https://lalalandsynth.com/

                                        https://www.facebook.com/lalalandsynth

                                        https://www.facebook.com/lalalandsynth

                                        ? 1 Reply Last reply Reply Quote 0
                                        • lalalandsynthL
                                          lalalandsynth @A Former User
                                          last edited by

                                          @iamlamprey said in Invert polarity of sampler:

                                          decay times for each mode, which is where paid software might come in...

                                          What paid software is available for this purpose , I did not find anything in my search .

                                          https://lalalandaudio.com/

                                          https://lalalandsynth.com/

                                          https://www.facebook.com/lalalandsynth

                                          https://www.facebook.com/lalalandsynth

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

                                            @lalalandsynth yeh you need to stack a couple of sine wave gens, there is a built-in saturation if you just want to add harmonics but ideally we'd prefer control over each one :)

                                            Here's a simple Glock i was messing with. Check the init script for most of the stuff, and the NoteOn script for the RR. There's 1 slider setup for adjusting the gain of the modes, which kinda emulates material stiffness property, the convolution probably wont work but just use the basic hise reverb if you want reverb

                                            HiseSnippet 3730.3oc6c07ababEeWKwjXkXGmTmTen.kvHGjsYn3PN7K6DHYqOrUi+PQqiSKRLho3NRhvbI2RxUNJEAMsmJPODTzhVjdJG5kTTXj1lVjzCoFs.E8PJPK5khdJME8PPaAx+AsuYH2cI0tqztJ1RZkm8fvLuYdu4Mu2ad72LypkKDE5RhiCiJU9fWc85jRkeDgJqGjr5zq53ETZ9YJUdLgy6G5dSwo0Kct0q6DGSpVpb4QNOs8xGbzRrOe1jmyw2IvkzlToRWKzykbQuZdIsotvTOmmu+bNUIW0qVtdimZd2vfoC8Ca.5xHBJkp63dSmUHW1g1sCHTp7CLaUujvnJINIj3RkG8bgUWuxpg2JHs+WyK1aIeBsBpTEPPojmKzuJUioTKM8pd9UWn4bNtToxO5Bss.ijZANpvk7p50hdaKwQXMH1li71ixGXyTOTd0So+Uux4TuQSUuGSnhajW8j1sP0sGVX9fDRzxNfKHuZk12RG3a+DBSGB8HHQtlyMIyEAUZww3ZJJRhpJJm3LGZrCM1DmTb9.uDw0bh7b.cNlRbImXRsvpjXQuXQvIItD3eZTWRzaYwaQDCHjphIghqPRXsPKmrJQLLxaEu.GeQmnHm0koR5jSP+K3siYCgXaI+rhuDRQWS1Twz.qJgPZlxHUrhplDREYJqXiLL0kTUvXYUKrN1PREopC8QWEikTwZpx1V551.ccDPGaanaIoZXAkMsr0AdsLLjsMsM0f9.sJqnXngsjzTrMj0ULsPZRZpJlx5VZfTkzzUUkwZFJZ5RZlJpxV.AaZYaKYCKrEBKoYqfgwx.agkvJHUYccLx1VBivHnOl.IIrpERV0vvPAJqYoHqnACilDFahk0.k0.JqC5ulN11BJR42DqIqZhXx0xzP1TCqAyeXVgA81V0zTRWAylalHjjNxlZW.impjNc7fIOcLzAKnLX5TPFR55JVxppl5Z1R5F5HYjgtBsrogIX6P1ZXIXpC8QQ0PCjusBRFLWvzFJqq.zssMfwx1RUVEaBFaICEPOsss0g4oghAktkB1Tx.YqHCVEaUCICUcP91pHKKICMMaYaEcpdZfMzjwHCnIIPcQxVvnBrZXY.rBCljgkpgLBoZZqIYXapKCsiwHIHHAjttpF34MgXWPy.qFTzTSFQGInrlNcxpACnjIFASDUjgkjInnPQfefrghsrklIXhjLglkQPbkITzvR1zBL95RlfoS1FCSRIKHTDzEvwX.ksgnAalW2BYBVXcSvHYoAACFlfEPWxBrLxXpmVBbPvDRCaZ.bBe.oPUcIKaHV.BMgnPIaEHVHUEs0PzIsEx.CksMk0.+OD1A1XPALXtRaCvLZoPiYgxTytskkJvKDlHClXKvv.k0AkzBB4fxfAi1CHDGJaCSUKLXqssgPBMLB7xPYv.ClZUnLRAjMrVTErAHEDzftAM7.gLQ1xfQU055mI+BY9hX9hX9h3gxEw4WFWIwa4kC.nEvR4lXFfGqOcXs5gAPkwOdqdb7T.CLPCSrHYYRDIv0KXEZpfF.vgSm1xbMBpBv3BR.b.mRbYuHXjTEq6Dk343S6TtA2Kf7hNqQNOIfD4.3oPfVvPjxzAJ.IVMPIfdJR6pX69xzmMQXpCfvT2JgoM.BSiIrIl3JtIhnMUp3APp3sRE0G.gouUByX.DlQt4q5lJUyAPplakJZM.ByZqDl8.HL61yWsMObVYPhmUxVfMwDS6DH53eKm0iEcpVEVeEQDiobbKJGqPBhEO8IDKtPNaQH8IxcpGRct3nSRZcRB2II8NIYzIIyNIY0IIaotXxtdlQnBIIglcoQc1NPfV8BasKEVtllvPRa5YEQviXUx39JAhdv1ZfTNduFs4.IwXRRbSosHkFXcajDVCJ5536utXiX534.l5Z08IhU8VyqJIKqVy7Xq5DUKLvyMVb7fvD1tdVtcBuSP67xgQhi6Q0myH58LZveN0ofF9FGZLQ3SdEdbFHpWx65hSjhm5kTt9IDeZfwV8k5SgNHCJ+YSRh7VpQBY7bzmCLfyEQ95rIjTaoeh9WDSG5DEmWHZm3Li85oS6.xqRmjQDRgYFcR8LFaiYl5t6LC2dlQRbkk6HRKt0iCi8AmOLcq66rt3s7RVk4qWywuAgt5ixoWfOcQI3+coQXhgAsdVI8QoQg9i6174nRorlZsNXScD0CcGnSOxkLlDOonrNcZ2hO0dvmZG7gJvmVO3SqC9TLKvHtGLh6jQbAF06Ai5cxnZAFM5AiFcxXw4nYOXzrSFUJZUs5AmVcgSsBbZ2CNs6BmLs80Yoo1R.WTolEJMMjhhdVKi2YTFUf4BBubXB4JAiehlqKS+6DSL6Zjn0EgrVDIZz8Jql.47hbBpFVy60Hrva1R0SmwA6O8HYFsoLw2boOa09yJdIG3ocToNOLWZcZOz1fU+JRhEHcJfTy0yCZxw6RoQ97jjjxKKcRAKUwji6hVJ08FVJbaKU6vwrfxSJNCYoFqrBj98PcIdqWVQHvONzmHWOxCrcMm9MGmSNwXu9XhabEwxKSWRL1A2PaYqg7IQcsY5AWGsYLNdPiZKQhZleuYGKUdzhGQrPuOh37mfsaZJgbcLLfd9rWoNInWGbbor7HziPNSqftlvN.4Cmc.xUXONqjWU5oG2JARIlRmcv7e7y+9e3jkdg4mwIwoon.oBiTcBr4M5jn7Lj07bIomM8AElgDeyjv5r9lk9Bln80.+psuMfiO05sqflpliaTXqowiIb4PXkRNRk57TxOhvknweT7i4O.eZp2rF.WVgSJmdZ3AwdIqm+VMtmbp98q59XBK3k3tZ202CzE8EbQ2q02r6H4PByt7xD2j1J6nBy8U2guPjrarBBqXnyWj.OMaoLGcJIwTZnBJ1hgg0p.OdKytId6y+WlbFmZ0gDNYjlRS6eN4KRRtHvseFs29sdqOXxYhVOOs67Qez+YxWzqZxps6zmNIjmi7ZDvqQxyZ4QJZNFo+V72EuwhgMnXSgmUD4AqYDtbiZUfMv3R.mQP.wmlYo7An4.RqqPqSCNpPBpxp7+fOYMhn0Km0HpYi483eoTq7iCqTiHN0fQthC01Fkc6fY0P851Ae6e7m7u52aGrdee6fKDQ7CcplyOR8GSctFPXYTQpu6Trg5r0BaDTXrxz7EI0INI47WvmGZpEW77QgMpuQt9rIYqIuZDf6pc.C6yUBHf+LIOooiBiiWFlNLYEmuoEZDsB0V0lBKVMtHMv2l2qRcTuPLgFC441L.ncuYihxUcXwQGPHsNZC0U2PcsMTGug55antwFpa1tdYghw3OX+EieIm5K3.Swb87bdYQYPaoTxmWnkYkMz4tC3tjv3A1SeAu6bO4Zj9Sc6hE7.4zwGMUGePgydgYprX1SoXkEmM.RLB3BJlH3RgAg0Wkd7HEC0gP2UVgDkWi65z.vSBqzltQzZERdLCw0Y8Nnl14NYOeNa1mK.Nk10epoXhqEgabqopzHNovWvgu1cVj3S.324k9rtgESaLPl8MOMeYg9Lz3PBoSRQVJy81HZNbScM0ir2VYeDAVXwvfc8QExBXGJLrGVHaszdES6ClpriIbMHClKczop4SzppXqIAZq0V34yYOQrc9l4gbiQIEezNDb4sDwuXBjNQvu8wId2XWFi74cWFc+qhkxVAs+ARU3GRXQ1gQwTzuPVk90abi2728ml7bd0C8chnaXpaNl6IV6c48H0+KCSgXIBidTxd9jwLvlhz8Fraop6Da7xsonf4VVY1guTdDR.M3ks0e+MhmIF11CUk.L3khYN0Z.tYnqoUfTavldoGDSYKn2WL74Hq2T2tfWVkuIqkqQEbyVxpPaIa6PMU5477y9lY9UDl4zu7LgtMnW2U7Keg4qLqnWPbRTFgEVc8X5koQW0R78oWpxUIwPCruUoubDI1qZCh7sbVqzLMp6CcMgP8qWKzuAU9BkebpQhMORCTARiLRwHmCmF47vBzKOjceprflmTnaWp5ciuFq8+FUuhaBL7v9EChqGFWPvUH07tZX.ov9BegbGTZdEaCmgZ9spV3TZKL.NIMXmWavF2FKDaLxmyb3c83YFkuaq6a2s0wlZasaqS9K6mcaMyGLEe2V7caw2sEe2V7cas+5Nc1ouPiAArnZu.K9wO+6e68MfEEO9Lu2j8.rXWu7p6Na3mCVbGFrn5POXwe56zOfEO56wAKxAKxAKdeEXQUNXQNXwcUvhZ8Br3cR99em8MfEuym7298SxOYw88fE0F5AK9Cdu9Ar3M94bvhbvhbvh2WAVTiCVjCVbWErHtmmr3n3u0PHXwiz8SV7S+Y292xAKtuGrHdnGr3a9t8CXwG4WyAKxAKxAKdeEXQLGrHGr3tJXwd9Suo3Iem38MfEei+q92iexh6+AKpOzCVb5eQ+.V769q3fE4fE4fEuuBrnAGrHGr3tJXQiMArn69Fvhkl9O7W4fE2+CVzXnGr3u418CXwex6vAKxAKxAKdeEXQcNXQNXwcUvhlaBXwJCgfEE2N+2P+mmjCVbeAXQygdvhJuUe8aOElCVjCVjCVjCVjCVjCVbGCrn0l.Vb5gPvhGefAK9F+6m+OxAKt+.rnEGrHGrHGrHGr39Qvh1bvhbvh6pfEs6EXwo9nej4PHXwmZfAK91m+e724fE2e.VzlCVjCVjCVjCVbXGr3S1semEU3nE4nE2oPK9E65uJ2J8Dt3QZ7kGBgKdrtBW7F+vO7X2g+sVb3Ct3naNbwGei+rbqvwKxwKxwKxwKN7fW7fMU1z2clMSkk8t2YFxxNM7SZ8SI68hDbsobzo5HQySM0EgGn5DcuKWS49zycr74ZD2S85jcv7gHtObn2Gpx8g6A8g7clt2amo6DiA6MU9q3l9dImFK+PLJv7Nf81x5fBrWb4hnlul0OpfhrNVg9QEg0MMLgrx0fMf8JttTq+SClqtKB0lhP.DgR+wi11fG71fG8sAOFaCdL2F7Xso7P266YajDVKckIPXgYSeArUd1Vu.1Foz+GWBMi4C
                                            

                                            Residue file: https://drive.google.com/file/d/1MeAAVGeAve4WwsbV3Q0zT0ejBwQRpHfI/view?usp=sharing

                                            Load the residue file into the Sampler and map it across every key, make sure it's not set to repitch

                                            What paid software is available for this purpose , I did not find anything in my search .

                                            I can't list any specific ones cause I haven't really put the time into searching for them. I think Melda Productions have a good analyzer, Izotope probably have something that could do it, you basically just need a good spectrogram and an efficient way to export the modes and residue. You could probably reach out to the support teams for those companies and ask if there's a way to export spectrogram information as a table before you purchase anything

                                            There's loads of papers on the topic but from what I've seen a lot of scholarly articles are just circle jerks for "hey look what we did" without actually sharing any software or methods.

                                            Either that, or just a wall of math 🤢

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

                                            16

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts