{"id":1420,"date":"2010-11-30T16:19:40","date_gmt":"2010-11-30T15:19:40","guid":{"rendered":"http:\/\/spamers.net\/b\/?p=1420"},"modified":"2010-11-30T16:50:37","modified_gmt":"2010-11-30T15:50:37","slug":"simple-email-notification-sonification","status":"publish","type":"post","link":"https:\/\/spamers.net\/b\/2010\/11\/30\/simple-email-notification-sonification\/","title":{"rendered":"simple email notification sonification"},"content":{"rendered":"<p>This will sonify the actual text of the subject and the name of the sender with SuperCollider. The sonification is very basic, but can be changed to anything you&#8217;d want.<br \/>\n<!--more--><br \/>\nYou need:<\/p>\n<ul>\n<li>Thunderbird with the <a href=\"http:\/\/tjeb.nl\/Projects\/Mailbox_Alert\/\">Mailbox Alert<\/a>-AddOn<\/li>\n<li><a href=\"http:\/\/supercollider.sf.net\/\">SuperCollider<\/a><\/li>\n<li>some command line tool to send osc-messages, for example oscsend (part of <a href=\"http:\/\/liblo.sourceforge.net\/\">liblo<\/a>)<\/li>\n<\/ul>\n<p>And this is how I did it:<\/p>\n<ul>\n<li>Install the Addon and activate it for one of your folders.<\/li>\n<li>Choose to execute a command as notification. For example this sends two strings to SuperCollider (the name of the sender and the subject):<br \/>\n<code>\/usr\/bin\/oscsend localhost 57120 \/mail\/newmsg ss %sendername %subject<\/code>\n<\/li>\n<li>Set up an OSCresponder in SuperCollider to sonify your message:<br \/>\n<code><br \/>\n(<br \/>\na = OSCresponder(nil, '\/mail\/newmsg', { |t, r, msg|<br \/>\n\tvar string = (msg[1].asString) ++ (msg[2].asString); \/\/ concatenate the two strings<br \/>\n\tvar pat = [];<br \/>\n\tvar lenSender = msg[1].ascii.size;<br \/>\n\tvar lenSubject = msg[2].ascii.size;<br \/>\n\tstring.do{ |i,index|<br \/>\n\t\tpat = pat.add(<br \/>\n\t\t\tif(<br \/>\n\t\t\t\ti.isAlphaNum,<br \/>\n\t\t\t\t{ i.digit }, \/\/ converts numbers and chars to numbers between 0 and 35<br \/>\n\t\t\t\tif(i.isPunct,<br \/>\n\t\t\t\t\t-12, \/\/ punctuation gets a note an octave lower<br \/>\n\t\t\t\t\t\\rest));)}; \/\/ the rest is silence<\/p>\n<p>\tPbind(<br \/>\n\t\t\\instrument, \\ping,<br \/>\n\t\t\\note, Pseq(pat),<br \/>\n\t\t\\octave, 4,<br \/>\n\t\t\\legato, Pwhite(2,0.8),<br \/>\n\t\t\/\/ play a longer note at the end of the sender:<br \/>\n\t\t\\dur, Pseq([Pn(0.1, lenSender - 1), 1, Pn(0.1, lenSubject)])).play;<br \/>\n}).add;<br \/>\n)<br \/>\n<\/code>\n<\/li>\n<li>enjoy&#8230;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This will sonify the actual text of the subject and the name of the sender with SuperCollider. The sonification is very basic, but can be changed to anything you&#8217;d want.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,18],"tags":[],"_links":{"self":[{"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/posts\/1420"}],"collection":[{"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/comments?post=1420"}],"version-history":[{"count":11,"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/posts\/1420\/revisions"}],"predecessor-version":[{"id":1429,"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/posts\/1420\/revisions\/1429"}],"wp:attachment":[{"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/media?parent=1420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/categories?post=1420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spamers.net\/b\/wp-json\/wp\/v2\/tags?post=1420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}