Ring modulator GooeyCore patch

Post Reply
Frank
Posts: 159
Joined: Sun May 03, 2015 2:43 pm

Ring modulator GooeyCore patch

Post by Frank »

Requires V1.2 or greater of GooeyCore and latest libraries. Get from the FXCore products page.

POT0 controls LFO rate
POT1 controls mix from 0% wet/100% dry to 100% wet/0% dry
SW0 and SW1 select waveform
SW2 selects slow or fast LFO rate, slow sounds more like tremolo except for square wave since it goes +/-1 you just hear a click when the phase reverses. Fast give ring modulator sound.

Save the following code as ring_mod.gcf and load into GooeyCore to see it and then generate the FXCore code

Code: Select all

<GooeyCoreDesign>
    <blocks>
        <fxblock>
            <id>12</id>
            <lib>SFR</lib>
            <sub>POT0</sub>
            <x>10</x>
            <y>198</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>5</id>
            <lib>SFR</lib>
            <sub>IN0</sub>
            <x>42</x>
            <y>103</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>3</id>
            <lib>g_util</lib>
            <sub>get_sfr</sub>
            <x>103</x>
            <y>195</y>
            <pins>
                <pin>
                    <name>in</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>out</name>
                    <number>2</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>2</id>
            <lib>g_util</lib>
            <sub>get_sfr</sub>
            <x>138</x>
            <y>103</y>
            <pins>
                <pin>
                    <name>in</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>out</name>
                    <number>2</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>14</id>
            <lib>g_util</lib>
            <sub>scale_shift</sub>
            <x>206</x>
            <y>242</y>
            <pins>
                <pin>
                    <name>in</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>out</name>
                    <number>2</number>
                </pin>
            </pins>
            <params>
                <param>
                    <name>scale</name>
                    <number>3</number>
                    <value>0.9</value>
                </param>
                <param>
                    <name>shift</name>
                    <number>4</number>
                    <value>0.1</value>
                </param>
            </params>
        </fxblock>
        <fxblock>
            <id>18</id>
            <lib>CONST</lib>
            <sub>SW2</sub>
            <x>241</x>
            <y>329</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>8</id>
            <lib>g_util</lib>
            <sub>Select</sub>
            <x>400</x>
            <y>193</y>
            <pins>
                <pin>
                    <name>IN0</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>IN1</name>
                    <number>2</number>
                </pin>
                <pin>
                    <name>OUT</name>
                    <number>3</number>
                </pin>
                <pin>
                    <name>SW</name>
                    <number>4</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>21</id>
            <lib>SFR</lib>
            <sub>POT1</sub>
            <x>417</x>
            <y>22</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>15</id>
            <lib>MREG</lib>
            <sub>MR0</sub>
            <x>440</x>
            <y>254</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
                <param>
                    <name>Preset</name>
                    <number>0</number>
                    <value>0</value>
                </param>
            </params>
        </fxblock>
        <fxblock>
            <id>16</id>
            <lib>MREG</lib>
            <sub>MR1</sub>
            <x>449</x>
            <y>293</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
                <param>
                    <name>Preset</name>
                    <number>0</number>
                    <value>0</value>
                </param>
            </params>
        </fxblock>
        <fxblock>
            <id>17</id>
            <lib>MREG</lib>
            <sub>MR2</sub>
            <x>460</x>
            <y>334</y>
            <pins>
                <pin>
                    <name>OUT</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
                <param>
                    <name>Preset</name>
                    <number>0</number>
                    <value>0</value>
                </param>
            </params>
        </fxblock>
        <fxblock>
            <id>10</id>
            <lib>g_util</lib>
            <sub>lfo</sub>
            <x>522</x>
            <y>184</y>
            <pins>
                <pin>
                    <name>frequency</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>phase</name>
                    <number>2</number>
                </pin>
                <pin>
                    <name>wave_out</name>
                    <number>3</number>
                </pin>
                <pin>
                    <name>sin</name>
                    <number>4</number>
                </pin>
                <pin>
                    <name>cos</name>
                    <number>5</number>
                </pin>
            </pins>
            <params>
                <param>
                    <name>fmin</name>
                    <number>6</number>
                    <value>1</value>
                </param>
                <param>
                    <name>fmax</name>
                    <number>7</number>
                    <value>1500</value>
                </param>
                <param>
                    <name>Fs</name>
                    <number>8</number>
                    <value>32768</value>
                </param>
                <param>
                    <name>sw_shift</name>
                    <number>9</number>
                    <value>0</value>
                </param>
            </params>
        </fxblock>
        <fxblock>
            <id>20</id>
            <lib>g_util</lib>
            <sub>get_sfr</sub>
            <x>530</x>
            <y>23</y>
            <pins>
                <pin>
                    <name>in</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>out</name>
                    <number>2</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>9</id>
            <lib>g_util</lib>
            <sub>A*B</sub>
            <x>624</x>
            <y>156</y>
            <pins>
                <pin>
                    <name>sig1</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>sig2</name>
                    <number>2</number>
                </pin>
                <pin>
                    <name>sigout</name>
                    <number>3</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>19</id>
            <lib>g_util</lib>
            <sub>2_mix</sub>
            <x>735</x>
            <y>126</y>
            <pins>
                <pin>
                    <name>sig1</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>sig2</name>
                    <number>2</number>
                </pin>
                <pin>
                    <name>mixcon</name>
                    <number>3</number>
                </pin>
                <pin>
                    <name>sigout</name>
                    <number>4</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>4</id>
            <lib>g_util</lib>
            <sub>put_sfr</sub>
            <x>844</x>
            <y>125</y>
            <pins>
                <pin>
                    <name>out</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>in</name>
                    <number>2</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>7</id>
            <lib>SFR</lib>
            <sub>OUT0</sub>
            <x>958</x>
            <y>126</y>
            <pins>
                <pin>
                    <name>IN</name>
                    <number>0</number>
                </pin>
            </pins>
            <params>
            </params>
        </fxblock>
        <fxblock>
            <id>13</id>
            <lib>g_util</lib>
            <sub>scale_shift</sub>
            <x>206</x>
            <y>192</y>
            <pins>
                <pin>
                    <name>in</name>
                    <number>1</number>
                </pin>
                <pin>
                    <name>out</name>
                    <number>2</number>
                </pin>
            </pins>
            <params>
                <param>
                    <name>scale</name>
                    <number>3</number>
                    <value>0.1</value>
                </param>
                <param>
                    <name>shift</name>
                    <number>4</number>
                    <value>0</value>
                </param>
            </params>
        </fxblock>
    </blocks>
    <nets>
        <net>
            <net_id>0</net_id>
            <id_1>5</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>2</id_2>
            <pin_2_name>in</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>5</net_id>
            <id_1>7</id_1>
            <pin_1_name>IN</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>4</id_2>
            <pin_2_name>out</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>11</net_id>
            <id_1>12</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>3</id_2>
            <pin_2_name>in</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>12</net_id>
            <id_1>3</id_1>
            <pin_1_name>out</pin_1_name>
            <pin_1_num>2</pin_1_num>
            <id_2>13</id_2>
            <pin_2_name>in</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>13</net_id>
            <id_1>14</id_1>
            <pin_1_name>in</pin_1_name>
            <pin_1_num>1</pin_1_num>
            <id_2>3</id_2>
            <pin_2_name>out</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>14</net_id>
            <id_1>13</id_1>
            <pin_1_name>out</pin_1_name>
            <pin_1_num>2</pin_1_num>
            <id_2>8</id_2>
            <pin_2_name>IN0</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>15</net_id>
            <id_1>14</id_1>
            <pin_1_name>out</pin_1_name>
            <pin_1_num>2</pin_1_num>
            <id_2>8</id_2>
            <pin_2_name>IN1</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>16</net_id>
            <id_1>8</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>3</pin_1_num>
            <id_2>10</id_2>
            <pin_2_name>frequency</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>17</net_id>
            <id_1>10</id_1>
            <pin_1_name>wave_out</pin_1_name>
            <pin_1_num>3</pin_1_num>
            <id_2>9</id_2>
            <pin_2_name>sig2</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>18</net_id>
            <id_1>2</id_1>
            <pin_1_name>out</pin_1_name>
            <pin_1_num>2</pin_1_num>
            <id_2>9</id_2>
            <pin_2_name>sig1</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>20</net_id>
            <id_1>18</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>8</id_2>
            <pin_2_name>SW</pin_2_name>
            <pin_2_num>4</pin_2_num>
        </net>
        <net>
            <net_id>21</net_id>
            <id_1>15</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>10</id_2>
            <pin_2_name>phase</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>22</net_id>
            <id_1>10</id_1>
            <pin_1_name>sin</pin_1_name>
            <pin_1_num>4</pin_1_num>
            <id_2>16</id_2>
            <pin_2_name>OUT</pin_2_name>
            <pin_2_num>0</pin_2_num>
        </net>
        <net>
            <net_id>23</net_id>
            <id_1>17</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>10</id_2>
            <pin_2_name>cos</pin_2_name>
            <pin_2_num>5</pin_2_num>
        </net>
        <net>
            <net_id>24</net_id>
            <id_1>9</id_1>
            <pin_1_name>sigout</pin_1_name>
            <pin_1_num>3</pin_1_num>
            <id_2>19</id_2>
            <pin_2_name>sig2</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>25</net_id>
            <id_1>19</id_1>
            <pin_1_name>sig1</pin_1_name>
            <pin_1_num>1</pin_1_num>
            <id_2>2</id_2>
            <pin_2_name>out</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>26</net_id>
            <id_1>19</id_1>
            <pin_1_name>sigout</pin_1_name>
            <pin_1_num>4</pin_1_num>
            <id_2>4</id_2>
            <pin_2_name>in</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
        <net>
            <net_id>27</net_id>
            <id_1>21</id_1>
            <pin_1_name>OUT</pin_1_name>
            <pin_1_num>0</pin_1_num>
            <id_2>20</id_2>
            <pin_2_name>in</pin_2_name>
            <pin_2_num>1</pin_2_num>
        </net>
        <net>
            <net_id>28</net_id>
            <id_1>19</id_1>
            <pin_1_name>mixcon</pin_1_name>
            <pin_1_num>3</pin_1_num>
            <id_2>20</id_2>
            <pin_2_name>out</pin_2_name>
            <pin_2_num>2</pin_2_num>
        </net>
    </nets>
</GooeyCoreDesign>
Post Reply