<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DIY Wavetable Phase Rotation]]></title><description><![CDATA[<p dir="auto">I thought <a href="https://forum.hise.audio/post/9566">Christoph's handy script</a> for phase adjustment on Sine Wave Generators might apply to Wavetable Synths based on this:</p>
<blockquote>
<p dir="auto">"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"</p>
</blockquote>
<p dir="auto">and this</p>
<blockquote>
<p dir="auto">"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"</p>
</blockquote>
<pre><code>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
</code></pre>
<p dir="auto">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.</p>
<p dir="auto">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?</p>
]]></description><link>https://forum.hise.audio/topic/13131/diy-wavetable-phase-rotation</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 03:02:36 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/topic/13131.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jul 2025 07:53:11 GMT</pubDate><ttl>60</ttl></channel></rss>