<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://vjmedia.wpi.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Blgobler</id>
	<title>vjmedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://vjmedia.wpi.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Blgobler"/>
	<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/Special:Contributions/Blgobler"/>
	<updated>2026-06-09T23:15:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.8</generator>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246600</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246600"/>
		<updated>2019-10-10T15:24:31Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below is a demonstration in Max. For a better understanding of this concept, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled). These values are sent into the subpatcher below.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To view access the full project, download the .zip file below. It contains the original file ''Ben_Gobler_Final_Project.maxpat'', along with the referenced files (images, javascript, texts).&lt;br /&gt;
[[File:Ben_Gobler_Final_Project_Folder.zip]]&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246560</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246560"/>
		<updated>2019-10-10T00:47:08Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled). These values are sent into the subpatcher below.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To view access the full project, download the .zip file below. It contains the original file ''Ben_Gobler_Final_Project.maxpat'', along with the referenced files (images, javascript, texts).&lt;br /&gt;
[[File:Ben_Gobler_Final_Project_Folder.zip]]&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246559</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246559"/>
		<updated>2019-10-10T00:46:35Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled). These values are sent into the subpatcher below.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To view access the full project, download the .zip file below. It contains the original file ''Ben_Gobler_Final_Project.maxpat'', along with the referenced files (images, javascript, texts).&lt;br /&gt;
[[Ben_Gobler_Final_Project_Folder.zip]]&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246558</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246558"/>
		<updated>2019-10-10T00:46:09Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: /* Sight to Sound */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled). These values are sent into the subpatcher below.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To view access the full project, download the .zip file below. It contains the original file ''Ben_Gobler_Final_Project.maxpat'', along with the referenced files (images, javascript, texts).&lt;br /&gt;
[[File:Ben_Gobler_Final_Project_Folder.zip]]&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246557</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246557"/>
		<updated>2019-10-10T00:45:04Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled). These values are sent into the subpatcher below.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To view access the full project, download the .zip file below. It contains the original file ''Ben_Gobler_Final_Project.maxpat'', along with the referenced files (images, javascript, texts).&lt;br /&gt;
[[File:Ben_Gobler_Final_Project_Folder.zip]]&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Ben_Gobler_Final_Project_Folder.zip&amp;diff=246556</id>
		<title>File:Ben Gobler Final Project Folder.zip</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Ben_Gobler_Final_Project_Folder.zip&amp;diff=246556"/>
		<updated>2019-10-10T00:42:13Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: Blgobler uploaded a new version of File:Ben Gobler Final Project Folder.zip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Ben_Gobler_Final_Project_Folder.zip&amp;diff=246555</id>
		<title>File:Ben Gobler Final Project Folder.zip</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Ben_Gobler_Final_Project_Folder.zip&amp;diff=246555"/>
		<updated>2019-10-10T00:39:38Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246554</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246554"/>
		<updated>2019-10-10T00:32:06Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled). These values are sent into the subpatcher below.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246553</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246553"/>
		<updated>2019-10-10T00:27:46Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode using camera data from ''jit.qt.grab''. The mode is directed by the subpatcher ''p inv_toggle'', which acts as a router between 0 and 1, but with toggles. This toggle is controlled by the radiogroup with the two mode options.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level. When the dimension level changes, the subpatcher ''p hilbert'' sends the proper images of the Hilbert Curve (''pwindow'') and the slider (''pictslider'').]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' runs the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|The left half of ''p demo'' uses the place along the Hilbert Curve (which is the slider value) to calculate and output that point's frequency. Then the frequency is sent through ''cycle~'' and ''gain~'', and finally gets outputted through ''dac~''.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|The right half of ''p demo'' uses javascript to take the place along the Hilbert Curve (which is the slider value) and output the xy-coordinates of the corresponding pixel. Then, it uses ''pak'' and ''jit.matrix'' to generate a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled).]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve (''pic'') and slider (''bkgndpict''). On the far right are parameters for the slider, which is an implementation of the object ''pictslider''.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally get outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined with ''cycle~'' and ''gain~'', and then get sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Ben Gobler&amp;lt;br /&amp;gt;October 2019 ====&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246551</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246551"/>
		<updated>2019-10-09T23:55:34Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode. The left half outputs the selected frequency, and the right half generates the matrix output for the video screen.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' begins running the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|This half of ''p demo'' uses the place along the Hilbert Curve (also the slider value) to calculate and output that point's frequency.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|This half of ''p demo'' uses javascript to take the place along the Hilbert Curve (also the slider value) and output the xy-coordinates of the corresponding pixel. Then, it generates a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled).]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve and slider image. On the far right are parameters for the slider.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:This_poly.png|300px|thumb|This subpatcher ''p frequency_output'' outputs the frequencies in camera mode.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Camera_audio.png|300px|thumb|Each incoming pixel's location on the Hilbert Curve and its brightness are sent into ''poly~'' with a unique voice. This way, every pixel can output frequencies in their own clones of ''poly~'''s patcher. The results are sent back into a ''gain~'' control, and finally are outputted through ''dac~''.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Poly.png|300px|thumb|This is the ''poly'' patcher. It calculates the volumes and frequencies from the camera data.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Volumes_and_Frequencies.png|300px|thumb|On the left, it uses the pixel's brightness value to calculate the volume. On the right, it uses the pixel's location on the Hilbert Curve to calculate the point's frequency. The two are combined in ''gain~'' and sent back to ''p frequency_output'' with ''out~''.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Volumes_and_Frequencies.png&amp;diff=246550</id>
		<title>File:Volumes and Frequencies.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Volumes_and_Frequencies.png&amp;diff=246550"/>
		<updated>2019-10-09T23:33:42Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Poly.png&amp;diff=246549</id>
		<title>File:Poly.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Poly.png&amp;diff=246549"/>
		<updated>2019-10-09T23:33:29Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Camera_audio.png&amp;diff=246548</id>
		<title>File:Camera audio.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Camera_audio.png&amp;diff=246548"/>
		<updated>2019-10-09T23:33:11Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:This_poly.png&amp;diff=246547</id>
		<title>File:This poly.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:This_poly.png&amp;diff=246547"/>
		<updated>2019-10-09T23:31:33Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246546</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246546"/>
		<updated>2019-10-09T23:24:51Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode. The left half outputs the selected frequency, and the right half generates the matrix output for the video screen.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' begins running the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|This half of ''p demo'' uses the place along the Hilbert Curve (also the slider value) to calculate and output that point's frequency.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|This half of ''p demo'' uses javascript to take the place along the Hilbert Curve (also the slider value) and output the xy-coordinates of the corresponding pixel. Then, it generates a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled).]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve and slider image. On the far right are parameters for the slider.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Hilbert_to_Point.png&amp;diff=246545</id>
		<title>File:Hilbert to Point.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Hilbert_to_Point.png&amp;diff=246545"/>
		<updated>2019-10-09T23:20:13Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: Blgobler uploaded a new version of File:Hilbert to Point.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Hilbert_to_Point.png&amp;diff=246544</id>
		<title>File:Hilbert to Point.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Hilbert_to_Point.png&amp;diff=246544"/>
		<updated>2019-10-09T23:19:03Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: Blgobler uploaded a new version of File:Hilbert to Point.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246543</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246543"/>
		<updated>2019-10-09T23:13:43Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Sight to Sound ===&lt;br /&gt;
&lt;br /&gt;
This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=276&amp;amp;height=216&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;216&amp;quot; width=&amp;quot;276&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
== Here is a walkthrough of the code: ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Main.png|350px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Mode.png|350px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|350px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher ''p demo'' runs the demo mode. The left half outputs the selected frequency, and the right half generates the matrix output for the video screen.]]&lt;br /&gt;
| [[File:Data_sort.png|100px|thumb|This subpatcher ''p data_sort'' begins running the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher ''p hilbert'' sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|This half of ''p demo'' uses the place along the Hilbert Curve (also the slider value) to calculate and output that point's frequency.]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|This half of ''p demo'' uses javascript to take the place along the Hilbert Curve (also the slider value) and output the xy-coordinates of the corresponding pixel. Then, it generates a matrix of black pixels with a white pixel at that point (x,y).]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|100px|thumb|''jit.iter'' splits the camera data into pixel coordinates and their brightness values. The javascript file takes each pixel's xy-coordinates and outputs that pixel's place on the Hilbert Curve (from first to last, when unraveled).]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|300px|thumb|With the dimension level as an input, it gets routed and sent to a corresponding Hilbert Curve and slider image.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246542</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246542"/>
		<updated>2019-10-09T22:21:24Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo.png|200px|thumb|This subpatcher runs the demo mode. The left half outputs the selected frequency, and the right half generates the matrix output for the video screen.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Data_sort.png|200px|thumb|This subpatcher begins running the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|200px|thumb|This subpatcher sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo_audio.png|200px|thumb|]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_to_Point.png|200px|thumb|]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Point_to_Hilbert.png|200px|thumb|]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Image_selection.png|200px|thumb|]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Image_selection.png&amp;diff=246541</id>
		<title>File:Image selection.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Image_selection.png&amp;diff=246541"/>
		<updated>2019-10-09T22:18:29Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Point_to_Hilbert.png&amp;diff=246540</id>
		<title>File:Point to Hilbert.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Point_to_Hilbert.png&amp;diff=246540"/>
		<updated>2019-10-09T22:17:21Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Hilbert_to_Point.png&amp;diff=246539</id>
		<title>File:Hilbert to Point.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Hilbert_to_Point.png&amp;diff=246539"/>
		<updated>2019-10-09T22:16:20Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Demo_audio.png&amp;diff=246538</id>
		<title>File:Demo audio.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Demo_audio.png&amp;diff=246538"/>
		<updated>2019-10-09T22:15:41Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246537</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246537"/>
		<updated>2019-10-09T22:14:38Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Demo.png|300px|thumb|This subpatcher runs the demo mode. The left half outputs the selected frequency, and the right half generates the matrix output for the video screen.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Data_sort.png|300px|thumb|This subpatcher begins running the camera mode.]]&lt;br /&gt;
| [[File:img_spacer.png|50px|frameless|]]&lt;br /&gt;
| [[File:Hilbert_setup.png|300px|thumb|This subpatcher sends the proper Hilbert Curves and sliders from image files.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Data_sort.png&amp;diff=246536</id>
		<title>File:Data sort.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Data_sort.png&amp;diff=246536"/>
		<updated>2019-10-09T22:06:54Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Hilbert_setup.png&amp;diff=246535</id>
		<title>File:Hilbert setup.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Hilbert_setup.png&amp;diff=246535"/>
		<updated>2019-10-09T22:02:29Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Demo.png&amp;diff=246534</id>
		<title>File:Demo.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Demo.png&amp;diff=246534"/>
		<updated>2019-10-09T22:01:43Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246533</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246533"/>
		<updated>2019-10-09T22:00:45Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator ''3Blue1Brown'': [https://www.youtube.com/watch?v=3s7h2MHQtxc '''link''']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto; hspace: 100;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246532</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246532"/>
		<updated>2019-10-09T21:56:01Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto; hspace: 100;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This path controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246520</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246520"/>
		<updated>2019-10-09T16:38:22Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto; hspace: 100;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|100px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246519</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246519"/>
		<updated>2019-10-09T16:35:41Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto; hspace: 100;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:img_spacer.png|300px|frameless|]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Img_spacer.png&amp;diff=246518</id>
		<title>File:Img spacer.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Img_spacer.png&amp;diff=246518"/>
		<updated>2019-10-09T16:33:55Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246507</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246507"/>
		<updated>2019-10-09T16:06:44Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable for two reasons: first, when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Second, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Main.png|300px|thumb|This is the main patcher. It looks complicated, but there are only two primary paths running.]]&lt;br /&gt;
|}&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| [[File:Mode.png|300px|thumb|This path controls the current mode. The left branch runs the demo mode, and the right branch runs the camera mode. ''p inv_toggle'' acts as a router between 0 and 1, but with toggles.]]&lt;br /&gt;
| [[File:Hilbert.png|300px|thumb|This controls the Hilbert Curves and the sliders for each dimension level.]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Hilbert.png&amp;diff=246505</id>
		<title>File:Hilbert.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Hilbert.png&amp;diff=246505"/>
		<updated>2019-10-09T15:37:52Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Mode.png&amp;diff=246504</id>
		<title>File:Mode.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Mode.png&amp;diff=246504"/>
		<updated>2019-10-09T15:37:31Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=File:Main.png&amp;diff=246503</id>
		<title>File:Main.png</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=File:Main.png&amp;diff=246503"/>
		<updated>2019-10-09T15:36:56Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246501</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246501"/>
		<updated>2019-10-09T15:32:53Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable because when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Moreover, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246493</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246493"/>
		<updated>2019-10-09T14:10:57Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable because when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Moreover, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a quick walkthrough of the code:&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246492</id>
		<title>Sight to Sound</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=Sight_to_Sound&amp;diff=246492"/>
		<updated>2019-10-09T14:07:34Z</updated>

		<summary type="html">&lt;p&gt;Blgobler: Created page with &amp;quot;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sight-to-sound application; something that takes a camera input and outputs a spectrum of audio frequencies. The creative task is to choose a mapping from 2D pixel-space to 1D frequency-space in a way that could be meaningful to the listener. Of course, it would take someone a long time to relearn their sight through sound, but the purpose of this project is just to ''implement'' the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Used here, the mapping from pixels to frequencies is the Hilbert Curve. This particular mapping is desirable because when the camera dimensions increase, points on the curve approach more precise locations, tending toward a specific point. So increasing the dimensions makes better approximations of the camera data, which becomes &amp;quot;higher resolution sound&amp;quot; in terms of audio-sight. Moreover, the Hilbert Curve maintains that nearby pixels in pixel-space are assigned frequencies near each other in frequency-space. By leveraging these two intuitions of sight, the Hilbert curve is an excellent choice for the mapping for this hypothetical software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The video below demonstrates the concept in Max. For a better understanding of this concept, check out this video by YouTube animator 3Blue1Brown: [https://www.youtube.com/watch?v=3s7h2MHQtxc link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmltag tagname=&amp;quot;iframe&amp;quot; id=&amp;quot;ensembleEmbeddedContent_aELPpo0eJEiNwcKrpzACnQ&amp;quot; src=&amp;quot;https://video.wpi.edu/hapi/v1/contents/a6cf4268-1e8d-4824-8dc1-c2aba730029d/plugin?embedAsThumbnail=false&amp;amp;displayTitle=false&amp;amp;startTime=0&amp;amp;autoPlay=false&amp;amp;hideControls=true&amp;amp;showCaptions=false&amp;amp;width=460&amp;amp;height=360&amp;amp;displaySharing=false&amp;amp;displayAnnotations=false&amp;amp;displayAttachments=false&amp;amp;displayLinks=false&amp;amp;displayEmbedCode=false&amp;amp;displayDownloadIcon=false&amp;amp;displayMetaData=false&amp;amp;displayCredits=false&amp;amp;displayCaptionSearch=false&amp;amp;audioPreviewImage=false&amp;amp;displayViewersReport=false&amp;quot; title=&amp;quot;Ben Gobler Final Project&amp;quot; frameborder=&amp;quot;0&amp;quot; height=&amp;quot;360&amp;quot; width=&amp;quot;460&amp;quot; allowfullscreen&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;/div&gt;</summary>
		<author><name>Blgobler</name></author>
		
	</entry>
</feed>