{"id":193,"date":"2010-03-16T09:23:07","date_gmt":"2010-03-16T01:23:07","guid":{"rendered":"http:\/\/play.datalude.com\/blog\/?p=193"},"modified":"2010-03-16T09:33:01","modified_gmt":"2010-03-16T01:33:01","slug":"one-line-guitar-tuner","status":"publish","type":"post","link":"https:\/\/play.datalude.com\/blog\/2010\/03\/one-line-guitar-tuner\/","title":{"rendered":"One Line Guitar Tuner"},"content":{"rendered":"<p>Every now and then I come across something which makes me marvel at the flexibility of Linux. This is one of these things.<\/p>\n<p>I play guitar, and I'd previously written a small script to act as a guitar tuner. I generated some .ogg files of the correct pitch and then wrote a script to loop through them in sequence. \"Pretty good\", I thought, \"Clever Me.\"<\/p>\n<p>Then a few days ago I came across this little gem of a script.<\/p>\n<pre>for n in E2 A2 D3 G3 B3 E4;do play -n synth 4 pluck $n repeat 2;done\r\n<\/pre>\n<p>That's it. Sheer brilliance. Of course you'll need to install the sox package first.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every now and then I come across something which makes me marvel at the flexibility of Linux. This is one of these things. I play guitar, and I'd previously written a small script to act as a guitar tuner. I generated some .ogg files of the correct pitch and then wrote a script to loop &#8230; <a title=\"One Line Guitar Tuner\" class=\"read-more\" href=\"https:\/\/play.datalude.com\/blog\/2010\/03\/one-line-guitar-tuner\/\" aria-label=\"Read more about One Line Guitar Tuner\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[1,4],"tags":[121,134,85,122],"class_list":["post-193","post","type-post","status-publish","format-standard","hentry","category-it","category-linux","tag-guitar-tuner","tag-linux","tag-script","tag-shell"],"_links":{"self":[{"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/posts\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/comments?post=193"}],"version-history":[{"count":0,"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/posts\/193\/revisions"}],"wp:attachment":[{"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/media?parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/categories?post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/play.datalude.com\/blog\/wp-json\/wp\/v2\/tags?post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}