<?xml version="1.0" encoding="UTF-8"?>
	<rss version="2.0"
		xmlns:content="http://purl.org/rss/1.0/modules/content/"
		xmlns:wfw="http://wellformedweb.org/CommentAPI/"
		xmlns:dc="http://purl.org/dc/elements/1.1/"
		xmlns:atom="http://www.w3.org/2005/Atom"

			>

	<channel>
		<title>Cycling 74  &#187;  Topic: self-modulating FM: non-n00b formulae?</title>
		<atom:link href="http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/feed</link>
		<description></description>
		<pubDate>Wed, 19 Jun 2013 18:13:00 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-65310</guid>
					<title><![CDATA[self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-65310</link>
					<pubDate>Sun, 25 Nov 2012 18:15:49 +0000</pubDate>
					<dc:creator>n00b_meister</dc:creator>

					<description>
						<![CDATA[
						<p>Hi<br />
a number of recent posts have had me revisiting classic FM synth algorithms, and these requests/queries have involved self-modulating &#8220;operators&#8221; or oscillators. In the classic FM algorithm, we scale the modulator&#8217;s amplitude as a function of its frequency; despite trawling the web and other resources (including Chowning, and an old Yamaha DX manual) I cannot find a reference to how one should scale the amplitude of the feedback signal in a self-modulating system. If the modulator ratio and index are high (> 1.), as the amplitude of the feedback signal approaches 1. there is a tendency towards noise/chaos. Is there a formula for relating feedback amplitude to modulator frequency that I&#8217;ve missed? The patch below describes the problem:</p>
<p>`</p>
<div><span id="toggle65310-0" class="patchtoggle" onmousedown="toggleMaxPatch('post65310-0', 'er65310-0');">&#8211; Pasted Max <span id="maxversion65310-0"></span> Patch, click to <span id="er65310-0">expand</span>. &#8211;</span> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  width="110" height="14" class="clippy" ><param name="allowScriptAccess" value="always" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param NAME="FlashVars" value="copied=copied!&#038;copyto=copy to clipboard"/><param name="bgcolor" value="#FFFFFF"/><param name="wmode" value="opaque"/><embed src="/wp-content/plugins/bbpress-copy-compressed/clippy.swf"  width="110" height="14"   name="clippy"  quality="high"  allowScriptAccess="always"  type="application/x-shockwave-flash"  pluginspage="http://www.macromedia.com/go/getflashplayer"  FlashVars="text=----------begin_max5_patcher----------%0A990.3oc6Y9sbSiCEF%2B5vL7NnwWxF7HIK%2BOXFlga161m.JCih8IIBbjB1NkBL%0Azm8UR1N0zMo1qSpZKvMNikjk9N%2B7mO5n1u%2B7mMyag5JnxC8Jz6Pyl8ccKyrs%0AYZYVWCy71vuJqfWYGnWlZyFPV6MusyZ3pZaGKAHeAO6SnpLdAu7UWHqVq1Uj%0AiV.HNZ4NYVsPIQpknMpbjPlCW8Zjdfq.zk7hcPEJGpx.oouZERpDUvquPdg7%0AKqAIpjqeZDW19jHdIfdCh3OGcq0sax3a2Vp3YqExU5ggVARPOG.JaMWUsW8E%0ABIjo1IsgPRWqxcaT6pKfZaHi6ZdoRVK4a.a391RAuX%2B7HxsMpV7wWRId8efJ%0Aw2rO.g5ueh1xqsB6CkPVcC9YgA9zv4HRTpdbHRbyOjXeL588zkP1IKx9Uob0%0ABqN8w1V9wyel4W8OyG8aU8Lu.Ju16vDfNBBzL75utEZBHuJwJooesynPw0g4%0A9vP2iM.7CBCND.wCBPMFDa1soMpuCrFDE0f03HCOCsWo3iB08QplNcqPHF2a%0AQzl2F4LcVCeQGl%2B2OfdwwvO4Dv%2BMwYOBSRmhEkxh70njZ7jyQAT6M2AJO6.R%0AKEPbIbMpBJV9OpbmgqjS.WsNOBlNf067anpzISGBV%2BOStQhmBJHQLCJBhYFF%0AjjduQhit4z9sblef8h96R3y9WHy70ISPuznrCu%2B.67fvnI4lhisIxZPXpIgD%0AJh5lMGtSpZ2X9F3EdD1QOOrKbR1uDh0wEZtFGZshrGXzo8f4bSW8BzSCMrof%0AlDVat7Q8c4S%2BJNvGhbzyW8FTJoodCxep2nGgmTIwDlMKGkkdOWuA7sbd10C8%0AYX%2B34lJTOftiIFkFFXe2yB6td1k8JtPN32O2wGIBY8geck5MXFCVbbywTrYV%0AMg5PF7s7RsSpFJ%2B.H4KJrxA%2BD1SmbBV5f.byo6FplP5u.oWiOeYWa2HOJ3O4%0AV2i2nSvG1d1j6yix8.XCCo3CZDCOeFwljfOA7g%2Bky7gAS5TMAAtYK9iwmrul%0AU.WiXXrq3D6T3ThsZhnj6usMdv8QzoeLFFN92FaD4DvDKXRtnlgYOV%2Bs%2BeFX%0AWKSG2BdUpckYcgS6aWTu0KGppERyeAAYuAQ94AsVjmCxepV7bQkoFx7AJhbz%0AxJXLxh4bYENFYQebJqHmKq3wJKhSkUzXjUfyoEaLxJw4zJYrVd2JKxXjUpye%0AIlNpzo3Gw55Q32hD2u%2BCgNZg4XeOYroIvO9RSPhc%2BKxwIL2mofjN1sgbqAih%0AGMvltvZqbkuc6kPYU6T2nIc88eTUZtOZdy8BYy8MyrWIbon6Qh0sXmU8k%2BU8%0A34rp%0A-----------end_max5_patcher-----------&#038;copied=copied!&#038;;copyto=copy to clipboard"  bgcolor="#ffffff"  wmode="opaque" /> </object></div>
<div id="post65310-0" style="display:none;visibility:hidden;" >
<div class="patchtoggleInfo"><small>Copy <b>all</b> of the following text.Then, in Max, select <em>New From Clipboard</em>.</small></div>
<div class="patchtogglediv">
<pre><code id="pastedcode65310-0">----------begin_max5_patcher----------
990.3oc6Y9sbSiCEF+5vL7NnwWxF7HIK+OXFlga161m.JCih8IIBbjB1NkBL
zm8UR1N0zMo1qSpZKvMNikjk9N+7mO5n1u+7mMyag5JnxC8Jz6Pyl8ccKyrs
YZYVWCy71vuJqfWYGnWlZyFPV6MusyZ3pZaGKAHeAO6SnpLdAu7UWHqVq1Uj
iV.HNZ4NYVsPIQpknMpbjPlCW8Zjdfq.zk7hcPEJGpx.oouZERpDUvquPdg7
KqAIpjqeZDW19jHdIfdCh3OGcq0sax3a2Vp3YqExU5ggVARPOG.JaMWUsW8E
BIjo1IsgPRWqxcaT6pKfZaHi6ZdoRVK4a.a391RAuX+7HxsMpV7wWRId8efJ
w2rO.g5ueh1xqsB6CkPVcC9YgA9zv4HRTpdbHRbyOjXeL588zkP1IKx9Uob0
BqN8w1V9wyel4W8OyG8aU8Lu.Ju16vDfNBBzL75utEZBHuJwJooesynPw0g4
9vP2iM.7CBCND.wCBPMFDa1soMpuCrFDE0f03HCOCsWo3iB08QplNcqPHF2a
Qzl2F4LcVCeQGl+2OfdwwvO4Dv+MwYOBSRmhEkxh70njZ7jyQAT6M2AJO6.R
KEPbIbMpBJV9OpbmgqjS.WsNOBlNf067anpzISGBV+OStQhmBJHQLCJBhYFF
jjduQhit4z9sblef8h96R3y9WHy70ISPuznrCu+.67fvnI4lhisIxZPXpIgD
Jh5lMGtSpZ2X9F3EdD1QOOrKbR1uDh0wEZtFGZshrGXzo8f4bSW8BzSCMrof
lDVat7Q8c4S+JNvGhbzyW8FTJoodCxep2nGgmTIwDlMKGkkdOWuA7sbd10C8
YX+34lJTOftiIFkFFXe2yB6td1k8JtPN32O2wGIBY8geck5MXFCVbbywTrYV
Mg5PF7s7RsSpFJ+.H4KJrxA+D1SmbBV5f.byo6FplP5u.oWiOeYWa2HOJ3O4
V2i2nSvG1d1j6yix8.XCCo3CZDCOeFwljfOA7g+ky7gAS5TMAAtYK9iwmrul
U.WiXXrq3D6T3ThsZhnj6usMdv8QzoeLFFN92FaD4DvDKXRtnlgYOV+s+eFX
WKSG2BdUpckYcgS6aWTu0KGppERyeAAYuAQ94AsVjmCxepV7bQkoFx7AJhbz
xJXLxh4bYENFYQebJqHmKq3wJKhSkUzXjUfyoEaLxJw4zJYrVd2JKxXjUpye
IlNpzo3Gw55Q32hD2u+CgNZg4XeOYroIvO9RSPhc+KxwIL2mofjN1sgbqAih
GMvltvZqbkuc6kPYU6T2nIc88eTUZtOZdy8BYy8MyrWIbon6Qh0sXmU8k+U8
34rp
-----------end_max5_patcher-----------</code></pre></div>
</div>
<p>thanks<br />
and I hope the question does not belie the &#8220;non-n00b&#8221; in the title :)<br />
also, maybe this is just how we get noise in an FM synth?? I fail to see the creative/synthesis value in self-modulation.<br />
Brendan</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235402</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235402</link>
					<pubDate>Mon, 26 Nov 2012 00:05:28 +0000</pubDate>
					<dc:creator>Floating Point</dc:creator>

					<description>
						<![CDATA[
						<p>I think you are asking the wrong question&#8211; FM synthesis with feedback is _always_ non-linear, and therefore chaotic, by definition. It&#8217;s just that the simpler states (ie low, whole-number mod indexes, low feedback amplitudes etc) are easier to describe (via bessel functions to describe the amplitudes of partials etc) and, more importantly, to perceive and make sense of, than the more complex states. When it becomes &#8216;noisy&#8217; or &#8216;chaotic&#8217; is simply a cultural/human-perception thing. The noisiest, most complex signal feedback path in FM is still deterministic and periodic, albeit unpredictable.<br />
Maybe you should ask &#8216;when does the fm spectrum become too complex for the human ear for it to perceive as having an unambiguous sense of pitch?&#8217; or something similar<br />
(and then apply for a research grant to answer it)</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235403</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235403</link>
					<pubDate>Mon, 26 Nov 2012 00:47:37 +0000</pubDate>
					<dc:creator>Siska Ádám</dc:creator>

					<description>
						<![CDATA[
						<p>Hm&#8230; Here&#8217;s what I probably would do to come a little closer to an answer: first, I would convert your patch into a discretized equation describing the signal flow &#8212; that is, something that has the form F ( output_signal[n], fundamental, mod_ratio, mod_index, feedback_scalar, n ) = 0 (at this point, you should take into account that the send-receive that you have in your patch introduces a delay equivalent to the current vector size). Then I would convert this into a differential equation. If I already had the discretized function F(), then this is actually quite straightforward. As a next step, I would try to compute the biggest Lyapunov-exponent of the dynamic system described by the differential equation (I would expect to get a formula for this that depends on all of the scalar parameters of your patch at the same time). This can be _very_ tricky and hard, depending on the differential equation that you get. Once you have an expression for the biggest Lyapunov-exponent, you can tell the set of parameters that would cause your system to go into the chaotic region (at least, in the mathematical sense &#8212; which might or might not do much with the acoustic sense of &#8216;noisiness&#8217;).</p>
<p>And Terry is right, I wouldn&#8217;t jump into this unless I got a grant for it. ;-)</p>
<p>Cheers,<br />
Ádám</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235404</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235404</link>
					<pubDate>Mon, 26 Nov 2012 02:45:34 +0000</pubDate>
					<dc:creator>n00b_meister</dc:creator>

					<description>
						<![CDATA[
						<p>Both excellent answers, thank you. I clearly missed the the non-linear nature of feedback.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235405</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235405</link>
					<pubDate>Mon, 26 Nov 2012 19:50:35 +0000</pubDate>
					<dc:creator>Peter McCulloch</dc:creator>

					<description>
						<![CDATA[
						<p>You might also try posting this on KVRAudio&#8217;s forum.  There&#8217;s been a lot of work with filters and feedback (esp. delay-free loops) recently, and I can&#8217;t help but wonder if there might be some connection that could be of value.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235406</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235406</link>
					<pubDate>Mon, 26 Nov 2012 20:32:45 +0000</pubDate>
					<dc:creator>n00b_meister</dc:creator>

					<description>
						<![CDATA[
						<p>Thanks Peter. I guess I was naively asking for a simple formula to tie fbAmp to modFreq. Ask the respondents state I framed the question poorly. And I&#8217;m already under the yoke of one research grant at the moment :)</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235407</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235407</link>
					<pubDate>Mon, 26 Nov 2012 21:52:28 +0000</pubDate>
					<dc:creator>Peter McCulloch</dc:creator>

					<description>
						<![CDATA[
						<p>There is an old paper out there about doing a sawtooth via feedback FM.  It&#8217;s interesting to play with and might be a starting point for some interesting explorations.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235408</guid>
					<title><![CDATA[Re: self-modulating FM: non-n00b formulae?]]></title>
					<link>http://cycling74.com/forums/topic/self-modulating-fm-non-n00b-formulae/#post-235408</link>
					<pubDate>Mon, 26 Nov 2012 22:17:00 +0000</pubDate>
					<dc:creator>n00b_meister</dc:creator>

					<description>
						<![CDATA[
						<p>&#8230;about 2/3rds the way down in this ccrma resource:</p>
<p><a href="https://ccrma.stanford.edu/software/snd/snd/fm.html" rel="nofollow">https://ccrma.stanford.edu/software/snd/snd/fm.html</a></p>
<p>is a reference. But sadly, once Bessel functions are mentioned I glaze over. But all the formulas are sexy; like hieroglyphs.</p>
<p>Thanks for the assist</p>
<p>Brendan</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

