The next dojo is but one week away! As you already know, we're going
to focus on overtone this month, and in order that we get more music
and less faffing done, it'd be great if we can all arrive prepared.
The most important thing is to get as many environments set up with
overtone as we can, BEFORE the dojo. Also, if you have any
pre-recorded sounds in .wav or .aiff format (check out
http://freesound.org for inspiration) stick them onto a USB stick and
bring them in for us all to share!
So, here are the environment setup instructions. I assume you have a
working clojure environment already, with, at the very least, lein
installed. I have only done this on OS X, although I am assured that
it is rather similar on Linux -- the main difference is that you will
need the jack audio daemon running -- see
https://github.com/overtone/overtone/wiki/Installing-and-starting-jack.
It's also apparently possible on Windows -- there was recently a post
to the overtone mailing list describing one person's experience
getting it going. The instructions that follow
are a simple cookbook; there are more details available on the
overtone github wiki:
https://github.com/overtone/overtone/wiki and particularly the
"Getting Started", "Installing Overtone", "Starting a REPL" and
"Connecting scsynth" pages.
You can also find out more on the overtone mailing list:
http://groups.google.com/group/overtone
So on with the instructions.
Step 1: install supercollider. Supercollider is the audio synthesis
backend that overtone uses to actually make noise.
Browse to http://supercollider.sourceforge.net/ and find yourself a
juicy download. I found that the obvious OS X download link didn't go
to a .dmg download so I ended up browsing the directory structure to
here instead:
http://sourceforge.net/projects/supercollider/files/Mac%20OS%20X/3.4.4/
The online instructions suggested that scsynth (the supercollider
server binary) needs to be in $PATH, but I skipped this step and it
Works For Me(tm) anyway.
Step 2: get overtone from clojars
Make a new project using lein new, add [overtone "0.5.0"] to the
dependencies, run lein deps. Job done. (Many thanks to Sam, who worked
hard to release 0.5.0 yesterday, well in time for the dojo.)
Step 3: test.
Run a repl from your new project directory, and run:
(use 'overtone.core)
(boot-external-server)
(demo (sin-osc))
This should emit a sound of a sine wave at 440 Hz. You can stop it with:
(stop)
Step 3.5 (required): Reply to the thread and let me know we have
another overtone environment for the dojo :D it will help with
planning immensely if we have a good idea of how many environments we
have available.
Step 4 (optional): install supercollider plugins
There are some parts of overtone which connect to certain
supercollider plugins; for example, overtone.inst.piano. In order for
these to work, you'll need to install sc3-plugins from:
http://sc3-plugins.sourceforge.net/
Download the .zip file, and copy the contents of its plugins/
directory to the plugins directory of your supercollider install.
Step 5 (optional): test supercollider plugins
Run a new repl, and once again boot up the sc server:
(use 'overtone.core)
(boot-external-server)
Then try to use overtone.inst.piano, which uses the MdaPiano plugin:
(use 'overtone.inst.piano)
(piano)
If you hear a piano sound, congratualations! You have installed and
connected to the sc3-plugins.
I hope all of this helps. I cannot stress enough how important it will
be that we have enough environments so that we can avoid spending too
much dojo time battling with the faff monster!
Any questions, reply in this thread and I'll try to help.
Philip
Sam
> --
> You received this message because you are subscribed to the Google Groups "London Clojurians" group.
> To post to this group, send email to london-c...@googlegroups.com.
> To unsubscribe from this group, send email to london-clojuri...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/london-clojurians?hl=en.
>
On Wed, Oct 19, 2011 at 22:59, Sam Aaron <sama...@gmail.com> wrote:
> I've got a working setup! :-)
I'd be very worried if you didn't. ;-)
cheers,
Bruce
For those intrepid live-coding adventurers that are looking for that more immersive connection with your Overtone musical processes, I also recommend bringing your iPhone, iPad or Android device along. You'll want to grab a copy of TouchOSC before you get here:
http://hexler.net/software/touchosc
http://hexler.net/software/touchosc-android
(It's a fiver, but totally worth it.)
If there's enough interest I'll show everyone how you can all control the music by waving your hands and swooshing your fingers. In fact, there's nothing stopping multiple devices working simultaneously on the same Overtone environment. Insanity will ensue.
Sam
On 19 Oct 2011, at 22:11, Philip Potter wrote:
> @sam Could you provide any quick resources on how to get this working?
>
> I'm visiting a friend this weekend and I'd love to let him play with Overtone (working on my laptop) with his phone as the input.
Hi Kushal,
I haven't written any decent documentation for this - I was planning on doing it next week as I'm pretty busy today and tomorrow.
However, if you're prepared to dig around yourself, the process is as follows:
Define a synth with a control parameter:
(definst foo [freq 440] (sin-osc freq))
Try the synth out:
(foo)
(ctl foo :freq 220)
(ctl foo :freq 820)
(kill foo)
OK, now we want to connect TouchOSC such that changes in a given slider on the screen send new ctl messages to modify our synth's param.
First, start a new OSC server on a specific port:
(def s (osc-server 44500))
Next, turn on zero-conf:
(zero-conf-on)
Start up TouchOSC, go to the settings pane and select the OSC connection. You should see "osc-clj : 44500" in the Found Hosts list. (This requires your device to be connected to the same network as your computer). Select osc-clj. Exit the settings pane and click done. You should be back in one of the default GUI interfaces.
Now turn zero-conf off:
(zero-conf-off)
Next add a generic listener to show that things are working:
(osc-listen s (fn [m] (println m) ::debug))
When you play around with the TouchOSC controls, you should see output pour onto the screen. If you don't, you might need to check where the output for non-REPL-threads is going with your setup. For example, cake puts this into project-dir/.cake/cake.log (I just tail -f this file).
Now, choose one of the sliders and move it to get some output. You should see something like this:
{:src-port 52025, :src-host 192.168.14.108, :path /1/fader6, :type-tag f, :args (0.7061856)}
This tells you the id of the slider is "/1/fader6" and that its current value is ~0.7. Let's map this to our inst. First, stop the debug messages:
(osc-rm-all-listeners s)
Next, add a handler listening on a specific path:
(osc-handle s "/1/fader6" (fn [msg] (println (first (:args msg)))))
Try moving the slider and you should see just a stream of values for that particular slider. Moving any other control shouldn't do anything.
OK, let's map that value! Create a handy function which will take a val between 0 and 1 and map it to a val between 50 and 1000 and then send it to your foo inst as the :freq value:
(defn control-synth
[val]
(let [val (scale-range val 0 1 50 1000)]
(ctl foo :freq val)))
Next call that function from a handler:
(osc-handle s "/1/fader6" (fn [msg] (control-synth (first (:args msg)))))
Finally, start up foo:
(foo)
and control its freq by moving the slider.
I hope that this helps,
Sam
On 20 Oct 2011, at 11:37, Kushal Pisavadia wrote:
> @sam Could you provide any quick resources on how to get this working?
>
> I'm visiting a friend this weekend and I'd love to let him play with Overtone (working on my laptop) with his phone as the input.
In addition to the email I sent yesterday, I've now found the time to do a more thorough walk-through of using TouchOSC with Overtone. I hope that you find it useful:
https://github.com/overtone/overtone/wiki/TouchOSC
Sam
Just want to point out that the dojo is *Wednesday* not Tuesday.
Phil
On 22 Oct 2011, at 00:46, Kushal Pisavadia wrote:
> A bit delayed but I thought I'd let you know that I've found weird (and interesting!) ways of breaking Overtone when using Overtone with your initial TouchOSC instructions.
So it sounds like you got TouchOSC working with Overtone. That's great to hear. I'm happy that the instructions worked out for you.
>
> I'd be happy to let you know at the dojo on Tuesday, but it boils down to too many synths being present (likely my fault) and then the JVM and SuperCollider failing. This results in some incredibly interesting errors occurring on the terminal!
Yep, Overtone has a maximum number of synths you can play at the same time. If you just hammer and hammer away creating synth after synth, then it will probably die! However, we should try and guard against crashes like you saw.
Would it be possible to write a bug report explaining the minimum amount of steps required to reproduce the error and then how it died for you. If you could then either raise an issue in GitHub, that would be great.
Some tips on sending Bug Reports:
https://github.com/overtone/overtone/wiki/Bug-Reports
Overtone Issues Page:
https://github.com/overtone/overtone/issues?sort=created&direction=desc&state=open
See you on Wednesday,
Sam
* me
* sam
* stathis
* david
* kush
So we'll be able to have 5 teams. One or two more environments would
be good to provide a backup.
Even if you don't install an overtone environment, you should all
install touchosc. As sam says, there's nothing stopping us having
multiple touchosc devices connected to one overtone environment. And
touchosc for android is free!
Phil
On the connecting scsynth wiki page:
https://github.com/overtone/overtone/wiki/Connecting-scsynth
It mentions that scsynth must be in your PATH. I've now made that sentence bold to make it slightly more obvious.
Could you add scsynth to your PATH and see if it fixes your problem?
Sam
If any Linux users want help getting it running (Red Hat-ish or
Debian/Ubuntu) today or tomorrow for the dojo and are having trouble
though, drop me a line and I can help.
J
--
[what were the skies like when you were young?]
The London Clojure Dojo is the Overtone Orchestra Special this month and is on
*****************
WEDNESDAY
*****************
NOT Tuesday.
I'll see you guys on *Wednesday*.
cheers,
Bruce
why don't you pop along to the Cambridge Clojure User group one day?
http://groups.google.com/group/camclj
Next meeting is on Tuesday the 1st of November.
Sam
> I have TouchOSC and Overtone working. :)
Outstanding :-)
Sam
what's the contents of your project's lib directory?
Also, which instructions are you using? Have you taken a look at the wiki:
https://github.com/overtone/overtone/wiki/Installing-overtone
Sam
It would be great to talk to you about coming down to London to do a
talk/demo/workshop.
Let us know what would work for you.
cheers,
Bruce
it'll be my first clojure dojo tonight - looking forward to meeting
you all. I met Dale and Andrew at Brian Marick's TDD with Clojure
session a few weeks back, and Sam at FPDay in Cambridge more recently.
I've been much busier this week than I'd planned, so unfortunately
haven't managed to get overtone working on my machine - by I will
bring my (mac) laptop along anyway.
Robert
> --
> You received this message because you are subscribed to the Google Groups
> "London Clojurians" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/london-clojurians/-/-1V06bGoUioJ.
--
You received this message because you are subscribed to the Google Groups "London Clojurians" group.
To view this discussion on the web visit https://groups.google.com/d/msg/london-clojurians/-/-1V06bGoUioJ.
--
You received this message because you are subscribed to the Google Groups "London Clojurians" group.
To view this discussion on the web visit https://groups.google.com/d/msg/london-clojurians/-/-1V06bGoUioJ.