{"id":327,"date":"2008-12-20T00:56:39","date_gmt":"2008-12-20T04:56:39","guid":{"rendered":"http:\/\/www.glacialcommunications.com\/news\/?p=327"},"modified":"2008-12-20T00:56:39","modified_gmt":"2008-12-20T04:56:39","slug":"the-lowest-fi-digital-delay","status":"publish","type":"post","link":"https:\/\/www.glacialcommunications.com\/news\/2008\/12\/the-lowest-fi-digital-delay\/","title":{"rendered":"The Lowest-Fi Digital Delay"},"content":{"rendered":"<p>A little while ago, I built my own  <a href=\"http:\/\/www.instructables.com\/id\/Lo_fi_Arduino_Guitar_Pedal\/\">Lo-fi Arduino Guitar Pedal<\/a>. I&#8217;m even using a similar enclosure &#8211; work tossed out a couple of thinwire->twisted pair converters that I snapped up. I think the only major deviation is that mine only has one output at present- I could add a second later, though.<\/p>\n<p>I got to thinking last week that a digital delay would be an interesting idea &#8211; I had no notion that this would compete with anything in the quality department- a very short, crunchy delay &#8211; I just wanted to try it out.<\/p>\n<p>So I wrote a little program and originally used an array of 512 values, and cycled through them, while recording point i, and playing point (i+1) (with edge checks and things like that, of course)<\/p>\n<p>It turned out that 512 shorts of storage must have overflowed available program memory and caused general non-functionality. Changed the delay to 256 shorts. That at least got me up and running.<\/p>\n<p>And it gave me about a second of delay time &#8211; kind of unexpected (that makes the sample rate, what, a few hundred Hertz?). It also doesn&#8217;t give a very accurate representation of the input. A test went something like this: snare (pause) krrrzzk.<\/p>\n<p>audio: <a href=\"http:\/\/www.glacialcommunications.com\/audio\/ArduinoDDL1.mp3\">ArduinoDDL1.mp3<\/a><\/p>\n<p>Once I commented out the #define DEBUG 1 line, it seems a lot happier \ud83d\ude09 There isn&#8217;t very much delay time, and it still gets really weird on occasion, but it does kind of do something to the input. <\/p>\n<p>Here&#8217;s an example of it, with adjustments to the amount of delay and effect mix: <a href=\"http:\/\/www.glacialcommunications.com\/audio\/ArduinoDDL2.mp3\">ArduinoDDL2.mp3<\/a> &#8211; note that it gets loud and obnoxious in places.<\/p>\n<p>Maybe better than the <a href=\"https:\/\/www.glacialcommunications.com\/news\/?p=305\">crappy plate reverb<\/a> of a few weeks ago? Really, <a href=\"http:\/\/www.noiseguide.com\/product_info\/radio_shack_realistic_electronic_reverb_321110\">hotrodding my Realistic<\/a> would be the best way to go for the all-DIY album. Probably not enough time for that, though &#8211; I&#8217;d really like to get it done soon.<\/p>\n<p>If you&#8217;ve built a Lo-fi Arduino Guitar Pedal, get the code here: <a href=\"http:\/\/www.glacialcommunications.com\/src\/ArduinoDDL.zip\">ArduinoDDL.zip<\/a>. Knob A controls the delay time, and Knob B, when set to zero, should flush the audio buffer and blink the blue light while it&#8217;s doing it. Or it&#8217;ll just do weird stuff. YMMV &#8211; mine certainly does.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A little while ago, I built my own Lo-fi Arduino Guitar Pedal. I&#8217;m even using a similar enclosure &#8211; work tossed out a couple of thinwire->twisted pair converters that I snapped up. I think the only major deviation is that mine only has one output at present- I could add&#8230; <a class=\"continue-reading-link\" href=\"https:\/\/www.glacialcommunications.com\/news\/2008\/12\/the-lowest-fi-digital-delay\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,20],"tags":[60,47,55],"class_list":["post-327","post","type-post","status-publish","format-standard","hentry","category-arduino","category-software","tag-arduino","tag-diy","tag-effects"],"_links":{"self":[{"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/posts\/327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/comments?post=327"}],"version-history":[{"count":4,"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":331,"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/posts\/327\/revisions\/331"}],"wp:attachment":[{"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/media?parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/categories?post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glacialcommunications.com\/news\/wp-json\/wp\/v2\/tags?post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}