<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div style="-webkit-text-size-adjust: auto; "><span></span></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="-webkit-text-size-adjust: auto; ">Or Supercollider! Which you can interact with with my "vivid" libarary or the "hsc3" library (both on hackage).</div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; ">In vivid 0.1 (0.2 is coming soon but not out yet), you'd do something like </div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; ">playTune :: Tune -> IO ()</div><div style="-webkit-text-size-adjust: auto; ">playTune (Tune ts) = mapM_ playTone ts</div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; ">playTone :: Tone -> IO ()</div><div style="-webkit-text-size-adjust: auto; ">playTone (Tone note dur) = do</div><div style="-webkit-text-size-adjust: auto; ">   s <- play $ do</div><div style="-webkit-text-size-adjust: auto; ">      s0 <- sinOsc (Freq $ midiCPS note)</div><div style="-webkit-text-size-adjust: auto; ">      out 0 [s0, s0]</div><div style="-webkit-text-size-adjust: auto; ">   sleep dur</div><div style="-webkit-text-size-adjust: auto; ">   free s</div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; ">(There may be a typo here; writing it on my phone)</div><div><span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><br></span></div><div style="-webkit-text-size-adjust: auto; ">I'm happy to answer any questions, too.</div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; ">tom</div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; "><br></div><div style="-webkit-text-size-adjust: auto; "><br>El Sep 15, 2015, a las 14:36, Brandon Allbery <<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>> escribió:<br><br></div><blockquote type="cite" style="-webkit-text-size-adjust: auto; "><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Sep 15, 2015 at 2:23 PM, Mike Meyer <span dir="ltr"><<a href="mailto:mwm@mired.org" target="_blank">mwm@mired.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">I'm looking for advice on generating sounds from a desktop app. I'm perfectly happy if it doesn't have a GUI, but runs from the command line.<div></div></div></blockquote></div><br><a href="http://hackage.haskell.org/package/csound-expression">http://hackage.haskell.org/package/csound-expression</a> was recently updated (and announced in here).<br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div></div>
</div></div>
</div></blockquote><blockquote type="cite" style="-webkit-text-size-adjust: auto; "><div><span>_______________________________________________</span><br><span>Haskell-Cafe mailing list</span><br><span><a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a></span><br><span><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a></span><br></div></blockquote></div></body></html>