{"id":1762,"date":"2011-09-05T17:15:32","date_gmt":"2011-09-06T00:15:32","guid":{"rendered":"http:\/\/mcclanahoochie.com\/blog\/?post_type=portfolio&#038;p=1762"},"modified":"2023-06-10T10:32:43","modified_gmt":"2023-06-10T17:32:43","slug":"music-visualization-with-processing","status":"publish","type":"post","link":"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/","title":{"rendered":"Music Visualization with Processing"},"content":{"rendered":"<h2>Live Spectrogram<\/h2>\n<p><span style=\"color: #000000;\"><span style=\"font-weight: 300;\">Re-Inspired by the awesome artistic works in\u00a0<\/span><a style=\"font-weight: 300; color: #000000;\" href=\"http:\/\/cargocollective.com\/resonance\/\" target=\"_blank\" rel=\"noopener\">Resonance the Film<\/a><span style=\"font-weight: 300;\">, a TED talk on <\/span><a style=\"font-weight: 300; color: #000000;\" href=\"http:\/\/www.ted.com\/talks\/jakob_trollback_rethinks_the_music_video.html\" target=\"_blank\" rel=\"noopener\">generative music videos<\/a><span style=\"font-weight: 300;\">,\u00a0and then remembering the good ol&#8217; days of <\/span><a style=\"font-weight: 300; color: #000000;\" href=\"http:\/\/en.wikipedia.org\/wiki\/MilkDrop\" target=\"_blank\" rel=\"noopener\">MilkDrop<\/a><span style=\"font-weight: 300;\">\u00a0magic, I found myself captivated and wanting to learn more about <\/span><a style=\"font-weight: 300; color: #000000;\" href=\"http:\/\/www.visualcomplexity.com\/vc\/blog\/?p=811\" target=\"_blank\" rel=\"noopener\">music visualization<\/a><span style=\"font-weight: 300;\">\u00a0and how I could create my own.<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Since I will be using Processing for the first time this semester in my computer graphics\u00a0<a style=\"color: #000000;\" href=\"http:\/\/www.gvu.gatech.edu\/~jarek\/6491\/\" target=\"_blank\" rel=\"noopener\">class<\/a>, I chose to jump start my learning by exploring music visualization in the language<em>\u00a0Processing<\/em>. Doing some very <em>minor<\/em> research on the subject of music visualization,\u00a0I discovered that <a style=\"color: #000000;\" href=\"http:\/\/en.wikipedia.org\/wiki\/Spectrogram\" target=\"_blank\" rel=\"noopener\">spectrograms<\/a>\u00a0are pretty neat and simple to program.<\/span><\/p>\n<p>So, starting with a base spectrogram application by\u00a0<a title=\"Dan Ellis\" href=\"http:\/\/www.ee.columbia.edu\/~dpwe\/resources\/Processing\" target=\"_blank\" rel=\"noopener\">Dan Ellis<\/a>, I started modifying his\u00a0&#8220;LiveSpectrogram&#8221; Processing code and\u00a0created my own version. <em>My changes include<\/em>: HSV color mode, mp3 file chooser dialog, code cleanup and code\u00a0optimizations. There is\u00a0<em>much<\/em> more to be done, but this is a good start that already looks pretty cool.<\/p>\n<p>While nothing special or original, this is a fun side project that will grow into better things as I find the time.\u00a0Here are some screen shots of my simple Processing <a href=\"http:\/\/code.google.com\/p\/mcclanahoochie\/source\/browse\/processing\/Spectrogram\/Spectrogram.pde\" target=\"_blank\" rel=\"noopener\">app<\/a> in action, playing two different <em>Black Moth Super Rainbow<\/em> songs, enjoy!<\/p>\n<h2>Sample Images<\/h2>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"1766\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/spect-bmsr-milkskates\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg?fit=507%2C280&amp;ssl=1\" data-orig-size=\"507,280\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"spect-bmsr-milkskates\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg?fit=507%2C280&amp;ssl=1\" class=\"size-full wp-image-1766 aligncenter\" title=\"spect-bmsr-milkskates\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg?resize=507%2C280\" alt=\"\" width=\"507\" height=\"280\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg?w=507&amp;ssl=1 507w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg?resize=300%2C165&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates.jpg?resize=500%2C276&amp;ssl=1 500w\" sizes=\"(max-width: 507px) 100vw, 507px\" \/><\/a><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"1765\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/spect-bmsr-milkskates2\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg?fit=508%2C277&amp;ssl=1\" data-orig-size=\"508,277\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"spect-bmsr-milkskates2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg?fit=508%2C277&amp;ssl=1\" class=\"size-full wp-image-1765 aligncenter\" title=\"spect-bmsr-milkskates2\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg?resize=508%2C277\" alt=\"\" width=\"508\" height=\"277\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg?w=508&amp;ssl=1 508w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg?resize=300%2C163&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-milkskates2.jpg?resize=500%2C272&amp;ssl=1 500w\" sizes=\"(max-width: 508px) 100vw, 508px\" \/><\/a><\/p>\n<p style=\"text-align: center;\">\u00a0The 2 above = &#8220;<em>Milk Skates<\/em>&#8221; \u00a0 \u00a0| \u00a0 \u00a0The 2 below = &#8220;<em>Forever Heavy<\/em>&#8220;<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"1764\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/spect-bmsr-foreverheavy\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg?fit=508%2C279&amp;ssl=1\" data-orig-size=\"508,279\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"spect-bmsr-foreverheavy\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg?fit=508%2C279&amp;ssl=1\" class=\"size-full wp-image-1764 aligncenter\" title=\"spect-bmsr-foreverheavy\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg?resize=508%2C279\" alt=\"\" width=\"508\" height=\"279\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg?w=508&amp;ssl=1 508w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy.jpg?resize=500%2C274&amp;ssl=1 500w\" sizes=\"(max-width: 508px) 100vw, 508px\" \/><\/a><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"1763\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/spect-bmsr-foreverheavy2\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg?fit=509%2C278&amp;ssl=1\" data-orig-size=\"509,278\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"spect-bmsr-foreverheavy2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg?fit=509%2C278&amp;ssl=1\" class=\"size-full wp-image-1763 aligncenter\" title=\"spect-bmsr-foreverheavy2\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg?resize=509%2C278\" alt=\"\" width=\"509\" height=\"278\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg?w=509&amp;ssl=1 509w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg?resize=300%2C163&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/spect-bmsr-foreverheavy2.jpg?resize=500%2C273&amp;ssl=1 500w\" sizes=\"(max-width: 509px) 100vw, 509px\" \/><\/a><\/p>\n<p>I just find it so neat to watch and attempt to understand the patterns that form while listening!<\/p>\n<p>Again, it&#8217;s nothing fancy, but I found this app to be a nice and fun intro into the world of\u00a0algorithmically\u00a0generating visualizations for songs. There is a lot <a href=\"http:\/\/www.google.com\/search?q=music+visualization\" target=\"_blank\" rel=\"noopener\">more<\/a> to be done here, and I&#8217;m way far <a href=\"http:\/\/www.youtube.com\/results?search_query=music+visualization\" target=\"_blank\" rel=\"noopener\">behind<\/a> the latest and greatest, but I&#8217;ll\u00a0try to make more updates for fun as <a href=\"http:\/\/100rsns.blogspot.com\/2011\/06\/62-you-have-no-free-time.html\" target=\"_blank\" rel=\"noopener\">free time<\/a> allows&#8230;<\/p>\n<h2>Download!<\/h2>\n<h3><em>* <strong><a href=\"http:\/\/code.google.com\/p\/mcclanahoochie\/source\/browse\/processing\/Spectrogram\/Spectrogram.pde\">Source code<\/a>\u00a0****<\/strong><\/em><\/h3>\n<p>&nbsp;<\/p>\n<p><strong>Update<\/strong> (9\/25\/11):<br \/>\nHow cool and <em>clever<\/em> &#8211; <a href=\"http:\/\/flowingdata.com\/2011\/09\/22\/musical-spectrum-analysis\/\" target=\"_blank\" rel=\"noopener\">a circular spectrogram<\/a>!<\/p>\n<p><strong>Update<\/strong>\u00a0(11\/20\/12):<br \/>\nTweaked colors a bit, now wit more RED!&#8230;<\/p>\n<figure id=\"attachment_2494\" aria-describedby=\"caption-attachment-2494\" style=\"width: 290px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2494\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/screen-shot-2012-11-20-at-8-16-31-pm\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM.png?fit=518%2C279&amp;ssl=1\" data-orig-size=\"518,279\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screen Shot 2012-11-20 at 8.16.31 PM\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM.png?fit=518%2C279&amp;ssl=1\" class=\"size-medium wp-image-2494\" title=\"Screen Shot 2012-11-20 at 8.16.31 PM\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM-300x161.png?resize=300%2C161\" alt=\"\" width=\"300\" height=\"161\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM.png?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM.png?resize=500%2C269&amp;ssl=1 500w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-11-20-at-8.16.31-PM.png?w=518&amp;ssl=1 518w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-2494\" class=\"wp-caption-text\">Tame Impala &#8211; It is not Meant to Be<\/figcaption><\/figure>\n<figure id=\"attachment_2553\" aria-describedby=\"caption-attachment-2553\" style=\"width: 290px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mcclanahoochie.com\/blog\/portfolio\/music-visualization-with-processing\/screen-shot-2012-12-13-at-8-42-12-pm\/\" rel=\"attachment wp-att-2553\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2553\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/screen-shot-2012-12-13-at-8-42-12-pm\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-12-13-at-8.42.12-PM.png?fit=515%2C282&amp;ssl=1\" data-orig-size=\"515,282\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screen Shot 2012-12-13 at 8.42.12 PM\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-12-13-at-8.42.12-PM.png?fit=515%2C282&amp;ssl=1\" class=\"size-medium wp-image-2553\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-12-13-at-8.42.12-PM-300x164.png?resize=300%2C164\" alt=\"Screen Shot 2012-12-13 at 8.42.12 PM\" width=\"300\" height=\"164\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-12-13-at-8.42.12-PM.png?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-12-13-at-8.42.12-PM.png?resize=500%2C273&amp;ssl=1 500w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2012-12-13-at-8.42.12-PM.png?w=515&amp;ssl=1 515w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-2553\" class=\"wp-caption-text\">Aphex Twin &#8211; Windowlicker<\/figcaption><\/figure>\n<p style=\"text-align: left;\"><strong>Update<\/strong>\u00a0(12\/13\/12):<br \/>\n&#8212;-&gt; Converted this to <strong><em><a title=\"Music Visualization with an Arduino\" href=\"http:\/\/mcclanahoochie.com\/blog\/portfolio\/music-visualization-with-an-arduino\/\">HARDWARE<\/a>\u00a0<\/em><\/strong><em>with an Arduino<strong>!<\/strong><\/em>\u00a0 &lt;&#8212;-<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Live Spectrogram Re-Inspired by the awesome artistic works in\u00a0Resonance the Film, a TED talk on generative music videos,\u00a0and then remembering the good ol&#8217; days of MilkDrop\u00a0magic, I found myself captivated and wanting to learn more about music visualization\u00a0and how I could create my own. Since I will be using Processing for the first time this &#8230; <a title=\"Music Visualization with Processing\" class=\"read-more\" href=\"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/music-visualization-with-processing\/\" aria-label=\"Read more about Music Visualization with Processing\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[80,115,101,29,81],"class_list":["post-1762","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-music","tag-processing","tag-programming","tag-projects","tag-visualization"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pZdXI-sq","jetpack-related-posts":[{"id":2514,"url":"https:\/\/mcclanahoochie.com\/blog\/2012\/12\/music-visualization-with-an-arduino\/","url_meta":{"origin":1762,"position":0},"title":"Music Visualization with an Arduino","author":"mcclanahoochie","date":"December 13, 2012","format":false,"excerpt":"Audio Frequency Spectrum Analyzer &\u00a0Spectrogram As a followup to a previous post on Music Visualization with Processing (and a good excuse to play with my Arduino), I decided to convert my Processing music visualizer into hardware. The project is not finished yet, but I wanted to post a quick update\u2026","rel":"","context":"In \"arduino\"","block_context":{"text":"arduino","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arduino\/"},"img":{"alt_text":"_DSC2334","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/12\/DSC2334-229x300.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":882,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/01\/uroc-gpgpu-poster\/","url_meta":{"origin":1762,"position":1},"title":"UROC GPGPU Poster","author":"mcclanahoochie","date":"January 1, 2011","format":false,"excerpt":"April 2010 I find\u00a0graphics card programming fascinating. I presented a\u00a0UROC Poster on GPGPU Molecular Dynamics\u00a0analysis and visualization on the GPU at the 2010 Georgia Tech Undergraduate\u00a0Research\u00a0Symposium. I also had a cool demo set up of the system running (above), along with my Android bonds\u00a0visualization client. \u00a0 \u00a0","rel":"","context":"In \"bonds\"","block_context":{"text":"bonds","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/bonds\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/01\/bonds.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2872,"url":"https:\/\/mcclanahoochie.com\/blog\/2014\/06\/word-cloud-resume-hack\/","url_meta":{"origin":1762,"position":2},"title":"Word Cloud R\u00e9sum\u00e9 Improvement","author":"mcclanahoochie","date":"June 12, 2014","format":false,"excerpt":"Preface By no means do I claim have an impressive r\u00e9sum\u00e9, but I did want to share a trick I thought of to help me improve it. Unfortunately, like most ideas that I come up with on my own\u00a0that I think are original, doing a few Google searches proves me\u2026","rel":"","context":"In \"data\"","block_context":{"text":"data","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/data\/"},"img":{"alt_text":"before using wordcloud optimization","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2014\/06\/resume_wordcloud_before-1024x640.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2014\/06\/resume_wordcloud_before-1024x640.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2014\/06\/resume_wordcloud_before-1024x640.png?resize=525%2C300 1.5x"},"classes":[]},{"id":1201,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/05\/ai-learning-portfolio\/","url_meta":{"origin":1762,"position":3},"title":"AI Learning Portfolio","author":"mcclanahoochie","date":"May 4, 2011","format":false,"excerpt":"As a final assignment\/write-up for my CS6601 Artificial Intelligence class at Georgia Tech, this\u00a0learning portfolio was made to summarize what I had learned throughout the course... CS 6601 Learning Portfolio This page constitutes my learning portfolio for CS 6601, Artificial Intelligence, taken in Spring 2011. In it, I discuss what\u2026","rel":"","context":"In \"ai\"","block_context":{"text":"ai","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/05\/Chris2-d%2B_copy_-1.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1731,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/08\/image-processing-with-libjacket-opencv\/","url_meta":{"origin":1762,"position":4},"title":"Image processing with LibJacket + OpenCV","author":"mcclanahoochie","date":"August 24, 2011","format":false,"excerpt":"Update: one year later:\u00a0ArrayFire+OpenCV The OpenCV library is the de-facto standard for doing computer vision and image processing research projects. OpenCV includes several hundreds of computer vision algorithms, aimed for use in real-time vision applications. LibJacket is a matrix library built on CUDA. LibJacket offers hundreds of general matrix and\u2026","rel":"","context":"In \"arrayfire\"","block_context":{"text":"arrayfire","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arrayfire\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/08\/Screen-shot-2011-08-24-at-2.42.52-PM-1024x640.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/08\/Screen-shot-2011-08-24-at-2.42.52-PM-1024x640.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/08\/Screen-shot-2011-08-24-at-2.42.52-PM-1024x640.png?resize=525%2C300 1.5x"},"classes":[]},{"id":950,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/01\/computer-vision-on-android\/","url_meta":{"origin":1762,"position":5},"title":"Computer Vision on Android in Java","author":"mcclanahoochie","date":"January 4, 2011","format":false,"excerpt":"January 2010 \u00a0 Over the holiday break, I finally created an Android\u00a0app that allows image processing on the camera's raw data, and displays it back on the screen. It only uses\u00a0Java on the CPU for now, but in my free time I'll be porting the code to OpenGL ES to\u2026","rel":"","context":"In \"android\"","block_context":{"text":"android","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/android\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/01\/device-sobel-2-small.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts\/1762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/comments?post=1762"}],"version-history":[{"count":0,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts\/1762\/revisions"}],"wp:attachment":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/media?parent=1762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/categories?post=1762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/tags?post=1762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}