DIY Wavetable Phase Rotation
-
I thought Christoph's handy script for phase adjustment on Sine Wave Generators might apply to Wavetable Synths based on this:
"I suggest you play with the start offset parameter in your event processing, with a little bit of math you should be able to make sample perfect phase adjustments for every synthesised waveform in HISE"
and this
"The formula is even easier than I thought - the reason is that the sine wave generator internally uses a look up table with linear interpolation and a fixed "wavetable" size of 2048, so you even don't need the exact frequency for it"
HiseSnippet 1469.3oc6X8taSbDDeu3bEhKTAsTI93pn9gKPvX63XRDsBm+3TrHNXEmRqDBgVe2dwqx4cut2Z6jhPpuFsOE709UdB5iReCZmcOe1mClPvj.sENoDc6Nyryuc1cley4FRgKMJRHQVY26nPJx5R1MOhqZuQaBiipsIx5h1MjzHpBs9QgjnHpGxxJy2qkZM2rHyyecu0IADtKczTHziDLW51rNL0nYaT4ArffsHdz8XcRocoJ0bE7MDAht.RxXmGERbOfrOcGhVsYrQ2mD0FYcC6kKtjaIu63Ur3xqV1kTltpOw2uvRdkJUdkUKrzpjRqTlleYj0mU0ioDxlJhhFgrlccg2QMaK5yicviXQrVAT8fBnlfmimdKQfmdKpmEsQaVfWijPTDBVzFiBXYhCXWytNyiMb9QAtqXDfGYQ5.n0LiCuLiAuBogW9TvaBPxJEjlMFRW0toqjEpFIQimO2tFWQk9D3bJMTh0EMCJi8FBPCtJWGxAzsjvfgV3TNe9Ewv+V3tYyd6ai2PRAfiI3Vc88oRbelpMV0Wf6S5QUD.5QYgizHEtGQha4i+N75FMy4ZrzoT9UKCqkVZOPX9b4O1BGw3zQqVVegzgoU7tXF9awEyWZE3sadyExNWK+GydBHpNQ0NGXFn2sMJfuQ7bMpAuU73HOhzez5iIJrpMEGQAT6giBDpgtbfu.upA8w8Zwb4gU2gcKsZKj34agKn2QykJHzWAZaRtxsOU8iIdVGykhf.pzY9gSFqGMhEQkElGPd5ko3zsNE0qCD.zm7XF2rcGcZgIv1lofCxf.bGgLrMtEU0mRMJ1IaeUt.AwaShh3zxeQboUxmGNzVD+X3O8V9IvpCX6MqkeWtqhI3XAeGgh9PtyBYeFDoddV7wE46OQYo1pSRrt1h7jLzg2sSKpbQHdFzkNTQH+Y7jR6WeRY5ZFtwYMoTTvqwYpGFR4utJInAoZva+PMc3RmIOXNPuPpTwzPvZSZOnNZbd8b1aRiNPIBgJouRROTtQ30MfnFuFjtR8.APLXrDecxMOhoNJck7yrBSmVHdU6FLka6IiwYl.FgH04AFGTN+x1UgxTtpQ.bV6s9oymZ2oc+USBQCycMotFDbc6IWX3Dnj+ySKkb3olR99+LbFM15sMjpS8VmvOnF2idXhnJ8u4ZawBFPdeI6mUam8pt6Nqs8yQczXz1RqUGxglWuBBEHDgPvTpRjomnJ2yL7hHzd5ctwEORmvlFB6R8gtSZWmEVmDN1cjLmD+egOB4++pAyNBQElXe.tV1iXaBaShn.eSRmADOuGvEsblugVv7Khg555dBL5kCZSbWBeepCL6Rk0hxUHsPm4ifl.XGB1M+KeglOZxjAX3IP3RBvBeevN..wqAP3YtB3nIZAOn400ryFKpCaJnmQsiL2ldnwVmPhLBt8nbhWqE.u9QJUSLCCfJPUk4lxWL3NQy.lGUhXvEgKXaNZQ8FKU6W8qLUDUZc6DJ3Z+acg2nSOLoBvQIuDongMY+hAI+9uoe9i6YJcj.rdUhuSoKT+xW7eAlwwRYmKAiMYcBCnU48nAPT0fwuDBi9jtApjYGOgstfKBaK3L2wqHpjr82mJSi8ItgVSofuxZzLWqxtz.p9XX3TeSksg1vIxwq7+VEKJ7VW9ZhmWW2NFtXcJG9c4ba1S241IyDblzcSlSU2Mm43c56z48Zn6x1FdebbuE+69X9qSiU75rPQ.Q9gBy6J5pX78gO8UpKKZuS2NMgt3bo.d4bZfltwZFMwP737I0ZaR4dlA+M7LPXA8XqABKjH7cry0hepy0O045+qYpK9Il52cl5Or+1CY9n42d3bjE9bGemQLuSONeev199vGcHtRwSci+.Qc99EMy.6atgMbN655w3BG6KC0Dh.awSccGeodECKNsFtzzZXoo0vkmVCKOsFdmo0vUdyFpIyWqqRzItDGBUuQUyWxaYUkqSdLoIn+AzOghpA
2 Wavetable Synths, HQ off (for linear interpolation), identical wavetables @ 2048 samples/frame. Script's slider set to 180° delivers a 1024-sample offset, but doesn't null the signal.
Am I just missing a piece of this simple formula, or is there a big difference in how the offset would be calculated in the Wavetable Synth?