[{"data":1,"prerenderedAt":1238},["ShallowReactive",2],{"posts:\u002Fposts\u002F2021-09-28-wave-fields":3},{"id":4,"title":5,"body":6,"categories":1220,"date":1222,"description":1223,"extension":1224,"image":62,"lang":1225,"meta":1226,"navigation":91,"path":1227,"seo":1228,"stem":1229,"tags":1230,"titleInPicture":1236,"__hash__":1237},"posts\u002Fposts\u002F2021-09-28-wave-fields.md","Wave fields experiment",{"type":7,"value":8,"toc":1212},"minimark",[9,14,34,38,42,49,53,56,60,63,75,80,92,96,100,103,1208],[10,11,13],"h2",{"id":12},"links","Links",[15,16,17,27],"ul",{},[18,19,20,21],"li",{},"Code repository: ",[22,23,24],"a",{"href":24,"rel":25},"https:\u002F\u002Fgitlab.com\u002Fautotel\u002Fwave-fields",[26],"nofollow",[18,28,29,30],{},"Live version to try out: ",[22,31,32],{"href":32,"rel":33},"https:\u002F\u002Fautotel.co\u002Fwave-fields\u002F",[26],[10,35,37],{"id":36},"first-attempt-with-openframeworks","First attempt with OpenFrameworks",[39,40,41],"p",{},"The first version, programmed in Openframeworks worked, but programming good user interfaces is a big challenge. This is why I decided to use Javasript instead.",[39,43,44,45],{},"The public repository for this code is: ",[22,46,47],{"href":47,"rel":48},"https:\u002F\u002Fgitlab.com\u002Fautotel\u002Fenvelope-fields-composer",[26],[50,51],"img",{"src":52},"\u002Fimages\u002F2020\u002F10\u002Fof-wave-fields-peek-1.gif",[50,54],{"src":55},"\u002Fimages\u002F2020\u002F10\u002Fof-wave-fields-peek-2.png",[10,57,59],{"id":58},"javascript-version","Javascript Version.",[50,61],{"src":62},"\u002Fimages\u002F2021\u002F09\u002Fwave-fields-shot.png",[39,64,65,66,70,71,74],{},"With Javascript, it's also possible to use workers, that can calculate the audio samples much faster. This code features a custom made model abstractions library, that helps creating notifications of changes between different parts of the user interface with the sound processing mechanisms. Another difficult to implement feature was a combination of the modular exchange of waves between the ",[67,68,69],"em",{},"modules"," or ",[67,72,73],{},"fields"," in combination with asynchronous calculation of the samples.",[76,77,79],"h3",{"id":78},"videos","Videos",[81,82],"iframe",{"width":83,"height":84,"className":85,"src":87,"title":88,"frameBorder":89,"allow":90,"allowFullScreen":91},560,315,[86],"full-width","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FUmFX1A_y9ss","YouTube video player","0","autoplay; picture-in-picture",true,[81,93],{"width":83,"height":84,"className":94,"src":95,"title":88,"frameBorder":89,"allow":90,"allowFullScreen":91},[86],"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F0Rlnx87yHlI",[76,97,99],{"id":98},"only-for-the-brave","Only for the brave",[39,101,102],{},"Hopefully I get time to make a tutorial of how to use this experiment, and more complete documentation of the code. It's not easy nor simple. But in case that you are good figuring out things, here is an example (this goes into the web inspector):",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-js shiki shiki-themes github-dark","let osc = create(possibleModules.Oscillator,'osc');\nlet fil = create(possibleModules.Filter,'fil');\nlet rep = create(possibleModules.Repeater,'rep');\nlet del = create(possibleModules.Delay,'del');\nlet osc5 = create(possibleModules.Oscillator,'osc5');\nlet vol = create(possibleModules.VoltsPerOctaveToHertz,'vol');\nlet osc3 = create(possibleModules.Oscillator,'osc3');\nlet mix = create(possibleModules.Mixer,'mix');\nosc.outputs.main.connectTo(fil.inputs.main);\nfil.outputs.main.connectTo(osc3.inputs.amplitude);\nfil.outputs.main.connectTo(del.inputs.main);\nfil.outputs.main.connectTo(rep.inputs.main);\nrep.outputs.main.connectTo(vol.inputs.main);\ndel.outputs.main.connectTo(osc5.inputs.amplitude);\nosc5.outputs.main.connectTo(mix.inputs.b);\nvol.outputs.main.connectTo(osc3.inputs.frequency);\nosc3.outputs.main.connectTo(mix.inputs.a);\nosc.set({\n  'amplitude': 1.6300000000000001,\n  'bias': 0,\n  'length': 1,\n  'frequency': 2,\n  'phase': -0.03,\n  'shape': 'ramp'\n});\nfil.set({\n  'gain': -0.8700000000000001,\n  'reso': 1.7100000000000002,\n  'type': 'HpBoxcar',\n  'order': 1,\n  'frequency': 30.777777777777786,\n  'saturate': false\n});\nrep.set({\n  'length': 1,\n  'points': [\n    [\n      -113,\n      0.8166666666666667\n    ],\n    [\n      4492,\n      -2.033333333333333\n    ],\n    [\n      5465,\n      0.5999999999999999\n    ],\n    [\n      13664,\n      1.1\n    ]\n  ],\n  'monophonic': false,\n  'gain': 1\n});\ndel.set({\n  'feedback': 0.29,\n  'time': 0.15511,\n  'dry': 1,\n  'wet': 0.5\n});\nosc5.set({\n  'amplitude': 5.551115123125783e-17,\n  'bias': 0,\n  'length': 1,\n  'frequency': 2,\n  'phase': 0,\n  'shape': 'noise'\n});\nvol.set({\n  'preamp': 6.189999999999996,\n  'center': 16.519999999999982\n});\nosc3.set({\n  'amplitude': 0.58,\n  'bias': 0,\n  'length': 1,\n  'frequency': 39.111111111111114,\n  'phase': 0,\n  'shape': 'sin'\n});\nmix.set({\n  'amplitude': 1,\n  'levela': 0.25,\n  'levelb': 0.25,\n  'levelc': 0.25,\n  'leveld': 0.25,\n  'normalize': false,\n  'saturate': true\n});\nosc.getInterface().autoZoom();\nfil.getInterface().autoZoom();\nrep.getInterface().autoZoom();\ndel.getInterface().autoZoom();\nosc5.getInterface().autoZoom();\nvol.getInterface().autoZoom();\nosc3.getInterface().autoZoom();\nmix.getInterface().autoZoom();\n","js","",[111,112,113,143,163,183,203,222,242,261,281,293,304,314,324,335,346,357,368,379,391,407,419,432,445,461,472,478,488,503,516,529,541,553,564,569,579,590,599,605,616,622,628,633,641,649,654,659,667,673,678,683,691,697,703,709,722,732,737,747,760,773,785,796,801,811,823,834,845,856,867,877,882,892,905,916,921,931,943,954,965,977,988,998,1003,1013,1024,1037,1049,1061,1073,1085,1095,1100,1117,1130,1143,1156,1169,1182,1195],"code",{"__ignoreMap":109},[114,115,118,122,126,129,133,136,140],"span",{"class":116,"line":117},"line",1,[114,119,121],{"class":120},"snl16","let",[114,123,125],{"class":124},"s95oV"," osc ",[114,127,128],{"class":120},"=",[114,130,132],{"class":131},"svObZ"," create",[114,134,135],{"class":124},"(possibleModules.Oscillator,",[114,137,139],{"class":138},"sU2Wk","'osc'",[114,141,142],{"class":124},");\n",[114,144,146,148,151,153,155,158,161],{"class":116,"line":145},2,[114,147,121],{"class":120},[114,149,150],{"class":124}," fil ",[114,152,128],{"class":120},[114,154,132],{"class":131},[114,156,157],{"class":124},"(possibleModules.Filter,",[114,159,160],{"class":138},"'fil'",[114,162,142],{"class":124},[114,164,166,168,171,173,175,178,181],{"class":116,"line":165},3,[114,167,121],{"class":120},[114,169,170],{"class":124}," rep ",[114,172,128],{"class":120},[114,174,132],{"class":131},[114,176,177],{"class":124},"(possibleModules.Repeater,",[114,179,180],{"class":138},"'rep'",[114,182,142],{"class":124},[114,184,186,188,191,193,195,198,201],{"class":116,"line":185},4,[114,187,121],{"class":120},[114,189,190],{"class":124}," del ",[114,192,128],{"class":120},[114,194,132],{"class":131},[114,196,197],{"class":124},"(possibleModules.Delay,",[114,199,200],{"class":138},"'del'",[114,202,142],{"class":124},[114,204,206,208,211,213,215,217,220],{"class":116,"line":205},5,[114,207,121],{"class":120},[114,209,210],{"class":124}," osc5 ",[114,212,128],{"class":120},[114,214,132],{"class":131},[114,216,135],{"class":124},[114,218,219],{"class":138},"'osc5'",[114,221,142],{"class":124},[114,223,225,227,230,232,234,237,240],{"class":116,"line":224},6,[114,226,121],{"class":120},[114,228,229],{"class":124}," vol ",[114,231,128],{"class":120},[114,233,132],{"class":131},[114,235,236],{"class":124},"(possibleModules.VoltsPerOctaveToHertz,",[114,238,239],{"class":138},"'vol'",[114,241,142],{"class":124},[114,243,245,247,250,252,254,256,259],{"class":116,"line":244},7,[114,246,121],{"class":120},[114,248,249],{"class":124}," osc3 ",[114,251,128],{"class":120},[114,253,132],{"class":131},[114,255,135],{"class":124},[114,257,258],{"class":138},"'osc3'",[114,260,142],{"class":124},[114,262,264,266,269,271,273,276,279],{"class":116,"line":263},8,[114,265,121],{"class":120},[114,267,268],{"class":124}," mix ",[114,270,128],{"class":120},[114,272,132],{"class":131},[114,274,275],{"class":124},"(possibleModules.Mixer,",[114,277,278],{"class":138},"'mix'",[114,280,142],{"class":124},[114,282,284,287,290],{"class":116,"line":283},9,[114,285,286],{"class":124},"osc.outputs.main.",[114,288,289],{"class":131},"connectTo",[114,291,292],{"class":124},"(fil.inputs.main);\n",[114,294,296,299,301],{"class":116,"line":295},10,[114,297,298],{"class":124},"fil.outputs.main.",[114,300,289],{"class":131},[114,302,303],{"class":124},"(osc3.inputs.amplitude);\n",[114,305,307,309,311],{"class":116,"line":306},11,[114,308,298],{"class":124},[114,310,289],{"class":131},[114,312,313],{"class":124},"(del.inputs.main);\n",[114,315,317,319,321],{"class":116,"line":316},12,[114,318,298],{"class":124},[114,320,289],{"class":131},[114,322,323],{"class":124},"(rep.inputs.main);\n",[114,325,327,330,332],{"class":116,"line":326},13,[114,328,329],{"class":124},"rep.outputs.main.",[114,331,289],{"class":131},[114,333,334],{"class":124},"(vol.inputs.main);\n",[114,336,338,341,343],{"class":116,"line":337},14,[114,339,340],{"class":124},"del.outputs.main.",[114,342,289],{"class":131},[114,344,345],{"class":124},"(osc5.inputs.amplitude);\n",[114,347,349,352,354],{"class":116,"line":348},15,[114,350,351],{"class":124},"osc5.outputs.main.",[114,353,289],{"class":131},[114,355,356],{"class":124},"(mix.inputs.b);\n",[114,358,360,363,365],{"class":116,"line":359},16,[114,361,362],{"class":124},"vol.outputs.main.",[114,364,289],{"class":131},[114,366,367],{"class":124},"(osc3.inputs.frequency);\n",[114,369,371,374,376],{"class":116,"line":370},17,[114,372,373],{"class":124},"osc3.outputs.main.",[114,375,289],{"class":131},[114,377,378],{"class":124},"(mix.inputs.a);\n",[114,380,382,385,388],{"class":116,"line":381},18,[114,383,384],{"class":124},"osc.",[114,386,387],{"class":131},"set",[114,389,390],{"class":124},"({\n",[114,392,394,397,400,404],{"class":116,"line":393},19,[114,395,396],{"class":138},"  'amplitude'",[114,398,399],{"class":124},": ",[114,401,403],{"class":402},"sDLfK","1.6300000000000001",[114,405,406],{"class":124},",\n",[114,408,410,413,415,417],{"class":116,"line":409},20,[114,411,412],{"class":138},"  'bias'",[114,414,399],{"class":124},[114,416,89],{"class":402},[114,418,406],{"class":124},[114,420,422,425,427,430],{"class":116,"line":421},21,[114,423,424],{"class":138},"  'length'",[114,426,399],{"class":124},[114,428,429],{"class":402},"1",[114,431,406],{"class":124},[114,433,435,438,440,443],{"class":116,"line":434},22,[114,436,437],{"class":138},"  'frequency'",[114,439,399],{"class":124},[114,441,442],{"class":402},"2",[114,444,406],{"class":124},[114,446,448,451,453,456,459],{"class":116,"line":447},23,[114,449,450],{"class":138},"  'phase'",[114,452,399],{"class":124},[114,454,455],{"class":120},"-",[114,457,458],{"class":402},"0.03",[114,460,406],{"class":124},[114,462,464,467,469],{"class":116,"line":463},24,[114,465,466],{"class":138},"  'shape'",[114,468,399],{"class":124},[114,470,471],{"class":138},"'ramp'\n",[114,473,475],{"class":116,"line":474},25,[114,476,477],{"class":124},"});\n",[114,479,481,484,486],{"class":116,"line":480},26,[114,482,483],{"class":124},"fil.",[114,485,387],{"class":131},[114,487,390],{"class":124},[114,489,491,494,496,498,501],{"class":116,"line":490},27,[114,492,493],{"class":138},"  'gain'",[114,495,399],{"class":124},[114,497,455],{"class":120},[114,499,500],{"class":402},"0.8700000000000001",[114,502,406],{"class":124},[114,504,506,509,511,514],{"class":116,"line":505},28,[114,507,508],{"class":138},"  'reso'",[114,510,399],{"class":124},[114,512,513],{"class":402},"1.7100000000000002",[114,515,406],{"class":124},[114,517,519,522,524,527],{"class":116,"line":518},29,[114,520,521],{"class":138},"  'type'",[114,523,399],{"class":124},[114,525,526],{"class":138},"'HpBoxcar'",[114,528,406],{"class":124},[114,530,532,535,537,539],{"class":116,"line":531},30,[114,533,534],{"class":138},"  'order'",[114,536,399],{"class":124},[114,538,429],{"class":402},[114,540,406],{"class":124},[114,542,544,546,548,551],{"class":116,"line":543},31,[114,545,437],{"class":138},[114,547,399],{"class":124},[114,549,550],{"class":402},"30.777777777777786",[114,552,406],{"class":124},[114,554,556,559,561],{"class":116,"line":555},32,[114,557,558],{"class":138},"  'saturate'",[114,560,399],{"class":124},[114,562,563],{"class":402},"false\n",[114,565,567],{"class":116,"line":566},33,[114,568,477],{"class":124},[114,570,572,575,577],{"class":116,"line":571},34,[114,573,574],{"class":124},"rep.",[114,576,387],{"class":131},[114,578,390],{"class":124},[114,580,582,584,586,588],{"class":116,"line":581},35,[114,583,424],{"class":138},[114,585,399],{"class":124},[114,587,429],{"class":402},[114,589,406],{"class":124},[114,591,593,596],{"class":116,"line":592},36,[114,594,595],{"class":138},"  'points'",[114,597,598],{"class":124},": [\n",[114,600,602],{"class":116,"line":601},37,[114,603,604],{"class":124},"    [\n",[114,606,608,611,614],{"class":116,"line":607},38,[114,609,610],{"class":120},"      -",[114,612,613],{"class":402},"113",[114,615,406],{"class":124},[114,617,619],{"class":116,"line":618},39,[114,620,621],{"class":402},"      0.8166666666666667\n",[114,623,625],{"class":116,"line":624},40,[114,626,627],{"class":124},"    ],\n",[114,629,631],{"class":116,"line":630},41,[114,632,604],{"class":124},[114,634,636,639],{"class":116,"line":635},42,[114,637,638],{"class":402},"      4492",[114,640,406],{"class":124},[114,642,644,646],{"class":116,"line":643},43,[114,645,610],{"class":120},[114,647,648],{"class":402},"2.033333333333333\n",[114,650,652],{"class":116,"line":651},44,[114,653,627],{"class":124},[114,655,657],{"class":116,"line":656},45,[114,658,604],{"class":124},[114,660,662,665],{"class":116,"line":661},46,[114,663,664],{"class":402},"      5465",[114,666,406],{"class":124},[114,668,670],{"class":116,"line":669},47,[114,671,672],{"class":402},"      0.5999999999999999\n",[114,674,676],{"class":116,"line":675},48,[114,677,627],{"class":124},[114,679,681],{"class":116,"line":680},49,[114,682,604],{"class":124},[114,684,686,689],{"class":116,"line":685},50,[114,687,688],{"class":402},"      13664",[114,690,406],{"class":124},[114,692,694],{"class":116,"line":693},51,[114,695,696],{"class":402},"      1.1\n",[114,698,700],{"class":116,"line":699},52,[114,701,702],{"class":124},"    ]\n",[114,704,706],{"class":116,"line":705},53,[114,707,708],{"class":124},"  ],\n",[114,710,712,715,717,720],{"class":116,"line":711},54,[114,713,714],{"class":138},"  'monophonic'",[114,716,399],{"class":124},[114,718,719],{"class":402},"false",[114,721,406],{"class":124},[114,723,725,727,729],{"class":116,"line":724},55,[114,726,493],{"class":138},[114,728,399],{"class":124},[114,730,731],{"class":402},"1\n",[114,733,735],{"class":116,"line":734},56,[114,736,477],{"class":124},[114,738,740,743,745],{"class":116,"line":739},57,[114,741,742],{"class":124},"del.",[114,744,387],{"class":131},[114,746,390],{"class":124},[114,748,750,753,755,758],{"class":116,"line":749},58,[114,751,752],{"class":138},"  'feedback'",[114,754,399],{"class":124},[114,756,757],{"class":402},"0.29",[114,759,406],{"class":124},[114,761,763,766,768,771],{"class":116,"line":762},59,[114,764,765],{"class":138},"  'time'",[114,767,399],{"class":124},[114,769,770],{"class":402},"0.15511",[114,772,406],{"class":124},[114,774,776,779,781,783],{"class":116,"line":775},60,[114,777,778],{"class":138},"  'dry'",[114,780,399],{"class":124},[114,782,429],{"class":402},[114,784,406],{"class":124},[114,786,788,791,793],{"class":116,"line":787},61,[114,789,790],{"class":138},"  'wet'",[114,792,399],{"class":124},[114,794,795],{"class":402},"0.5\n",[114,797,799],{"class":116,"line":798},62,[114,800,477],{"class":124},[114,802,804,807,809],{"class":116,"line":803},63,[114,805,806],{"class":124},"osc5.",[114,808,387],{"class":131},[114,810,390],{"class":124},[114,812,814,816,818,821],{"class":116,"line":813},64,[114,815,396],{"class":138},[114,817,399],{"class":124},[114,819,820],{"class":402},"5.551115123125783e-17",[114,822,406],{"class":124},[114,824,826,828,830,832],{"class":116,"line":825},65,[114,827,412],{"class":138},[114,829,399],{"class":124},[114,831,89],{"class":402},[114,833,406],{"class":124},[114,835,837,839,841,843],{"class":116,"line":836},66,[114,838,424],{"class":138},[114,840,399],{"class":124},[114,842,429],{"class":402},[114,844,406],{"class":124},[114,846,848,850,852,854],{"class":116,"line":847},67,[114,849,437],{"class":138},[114,851,399],{"class":124},[114,853,442],{"class":402},[114,855,406],{"class":124},[114,857,859,861,863,865],{"class":116,"line":858},68,[114,860,450],{"class":138},[114,862,399],{"class":124},[114,864,89],{"class":402},[114,866,406],{"class":124},[114,868,870,872,874],{"class":116,"line":869},69,[114,871,466],{"class":138},[114,873,399],{"class":124},[114,875,876],{"class":138},"'noise'\n",[114,878,880],{"class":116,"line":879},70,[114,881,477],{"class":124},[114,883,885,888,890],{"class":116,"line":884},71,[114,886,887],{"class":124},"vol.",[114,889,387],{"class":131},[114,891,390],{"class":124},[114,893,895,898,900,903],{"class":116,"line":894},72,[114,896,897],{"class":138},"  'preamp'",[114,899,399],{"class":124},[114,901,902],{"class":402},"6.189999999999996",[114,904,406],{"class":124},[114,906,908,911,913],{"class":116,"line":907},73,[114,909,910],{"class":138},"  'center'",[114,912,399],{"class":124},[114,914,915],{"class":402},"16.519999999999982\n",[114,917,919],{"class":116,"line":918},74,[114,920,477],{"class":124},[114,922,924,927,929],{"class":116,"line":923},75,[114,925,926],{"class":124},"osc3.",[114,928,387],{"class":131},[114,930,390],{"class":124},[114,932,934,936,938,941],{"class":116,"line":933},76,[114,935,396],{"class":138},[114,937,399],{"class":124},[114,939,940],{"class":402},"0.58",[114,942,406],{"class":124},[114,944,946,948,950,952],{"class":116,"line":945},77,[114,947,412],{"class":138},[114,949,399],{"class":124},[114,951,89],{"class":402},[114,953,406],{"class":124},[114,955,957,959,961,963],{"class":116,"line":956},78,[114,958,424],{"class":138},[114,960,399],{"class":124},[114,962,429],{"class":402},[114,964,406],{"class":124},[114,966,968,970,972,975],{"class":116,"line":967},79,[114,969,437],{"class":138},[114,971,399],{"class":124},[114,973,974],{"class":402},"39.111111111111114",[114,976,406],{"class":124},[114,978,980,982,984,986],{"class":116,"line":979},80,[114,981,450],{"class":138},[114,983,399],{"class":124},[114,985,89],{"class":402},[114,987,406],{"class":124},[114,989,991,993,995],{"class":116,"line":990},81,[114,992,466],{"class":138},[114,994,399],{"class":124},[114,996,997],{"class":138},"'sin'\n",[114,999,1001],{"class":116,"line":1000},82,[114,1002,477],{"class":124},[114,1004,1006,1009,1011],{"class":116,"line":1005},83,[114,1007,1008],{"class":124},"mix.",[114,1010,387],{"class":131},[114,1012,390],{"class":124},[114,1014,1016,1018,1020,1022],{"class":116,"line":1015},84,[114,1017,396],{"class":138},[114,1019,399],{"class":124},[114,1021,429],{"class":402},[114,1023,406],{"class":124},[114,1025,1027,1030,1032,1035],{"class":116,"line":1026},85,[114,1028,1029],{"class":138},"  'levela'",[114,1031,399],{"class":124},[114,1033,1034],{"class":402},"0.25",[114,1036,406],{"class":124},[114,1038,1040,1043,1045,1047],{"class":116,"line":1039},86,[114,1041,1042],{"class":138},"  'levelb'",[114,1044,399],{"class":124},[114,1046,1034],{"class":402},[114,1048,406],{"class":124},[114,1050,1052,1055,1057,1059],{"class":116,"line":1051},87,[114,1053,1054],{"class":138},"  'levelc'",[114,1056,399],{"class":124},[114,1058,1034],{"class":402},[114,1060,406],{"class":124},[114,1062,1064,1067,1069,1071],{"class":116,"line":1063},88,[114,1065,1066],{"class":138},"  'leveld'",[114,1068,399],{"class":124},[114,1070,1034],{"class":402},[114,1072,406],{"class":124},[114,1074,1076,1079,1081,1083],{"class":116,"line":1075},89,[114,1077,1078],{"class":138},"  'normalize'",[114,1080,399],{"class":124},[114,1082,719],{"class":402},[114,1084,406],{"class":124},[114,1086,1088,1090,1092],{"class":116,"line":1087},90,[114,1089,558],{"class":138},[114,1091,399],{"class":124},[114,1093,1094],{"class":402},"true\n",[114,1096,1098],{"class":116,"line":1097},91,[114,1099,477],{"class":124},[114,1101,1103,1105,1108,1111,1114],{"class":116,"line":1102},92,[114,1104,384],{"class":124},[114,1106,1107],{"class":131},"getInterface",[114,1109,1110],{"class":124},"().",[114,1112,1113],{"class":131},"autoZoom",[114,1115,1116],{"class":124},"();\n",[114,1118,1120,1122,1124,1126,1128],{"class":116,"line":1119},93,[114,1121,483],{"class":124},[114,1123,1107],{"class":131},[114,1125,1110],{"class":124},[114,1127,1113],{"class":131},[114,1129,1116],{"class":124},[114,1131,1133,1135,1137,1139,1141],{"class":116,"line":1132},94,[114,1134,574],{"class":124},[114,1136,1107],{"class":131},[114,1138,1110],{"class":124},[114,1140,1113],{"class":131},[114,1142,1116],{"class":124},[114,1144,1146,1148,1150,1152,1154],{"class":116,"line":1145},95,[114,1147,742],{"class":124},[114,1149,1107],{"class":131},[114,1151,1110],{"class":124},[114,1153,1113],{"class":131},[114,1155,1116],{"class":124},[114,1157,1159,1161,1163,1165,1167],{"class":116,"line":1158},96,[114,1160,806],{"class":124},[114,1162,1107],{"class":131},[114,1164,1110],{"class":124},[114,1166,1113],{"class":131},[114,1168,1116],{"class":124},[114,1170,1172,1174,1176,1178,1180],{"class":116,"line":1171},97,[114,1173,887],{"class":124},[114,1175,1107],{"class":131},[114,1177,1110],{"class":124},[114,1179,1113],{"class":131},[114,1181,1116],{"class":124},[114,1183,1185,1187,1189,1191,1193],{"class":116,"line":1184},98,[114,1186,926],{"class":124},[114,1188,1107],{"class":131},[114,1190,1110],{"class":124},[114,1192,1113],{"class":131},[114,1194,1116],{"class":124},[114,1196,1198,1200,1202,1204,1206],{"class":116,"line":1197},99,[114,1199,1008],{"class":124},[114,1201,1107],{"class":131},[114,1203,1110],{"class":124},[114,1205,1113],{"class":131},[114,1207,1116],{"class":124},[1209,1210,1211],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":109,"searchDepth":145,"depth":145,"links":1213},[1214,1215,1216],{"id":12,"depth":145,"text":13},{"id":36,"depth":145,"text":37},{"id":58,"depth":145,"text":59,"children":1217},[1218,1219],{"id":78,"depth":165,"text":79},{"id":98,"depth":165,"text":99},[1221],"portfolio","2021-09-28","Non-realtime modular synthesis experimental interface","md",null,{},"\u002Fposts\u002F2021-09-28-wave-fields",{"title":5,"description":1223},"posts\u002F2021-09-28-wave-fields",[1231,1232,1233,1234,1235],"context_for-the-sake-of-doing","tool_javascript","area_development","prototype","tool_web-audio-api",false,"_2A5QNc_4Eiq8Cp96unlzYJ4xApvldoz6UqroIzBqrY",1790978019109]