Skip to content

Instantly share code, notes, and snippets.

@LFSaw
Last active May 16, 2024 13:07
Show Gist options
  • Save LFSaw/e68eb3ada8543ada1df5c81f9de6d2aa to your computer and use it in GitHub Desktop.
Save LFSaw/e68eb3ada8543ada1df5c81f9de6d2aa to your computer and use it in GitHub Desktop.
Cross-synthesis
import("stdfaust.lib");
maxDelay = 100;
f1 = hslider("f1", 100.0, 0, 1000, 0.1) : si.smoo;
f2 = hslider("f2", 100, 0, 1000, 0.1) : si.smoo;
d1 = hslider("d1", 0, 0, maxDelay, 0.01) : si.smoo;
d2 = hslider("d2", 0, 0, maxDelay, 0.01) : si.smoo;
a1 = hslider("a1", 0.1, -1, 1, 0.001) : si.smoo;
a2 = hslider("a2", 0.1, -1, 1, 0.001) : si.smoo;
vol = hslider("vol", 0.1, 0, 1, 0.001) : si.smoo;
process = cross(f1, f2) ~ si.bus(2) with {
cross(f1, f2, p1, p2) =
os.oscp(f1, a1 * phase(p2, d1)),
os.oscp(f2, a2 * phase(p1, d2));
phase(p, dt) = p * ma.PI : de.fdelay(maxDelay, dt);
};
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 1,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ -1748.0, 105.0, 970.0, 691.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-66",
"maxclass" : "newobj",
"numinlets" : 6,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 634.5, 299.0, 88.0, 22.0 ],
"text" : "scale~ -1 1 0 1"
}
}
, {
"box" : {
"id" : "obj-65",
"maxclass" : "newobj",
"numinlets" : 6,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 289.5, 299.0, 88.0, 22.0 ],
"text" : "scale~ -1 1 0 1"
}
}
, {
"box" : {
"id" : "obj-51",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 351.0, 394.5, 29.5, 22.0 ],
"text" : "*~"
}
}
, {
"box" : {
"id" : "obj-52",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 279.0, 394.5, 29.5, 22.0 ],
"text" : "*~"
}
}
, {
"box" : {
"id" : "obj-45",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 351.0, 337.0, 50.0, 20.0 ],
"text" : "right"
}
}
, {
"box" : {
"id" : "obj-46",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 279.5, 337.0, 49.5, 20.0 ],
"text" : "left"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-47",
"maxclass" : "flonum",
"maximum" : 1.0,
"minimum" : 0.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 351.0, 354.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-48",
"maxclass" : "flonum",
"maximum" : 1.0,
"minimum" : 0.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 279.0, 354.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-41",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 698.5, 337.0, 50.0, 20.0 ],
"text" : "right"
}
}
, {
"box" : {
"id" : "obj-38",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 627.0, 337.0, 49.5, 20.0 ],
"text" : "left"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-32",
"maxclass" : "flonum",
"maximum" : 1.0,
"minimum" : 0.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 698.5, 354.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-33",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 688.0, 394.5, 29.5, 22.0 ],
"text" : "*~"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-29",
"maxclass" : "flonum",
"maximum" : 1.0,
"minimum" : 0.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 626.5, 354.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 616.0, 394.5, 29.5, 22.0 ],
"text" : "*~"
}
}
, {
"box" : {
"id" : "obj-24",
"linecount" : 3,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 36.5, 104.0, 137.0, 47.0 ],
"text" : "set signal vector size to 1 for shortest possible feedback."
}
}
, {
"box" : {
"fontface" : 1,
"id" : "obj-22",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 438.0, 421.0, 79.0, 20.0 ],
"text" : "Oscillator A",
"textjustification" : 2
}
}
, {
"box" : {
"fontface" : 1,
"id" : "obj-21",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 794.0, 421.0, 79.0, 20.0 ],
"text" : "Oscillator B",
"textjustification" : 2
}
}
, {
"box" : {
"id" : "obj-18",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 201.0, 582.0, 110.0, 33.0 ],
"text" : "presets (shift-click to add new ones)"
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 741.0, 120.0, 110.0, 20.0 ],
"text" : "delay (in samples)"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 634.5, 120.0, 62.5, 20.0 ],
"text" : "fb amount"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 558.0, 120.0, 69.0, 20.0 ],
"text" : "carrier freq"
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "number",
"minimum" : 0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 741.0, 149.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-15",
"maxclass" : "flonum",
"maximum" : 1.0,
"minimum" : -1.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 634.5, 149.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-16",
"maxclass" : "flonum",
"minimum" : 0.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 558.0, 151.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 396.0, 120.0, 108.0, 20.0 ],
"text" : "delay (in samples)"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 289.5, 120.0, 62.5, 20.0 ],
"text" : "fb amount"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 213.0, 120.0, 69.0, 20.0 ],
"text" : "carrier freq"
}
}
, {
"box" : {
"fontface" : 2,
"id" : "obj-4",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 36.5, 75.0, 152.0, 20.0 ],
"text" : "Till Bovermann, 2022"
}
}
, {
"box" : {
"fontface" : 1,
"fontsize" : 20.0,
"id" : "obj-2",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 36.5, 44.0, 197.0, 29.0 ],
"text" : "Cross-Synthesis"
}
}
, {
"box" : {
"bubblesize" : 16,
"id" : "obj-63",
"maxclass" : "preset",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "preset", "int", "preset", "int" ],
"patching_rect" : [ 201.0, 464.0, 165.0, 107.0 ]
}
}
, {
"box" : {
"id" : "obj-59",
"maxclass" : "number",
"minimum" : 0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 396.0, 149.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-60",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 371.0, 226.5, 44.0, 22.0 ],
"text" : "delay~"
}
}
, {
"box" : {
"id" : "obj-61",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 323.0, 188.0, 64.0, 22.0 ],
"text" : "receive~ b"
}
}
, {
"box" : {
"id" : "obj-56",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 716.0, 226.5, 44.0, 22.0 ],
"text" : "delay~"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-54",
"maxclass" : "flonum",
"maximum" : 1.0,
"minimum" : -1.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 289.5, 149.5, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-50",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 634.5, 270.0, 29.5, 22.0 ],
"text" : "*~"
}
}
, {
"box" : {
"id" : "obj-49",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 289.5, 270.0, 29.5, 22.0 ],
"text" : "*~"
}
}
, {
"box" : {
"id" : "obj-44",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 558.0, 394.5, 52.0, 22.0 ],
"text" : "send~ b"
}
}
, {
"box" : {
"id" : "obj-43",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 667.0, 188.0, 64.0, 22.0 ],
"text" : "receive~ a"
}
}
, {
"box" : {
"id" : "obj-42",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 213.0, 394.5, 52.0, 22.0 ],
"text" : "send~ a"
}
}
, {
"box" : {
"id" : "obj-39",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 558.0, 322.0, 43.0, 22.0 ],
"text" : "cycle~"
}
}
, {
"box" : {
"id" : "obj-37",
"lastchannelcount" : 0,
"maxclass" : "live.gain~",
"numinlets" : 2,
"numoutlets" : 5,
"outlettype" : [ "signal", "signal", "", "float", "list" ],
"parameter_enable" : 1,
"patching_rect" : [ 454.0, 521.5, 47.0, 136.0 ],
"saved_attribute_attributes" : {
"valueof" : {
"parameter_longname" : "live.gain~",
"parameter_mmax" : 6.0,
"parameter_mmin" : -70.0,
"parameter_shortname" : "live.gain~",
"parameter_type" : 0,
"parameter_unitstyle" : 4
}
}
,
"varname" : "live.gain~"
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-35",
"maxclass" : "flonum",
"minimum" : 0.0,
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 213.0, 151.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-31",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 213.0, 322.0, 43.0, 22.0 ],
"text" : "cycle~"
}
}
, {
"box" : {
"id" : "obj-30",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 539.0, 608.0, 45.0, 45.0 ]
}
}
, {
"box" : {
"angle" : 270.0,
"background" : 1,
"bgcolor" : [ 0.2, 0.2, 0.2, 0.0 ],
"border" : 5,
"bordercolor" : [ 0.32156862745098, 0.32156862745098, 0.36078431372549, 1.0 ],
"id" : "obj-7",
"maxclass" : "panel",
"mode" : 0,
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 181.0, 104.0, 343.0, 343.0 ],
"proportion" : 0.5,
"rounded" : 0
}
}
, {
"box" : {
"angle" : 270.0,
"background" : 1,
"bgcolor" : [ 0.2, 0.2, 0.2, 0.0 ],
"border" : 5,
"bordercolor" : [ 0.32156862745098, 0.32156862745098, 0.36078431372549, 1.0 ],
"id" : "obj-19",
"maxclass" : "panel",
"mode" : 0,
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 545.0, 104.0, 343.0, 343.0 ],
"proportion" : 0.5,
"rounded" : 0
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-56", 1 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 0 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-39", 0 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 1 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-42", 0 ],
"order" : 2,
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-51", 0 ],
"order" : 0,
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-52", 0 ],
"order" : 1,
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 1 ],
"source" : [ "obj-32", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 1 ],
"source" : [ "obj-33", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-31", 0 ],
"source" : [ "obj-35", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 1 ],
"source" : [ "obj-37", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 0 ],
"source" : [ "obj-37", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"order" : 1,
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 0 ],
"order" : 0,
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-44", 0 ],
"order" : 2,
"source" : [ "obj-39", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-56", 0 ],
"source" : [ "obj-43", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-51", 1 ],
"source" : [ "obj-47", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-52", 1 ],
"source" : [ "obj-48", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-65", 0 ],
"source" : [ "obj-49", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-66", 0 ],
"source" : [ "obj-50", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 1 ],
"source" : [ "obj-51", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"source" : [ "obj-52", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-49", 0 ],
"source" : [ "obj-54", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "", -1 ],
"source" : [ "obj-50", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-50", 1 ],
"source" : [ "obj-56", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-60", 1 ],
"source" : [ "obj-59", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-49", 1 ],
"source" : [ "obj-60", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-60", 0 ],
"source" : [ "obj-61", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-37", 0 ],
"midpoints" : [ 307.833333333333314, 507.0, 312.0, 507.0, 312.0, 507.0, 417.0, 507.0, 417.0, 507.0, 463.5, 507.0 ],
"source" : [ "obj-63", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-31", 1 ],
"source" : [ "obj-65", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-39", 1 ],
"source" : [ "obj-66", 0 ]
}
}
],
"parameters" : {
"obj-37" : [ "live.gain~", "live.gain~", 0 ],
"parameterbanks" : {
}
,
"inherited_shortname" : 1
}
,
"dependency_cache" : [ ],
"autosave" : 0
}
}
s.options.blockSize = 1;
s.boot
(
Ndef(\cross).addSpec(
\freq0, \freq,
\freq1, \freq,
\freq2, \freq,
\fb0, [-1, 1, \lin],
\fb1, [-1, 1, \lin],
\fb2, [-1, 1, \lin],
\dt0, [0, 1000, \lin, 1, 1],
\dt1, [0, 1000, \lin, 1, 1],
\dt2, [0, 1000, \lin, 1, 1],
);
Ndef(\cross, {
var numOscs = 2;
var ins = LocalIn.ar(numOscs).rotate;
var freqs = numOscs.collect{|i|
"freq%".format(i).asSymbol.kr(0)
};
var dts = numOscs.collect{|i|
"dt%".format(i).asSymbol.kr(0)
};
var fbs = numOscs.collect{|i|
"fb%".format(i).asSymbol.kr(0)
};
var phases = DelayN.ar(ins * fbs, 1, dts / s.sampleRate);
var snds = SinOsc.ar(freqs, phases * pi);
LocalOut.ar(snds);
Splay.ar(snds);
})
)
Ndef(\cross).set(\freq0, 2196, \fb0, -0.79, \dt0, 112);
Ndef(\cross).set(\freq1, 2210, \fb1, 0.233, \dt1, 148);
Ndef(\cross).set(\freq0, 186, \fb0, 0.9, \dt0, 7);
Ndef(\cross).set(\freq1, 62.29, \fb1, -0.405, \dt1, 0);
Ndef(\cross).edit
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 1,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ -1508.0, 159.0, 640.0, 480.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-16",
"maxclass" : "number",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 465.0, 182.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "number",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 411.0, 182.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-11",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 369.0, 125.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-10",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 315.0, 125.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-7",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 259.0, 52.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-5",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 204.0, 52.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 282.0, 394.0, 45.0, 45.0 ]
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 6,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 1,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "dsp.gen",
"rect" : [ -1483.0, 126.0, 497.0, 559.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-35",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 261.0, 436.0, 29.5, 22.0 ],
"text" : "*"
}
}
, {
"box" : {
"id" : "obj-34",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 72.5, 436.0, 29.5, 22.0 ],
"text" : "*"
}
}
, {
"box" : {
"id" : "obj-33",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 72.5, 378.0, 37.0, 22.0 ],
"text" : "delay"
}
}
, {
"box" : {
"id" : "obj-32",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 317.0, 337.0, 109.0, 22.0 ],
"text" : "in 6 @comment d2"
}
}
, {
"box" : {
"id" : "obj-31",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 128.0, 337.0, 109.0, 22.0 ],
"text" : "in 5 @comment d1"
}
}
, {
"box" : {
"id" : "obj-30",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 261.0, 378.0, 37.0, 22.0 ],
"text" : "delay"
}
}
, {
"box" : {
"id" : "obj-28",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 72.5, 303.0, 128.0, 22.0 ],
"text" : "expr @code $f1+1*0.5"
}
}
, {
"box" : {
"id" : "obj-29",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 72.5, 337.0, 44.0, 22.0 ],
"text" : "history"
}
}
, {
"box" : {
"id" : "obj-26",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 261.0, 303.0, 128.0, 22.0 ],
"text" : "expr @code in1+1*0.5"
}
}
, {
"box" : {
"id" : "obj-23",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 261.0, 337.0, 44.0, 22.0 ],
"text" : "history"
}
}
, {
"box" : {
"id" : "obj-13",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 238.0, 169.0, 33.0, 22.0 ],
"text" : "% 1."
}
}
, {
"box" : {
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 238.0, 61.0, 45.0, 22.0 ],
"text" : "phasor"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 238.0, 138.0, 29.5, 22.0 ],
"text" : "+"
}
}
, {
"box" : {
"id" : "obj-18",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 238.0, 203.0, 116.0, 22.0 ],
"text" : "cycle @index phase"
}
}
, {
"box" : {
"id" : "obj-19",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 120.0, 378.0, 109.0, 22.0 ],
"text" : "in 3 @comment a1"
}
}
, {
"box" : {
"id" : "obj-20",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 317.0, 378.0, 109.0, 22.0 ],
"text" : "in 4 @comment a2"
}
}
, {
"box" : {
"id" : "obj-21",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 238.0, 506.0, 35.0, 22.0 ],
"text" : "out 2"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 169.0, 33.0, 22.0 ],
"text" : "% 1."
}
}
, {
"box" : {
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 61.0, 45.0, 22.0 ],
"text" : "phasor"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 138.0, 29.5, 22.0 ],
"text" : "+"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 50.0, 203.0, 116.0, 22.0 ],
"text" : "cycle @index phase"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 14.0, 106.0, 22.0 ],
"text" : "in 1 @comment f1"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 238.0, 14.0, 106.0, 22.0 ],
"text" : "in 2 @comment f2"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 50.0, 506.0, 35.0, 22.0 ],
"text" : "out 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-12", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"source" : [ "obj-14", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-21", 0 ],
"order" : 1,
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-26", 0 ],
"order" : 0,
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 1 ],
"source" : [ "obj-19", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 1 ],
"source" : [ "obj-20", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 0 ],
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-23", 0 ],
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 0 ],
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 0 ],
"source" : [ "obj-29", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 0 ],
"source" : [ "obj-30", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 1 ],
"source" : [ "obj-31", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-30", 1 ],
"source" : [ "obj-32", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-34", 0 ],
"source" : [ "obj-33", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-15", 1 ],
"source" : [ "obj-34", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 1 ],
"source" : [ "obj-35", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-28", 0 ],
"order" : 0,
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"order" : 1,
"source" : [ "obj-5", 0 ]
}
}
]
}
,
"patching_rect" : [ 282.0, 319.0, 68.0, 22.0 ],
"text" : "gen~ cross"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-2", 1 ],
"source" : [ "obj-1", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 2 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 3 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 4 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 5 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 1 ],
"source" : [ "obj-7", 0 ]
}
}
],
"dependency_cache" : [ ],
"autosave" : 0
}
}
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 1,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ -1421.0, 387.0, 948.0, 589.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-2",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 297.0, 409.0, 45.0, 45.0 ]
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "number",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 465.0, 182.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "number",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 411.0, 182.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-11",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 369.0, 125.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-10",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 309.0, 125.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-7",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 259.0, 52.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"format" : 6,
"id" : "obj-5",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 199.0, 52.0, 50.0, 22.0 ]
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 6,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ],
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 1,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "dsp.gen",
"rect" : [ -772.0, 164.0, 676.0, 797.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 99.0, 721.0, 35.0, 22.0 ],
"text" : "out 2"
}
}
, {
"box" : {
"code" : "Delay delay1(samplerate);\nDelay delay2(samplerate);\nHistory hist2(0);\nHistory hist1(0);\n\r\nf1 = in1;\nf2 = in2;\na1 = in3;\na2 = in4;\nd1 = in5;\nd2 = in6;\n\n\n\nphasor1 = phasor(f1, 0);\nphasor2 = phasor(f2, 0);\n\nsin1_phase = (phasor1 + (delay1.read(d2) * a2)) % 1.;\nsnd1, snd_idx1 = cycle(sin1_phase, index=\"phase\");\nout1 = snd1;\nphase1 = snd1 * 0.5 + 0.5;\n\nsin2_phase = (phasor2 + (delay2.read(d1) * a1)) % 1.;\nsnd2, snd_idx2 = cycle(sin2_phase, index=\"phase\");\nout2 = snd2;\nphase2 = snd2 * 0.5 + 0.5;\n\n\nhist2_next = fixdenorm(phase2);\nhist1_next = fixdenorm(phase1);\ndelay1.write(hist1);\nhist1 = hist1_next;\nhist2 = hist2_next;\ndelay2.write(hist2);",
"fontface" : 0,
"fontname" : "Menlo",
"fontsize" : 12.0,
"id" : "obj-9",
"maxclass" : "codebox",
"numinlets" : 6,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 76.0, 123.0, 555.0, 522.0 ]
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 248.0, 14.0, 28.0, 22.0 ],
"text" : "in 6"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 208.0, 14.0, 28.0, 22.0 ],
"text" : "in 5"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 171.0, 14.0, 28.0, 22.0 ],
"text" : "in 4"
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 132.0, 14.0, 28.0, 22.0 ],
"text" : "in 3"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 50.0, 14.0, 28.0, 22.0 ],
"text" : "in 1"
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 90.0, 14.0, 28.0, 22.0 ],
"text" : "in 2"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 50.0, 721.0, 35.0, 22.0 ],
"text" : "out 1"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 1 ],
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 2 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 3 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 4 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 5 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-9", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-9", 0 ]
}
}
]
}
,
"patching_rect" : [ 232.0, 230.0, 120.0, 22.0 ],
"text" : "gen~ cross_codebox"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-2", 1 ],
"source" : [ "obj-1", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 2 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 3 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 4 ],
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 5 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 1 ],
"source" : [ "obj-7", 0 ]
}
}
],
"dependency_cache" : [ ],
"autosave" : 0
}
}
@LFSaw
Copy link
Author

LFSaw commented May 16, 2024

implementing cross-synthesis in a variety of audio-related programming languages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment