Morse Code for Overtone

morse170

We’ve just uploaded a Morse code generator for Overtone.

I’ve never been much of a fan of SuperCollider largely because of its front-end language, which I first encountered around 15 years ago (before SuperCollider even existed) and had various issues with, but Overtone (a Clojure environment for driving the SuperCollider audio engine) is a different proposition.

I’m working on a project involving online avatars and audio-rate control systems, and since Clojure+Overtone can clearly do both web interfacing and audio (all with decent multithreading semantics) it avoids the need for separate programs hooked together via OSC or any kind of plug-in or hosting setup. (We’ve already implemented Clojure for MaxMSP, and that was lined up as our Plan B.)

This Morse code generator is very much My First Overtone Program, drawing just on basic Overtone/SuperCollider idioms which I can hack together without getting too lost. Most of it is plain old Clojure coding with a bit of event scheduling, familiar from realtime media applications.

I wonder how much SuperCollider I’d have to learn to add synthetic shortwave radio interference?

Comments

2 Comments so far. Leave a comment below.
  1. rosejn,

    Nice stuff. How would you want to add the shortwave radio interference? If you just want to mix in a bit of white-noise, maybe notch filtered to let in specific bands, then you can use the white-noise ugen:

    (defsynth beep “Rather ugly: creates a synth which beeps and then frees itself.” [len DOT-MS] (out 0 (* (line 1.0 1.0 (/ len 1000.0) :action FREE) (+ (* 0.1 (white-noise)) (sin-osc FREQ)))))

  2. Yep, that would work. I wonder what would be needed to simulate AM radio interference more comprehensively? A pile of ring modulation would probably be a good start.

Leave a Reply to cassiel Cancel reply

Disclaimer
Your email is never published nor shared.
Tips

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <ol> <ul> <li> <strong>

Ready?
Required
Required