<snapdata remixID="11225433"><project name="Spectrogram" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Spectrogram"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations>pt:executa no modo turbo _&#xD;</translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l/></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><header></header><code></code><translations>pt:as amostras de som com _ Hz de _ s amostrado a _ Hz&#xD;ca:_ Hz durant _ segons amb mostreig de _ Hz&#xD;</translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><custom-block s="PI"></custom-block><block var="frequency"/><block s="reportQuotient"><block s="reportNumbers"><l>1</l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block><block var="sample rate"/></block></list></block></custom-block></block></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations>pt:π&#xD;</translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:_ radianos em graus&#xD;ca:graus de _ radiants&#xD;</translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:o som _&#xD;ca:so de nom _&#xD;</translations><inputs><input type="%s"><options>§_soundsMenu</options></input></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetSoundAttribute"><l><option>name</option></l><l></l></block><block var="name"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>sounds</option></l></block></block></block></script></block-definition><block-definition s="plot sound %&apos;name&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations>pt:desenha o gráfico do som _&#xD;ca:dibuixa el so _&#xD;</translations><inputs><input type="%s" readonly="true"><options>§_soundsMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>sound</l></list></block><block s="doSetVar"><l>sound</l><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="name"/><l><option>list</option></l></block><block s="reportIsA"><block var="name"/><l><option>sound</option></l></block></list></block><block var="name"/><custom-block s="sound named %s"><block var="name"/></custom-block></block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><block s="reportGetSoundAttribute"><l><option>samples</option></l><block var="sound"/></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportGetSoundAttribute"><l><option>length</option></l><block var="sound"/></block><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>4</l></block></block><block s="doForEach"><l>item</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>-2</l></block></block></script></block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations>pt:$circleSolid-1-255-0-0 uma nova gravação&#xD;ca:$circleSolid-1-255-0-0 enregistra&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>mda_record</l><list></list></block></block><block s="doWaitUntil"><block s="reportVariadicNotEquals"><list><block s="evaluate"><block s="reifyReporter"><script></script><list></list></block><list></list></block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></block><block s="doReport"><block s="evaluate"><block s="reifyReporter"><script></script><list></list></block><list></list></block></block></script></block-definition><block-definition s="note from %&apos;pitch&apos; hz" type="reporter" category="sound"><header></header><code></code><translations>pt:a nota com _ Hz&#xD;ca:nota de _ Hz&#xD;</translations><inputs><input type="%n">440</input></inputs><script><block s="doReport"><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>12</l><block s="reportQuotient"><block s="reportMonadic"><l><option>log</option></l><block s="errorObsolete"></block></block><block s="reportMonadic"><l><option>log</option></l><l>2</l></block></block></list></block><l>69</l></list></block></block></block></script></block-definition><block-definition s="hz from note %&apos;note&apos;" type="reporter" category="sound"><header></header><code></code><translations>pt:a frequência da nota _&#xD;ca:freqüència (hz) de la nota _&#xD;</translations><inputs><input type="%n">69</input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><l>440</l><block s="reportPower"><l>2</l><block s="reportQuotient"><block s="reportDifference"><block var="note"/><l>69</l></block><l>12</l></block></block></list></block></block></script></block-definition><block-definition s="name of note %&apos;note&apos;" type="reporter" category="sound"><header></header><code></code><translations>pt:o nome da nota _&#xD;ca:nom de la nota _&#xD;</translations><inputs><input type="%n">69</input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="reportDifference"><block var="note"/><l>69</l></block><l>12</l></block><l>1</l></list></block><block s="reportNewList"><list><l>A</l><l>Bb</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l></list></block></block></block></script></block-definition><block-definition s="average of %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><block var="data"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script></block-definition><block-definition s="fade in %&apos;samples&apos; for %&apos;count&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="samples"/><block s="reportConcatenatedLists"><list><block s="reportQuotient"><block s="reportNumbers"><l>0</l><block var="count"/></block><block var="count"/></block><block s="reportReshape"><block s="reportMonadic"><l><option>id</option></l><l>1</l></block><list><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block var="count"/></block></list></block></list></block></list></block></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="0,0,0,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="541"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="542"></list></costumes><sounds><list struct="atomic" id="543"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-122.99999999412103" y="181" heading="90" scale="1" volume="13.533256439830838" pan="0" rotation="1" instrument="1"  draggable="true" hidden="true" costume="0" color="0,0,0,1" pen="tip" id="548"><costumes><list struct="atomic" id="549"></list></costumes><sounds><list struct="atomic" id="550"></list></sounds><blocks></blocks><variables></variables><scripts><script x="8.333333333333334" y="8.333333333333334"><block s="receiveGo"></block><block s="up"></block><block s="clear"></block><block s="gotoXY"><l>-239</l><l>179</l></block><block s="setColor"><color>0,254,42,1</color></block><block s="doForever"><script><block s="setYPosition"><l>-179</l></block><block s="doWarp"><script><block s="doForEach"><l>item</l><block s="reportAudio"><l><option>spectrum</option></l></block><script><block s="setPenColorDimension"><l><option>brightness</option></l><block s="reportVariadicProduct"><list><block s="reportPower"><block s="reportQuotient"><block var="item"/><l>255</l></block><l>2</l></block><l>100</l></list></block></block><block s="setSize"><block s="reportVariadicMax"><list><block s="reportQuotient"><l>2</l><block s="reportQuotient"><block s="reportAudio"><l><option>resolution</option></l></block><l>256</l></block></block><l>1</l></list></block></block><block s="down"></block><block s="forward"><l>0</l></block><block s="up"></block><block s="changeYPosition"><block s="reportQuotient"><l>360</l><block s="reportAudio"><l><option>resolution</option></l></block></block></block></script></block></script></block><block s="changeXPosition"><l>1</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="xPosition"></block><l>239</l></list></block><script><block s="clear"></block><block s="setXPosition"><l>-239</l></block></script><list></list></block></script></block></script><script x="8.333333333333334" y="508.58333333333314"><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportListAttribute"><l><option>length</option></l><block var="Saved"/></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><l>496</l><block s="reportQuotient"><block var="a"/><l>2048</l></block></list></block></block><script><block s="setVolume"><block s="reportQuotient"><block s="reportListItem"><block var="i"/><block var="Saved"/></block><l>2.55</l></block></block><block s="playFreq"><block s="reportQuotient"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="i"/><l>261</l></list></block><l>3</l></block><block s="reportQuotient"><block var="a"/><l>256</l></block></block></block><block s="doWait"><l>0.05</l></block></script></block><block s="stopFreq"></block></script><script x="8.333333333333334" y="723.7499999999999"><block s="setColor"><color>255,255,255,1</color></block><custom-block s="plot sound %s"><block var="Converted"/></custom-block></script><script x="8.333333333333334" y="784.583333333333"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doWait"><l>1</l></block><block s="doForever"><script><block s="doPlaySoundAtRate"><block var="Converted"/><l>48000</l></block></script></block></script><script x="8.333333333333334" y="885.25"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doDeclareVariables"><list><l>a</l><l>b</l><l>c</l><l>d</l><l>e</l><l>f</l><l>g</l></list></block><block s="doSetVar"><l>a</l><block s="reportAudio"><l><option>spectrum</option></l></block></block><block s="doSetVar"><l>Saved</l><block var="a"/></block><block s="doSetVar"><l>b</l><block var="a"/></block><block s="doSetVar"><l>d</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return (Math.PI/180);</l></block><list></list></block></block><block s="doSetVar"><l>g</l><block s="reportAudio"><l><option>resolution</option></l></block></block><block s="doSetVar"><l>e</l><block s="reportQuotient"><block var="g"/><l>256</l></block></block><block s="doSetVar"><l>f</l><block s="reportVariadicProduct"><list><l>400</l><block s="reportQuotient"><block var="g"/><l>2048</l></block></list></block></block><block s="doForever"><script><block s="doSetVar"><l>a</l><block s="reportAudio"><l><option>spectrum</option></l></block></block><block s="doSetVar"><l>a</l><block s="reportRound"><block s="reportQuotient"><block var="a"/><l>2.55</l></block></block></block><block s="doSetVar"><l>Saved</l><block s="reportListItem"><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block></block><block var="a"/></block></block><block s="doSetVar"><l>Converted</l><block s="evaluate"><block s="reportJSFunction"><list><l>saved</l><l>to_rad</l><l>spect_size</l><l>spect_size2</l><l>spect_size3</l></list><l>var converted = new List();&#xD;var maximum = Math.ceil(spect_size2);&#xD;for (var i = 1; i &lt;= maximum; i++) {&#xD; var size = converted.length();&#xD; var vol = Math.max((((saved.at(i)/255)**4)*10)-0.035+(i*(0.1/spect_size3)),0)*4;&#xD; for (var j = 1; j &lt;= 2048; j++) {&#xD;  var neww = Math.sin(j*to_rad*((i/1.45)/(spect_size)))*vol;&#xD;  if (size &lt; j) {&#xD;   converted.add(neww);&#xD;  } else {&#xD;   converted.put(converted.at(j)+neww,j);&#xD;  }&#xD; }&#xD;}&#xD;return converted;</l></block><list><block var="Saved"/><block var="d"/><block var="e"/><block var="f"/><block var="g"/></list></block></block><block s="doSetVar"><l>b</l><block var="a"/></block></script></block></script><script x="684.9407552083334" y="925.4166666666671"><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportVariadicSum"><list><block var="Saved"/><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportVariadicMax"><list><block s="errorObsolete"></block><l>0</l></list></block><l>2</l></list></block><block s="reportVariadicProduct"><list><block s="reportVariadicMax"><list><block s="errorObsolete"></block><l>0</l></list></block><l>4</l></list></block></block></list></block><l>0</l></list></block><l>100</l></list></block></script><script x="502.3333333333334" y="994.083333333334"><block s="receiveKey"><l><option>r</option></l><list></list></block><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doDeclareVariables"><list><l>a</l><l>b</l><l>c</l><l>d</l><l>e</l><l>f</l><l>g</l><l>h</l></list></block><block s="doSetVar"><l>a</l><block s="reportAudio"><l><option>spectrum</option></l></block></block><block s="doSetVar"><l>b</l><block var="a"/></block><block s="doSetVar"><l>d</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return (Math.PI/180);</l></block><list></list></block></block><block s="doSetVar"><l>g</l><block s="reportAudio"><l><option>resolution</option></l></block></block><block s="doSetVar"><l>e</l><block s="reportQuotient"><block var="g"/><l>256</l></block></block><block s="doSetVar"><l>f</l><block s="reportVariadicProduct"><list><l>400</l><block s="reportQuotient"><block var="g"/><l>2048</l></block></list></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>h</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportNot"><block s="reportKeyPressed"><l><option>r</option></l></block></block><script><block s="doSetVar"><l>a</l><block s="reportAudio"><l><option>spectrum</option></l></block></block><block s="doAddToList"><block s="reportRound"><block s="reportQuotient"><block var="a"/><l>2.55</l></block></block><block var="result"/></block><block s="doAddToList"><block s="reportVariadicProduct"><list><l>2048</l><block s="reportListAttribute"><l><option>length</option></l><block var="h"/></block></list></block><block var="h"/></block><block s="doWait"><l>0.015</l></block></script></block><block s="doSetVar"><l>Saved2</l><block s="reportConcatenatedLists"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reportJSFunction"><list><l>saved</l><l>to_rad</l><l>spect_size</l><l>spect_size2</l><l>spect_size3</l><l>phase</l></list><l>var converted = new List();&#xD;var maximum = Math.ceil(spect_size2);&#xD;for (var i = 1; i &lt;= maximum; i++) {&#xD; var size = converted.length();&#xD; var vol = Math.max((((saved.at(i)/255)**4)*10)-Math.max(0.035+(i*(0.4/spect_size3)),0),0)*2;&#xD; var pitch = ((i/1.45)/(spect_size));&#xD; var phase2 = phase.at(i);&#xD; for (var j = 1; j &lt;= 2048; j++) {&#xD;  var neww = Math.sin((j*to_rad*pitch) + (phase2*to_rad*pitch))*vol;&#xD;  if (size &lt; j) {&#xD;   converted.add(neww);&#xD;  } else {&#xD;   converted.put(converted.at(j)+neww,j);&#xD;  }&#xD; }&#xD;}&#xD;return converted;</l></block><list><l></l><block var="d"/><block var="e"/><block var="f"/><block var="g"/><block var="h"/></list></block></autolambda><list></list></block><block var="result"/></block></block></block></script><script x="792.3333333333334" y="1314.5833333333346"><block s="reportQuotient"><l>1</l><l>50</l></block></script><script x="267.3333333333333" y="1704.416666666668"><block s="receiveKey"><l><option>p</option></l><list></list></block><block s="doPlaySoundAtRate"><block s="reportQuotient"><block var="Saved2"/><l>8</l></block><l>48000</l></block><block s="doWaitUntil"><block s="reportNot"><block s="reportKeyPressed"><l><option>p</option></l></block></block></block></script><script x="201.33333333333337" y="427.2500000000012"><block s="doSetVar"><l>Saved</l><block s="reportAudio"><l><option>spectrum</option></l></block></block><block s="doSetVar"><l>Saved</l><block s="reportQuotient"><block var="Saved"/><l>2.55</l></block></block></script></scripts></sprite><watcher var="Saved" style="normal" x="20.51282051282044" y="13.99999600000001" color="243,118,29" hidden="true"/><watcher var="Converted" style="normal" x="20.000000000000227" y="13.99999600000001" color="243,118,29" hidden="true"/><watcher var="Saved2" style="normal" x="10" y="10" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="Saved"><list struct="atomic" id="1028"></list></variable><variable name="Converted"><list struct="atomic" id="1029"></list></variable><variable name="Saved2"><list struct="atomic" id="1030"></list></variable></variables></scene></scenes></project><media name="Spectrogram" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"></media></snapdata>