{"id":489,"date":"2016-11-06T19:50:36","date_gmt":"2016-11-07T00:50:36","guid":{"rendered":"https:\/\/portfolios.cs.earlham.edu\/?p=489"},"modified":"2016-11-06T19:50:36","modified_gmt":"2016-11-07T00:50:36","slug":"audio-implementation","status":"publish","type":"post","link":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/","title":{"rendered":"Audio Implementation"},"content":{"rendered":"<p>I added the PortAudio functions necessary to enable simple playback as well as revised my beat detection algorithm to watch for both velocity and acceleration. My first impressions of the application so far is that the latency from gesture to sound is pretty good, but I noticed that the program freezes while the sound is playing (due to the Pa_Sleep function which controls the duration of the sound), which freezes the GUI, but could potentially mess up the velocity and acceleration readings as well. False positives or true negatives in the beats can also occur depending on the amount of threshold set, and the detection algorithm still needs more improvement to prevent them as much as possible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I added the PortAudio functions necessary to enable simple playback as well as revised my beat detection algorithm to watch for both velocity and acceleration. My first impressions of the application so far is that the latency from gesture to &hellip; <a href=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/\">Read More<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-489","post","type-post","status-publish","format-standard","hentry","category-edward"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Audio Implementation - CS\/DS Student Portfolios<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Audio Implementation - CS\/DS Student Portfolios\" \/>\n<meta property=\"og:description\" content=\"I added the PortAudio functions necessary to enable simple playback as well as revised my beat detection algorithm to watch for both velocity and acceleration. My first impressions of the application so far is that the latency from gesture to &hellip; Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/\" \/>\n<meta property=\"og:site_name\" content=\"CS\/DS Student Portfolios\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-07T00:50:36+00:00\" \/>\n<meta name=\"author\" content=\"Edward Ly\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Edward Ly\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/\"},\"author\":{\"name\":\"Edward Ly\",\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/#\\\/schema\\\/person\\\/89af3998f351d29a0ccc69f7311c2aa9\"},\"headline\":\"Audio Implementation\",\"datePublished\":\"2016-11-07T00:50:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/\"},\"wordCount\":120,\"commentCount\":0,\"articleSection\":[\"Edward\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/\",\"url\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/\",\"name\":\"Audio Implementation - CS\\\/DS Student Portfolios\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/#website\"},\"datePublished\":\"2016-11-07T00:50:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/#\\\/schema\\\/person\\\/89af3998f351d29a0ccc69f7311c2aa9\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/2016\\\/11\\\/06\\\/audio-implementation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Audio Implementation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/#website\",\"url\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/\",\"name\":\"CS\\\/DS Student Portfolios\",\"description\":\"AI and ML, Image Classification, Arduino\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/#\\\/schema\\\/person\\\/89af3998f351d29a0ccc69f7311c2aa9\",\"name\":\"Edward Ly\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d2633fa74216d093a8642a5432c44963fd10f677e4cbcc6d935069f9859630ee?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d2633fa74216d093a8642a5432c44963fd10f677e4cbcc6d935069f9859630ee?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d2633fa74216d093a8642a5432c44963fd10f677e4cbcc6d935069f9859630ee?s=96&d=mm&r=g\",\"caption\":\"Edward Ly\"},\"url\":\"https:\\\/\\\/portfolios.cs.earlham.edu\\\/index.php\\\/author\\\/esly14\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Audio Implementation - CS\/DS Student Portfolios","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/","og_locale":"en_US","og_type":"article","og_title":"Audio Implementation - CS\/DS Student Portfolios","og_description":"I added the PortAudio functions necessary to enable simple playback as well as revised my beat detection algorithm to watch for both velocity and acceleration. My first impressions of the application so far is that the latency from gesture to &hellip; Read More","og_url":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/","og_site_name":"CS\/DS Student Portfolios","article_published_time":"2016-11-07T00:50:36+00:00","author":"Edward Ly","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Edward Ly","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/#article","isPartOf":{"@id":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/"},"author":{"name":"Edward Ly","@id":"https:\/\/portfolios.cs.earlham.edu\/#\/schema\/person\/89af3998f351d29a0ccc69f7311c2aa9"},"headline":"Audio Implementation","datePublished":"2016-11-07T00:50:36+00:00","mainEntityOfPage":{"@id":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/"},"wordCount":120,"commentCount":0,"articleSection":["Edward"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/","url":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/","name":"Audio Implementation - CS\/DS Student Portfolios","isPartOf":{"@id":"https:\/\/portfolios.cs.earlham.edu\/#website"},"datePublished":"2016-11-07T00:50:36+00:00","author":{"@id":"https:\/\/portfolios.cs.earlham.edu\/#\/schema\/person\/89af3998f351d29a0ccc69f7311c2aa9"},"breadcrumb":{"@id":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/portfolios.cs.earlham.edu\/index.php\/2016\/11\/06\/audio-implementation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/portfolios.cs.earlham.edu\/"},{"@type":"ListItem","position":2,"name":"Audio Implementation"}]},{"@type":"WebSite","@id":"https:\/\/portfolios.cs.earlham.edu\/#website","url":"https:\/\/portfolios.cs.earlham.edu\/","name":"CS\/DS Student Portfolios","description":"AI and ML, Image Classification, Arduino","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/portfolios.cs.earlham.edu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/portfolios.cs.earlham.edu\/#\/schema\/person\/89af3998f351d29a0ccc69f7311c2aa9","name":"Edward Ly","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d2633fa74216d093a8642a5432c44963fd10f677e4cbcc6d935069f9859630ee?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d2633fa74216d093a8642a5432c44963fd10f677e4cbcc6d935069f9859630ee?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d2633fa74216d093a8642a5432c44963fd10f677e4cbcc6d935069f9859630ee?s=96&d=mm&r=g","caption":"Edward Ly"},"url":"https:\/\/portfolios.cs.earlham.edu\/index.php\/author\/esly14\/"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Edward Ly","author_link":"https:\/\/portfolios.cs.earlham.edu\/index.php\/author\/esly14\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/portfolios.cs.earlham.edu\/index.php\/category\/student\/2016\/edward\/\" rel=\"category tag\">Edward<\/a>","rttpg_excerpt":"I added the PortAudio functions necessary to enable simple playback as well as revised my beat detection algorithm to watch for both velocity and acceleration. My first impressions of the application so far is that the latency from gesture to &hellip; Read More","_links":{"self":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/comments?post=489"}],"version-history":[{"count":1,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/489\/revisions"}],"predecessor-version":[{"id":490,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/posts\/489\/revisions\/490"}],"wp:attachment":[{"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/media?parent=489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/categories?post=489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolios.cs.earlham.edu\/index.php\/wp-json\/wp\/v2\/tags?post=489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}