no audio out if "USB Headset" plugged in

70 views
Skip to first unread message

Gregg Williams

unread,
Oct 12, 2014, 2:12:16 AM10/12/14
to over...@googlegroups.com
Hi--I'm new to Overtone and Supercollider. I'm doing this on a MacBook Pro.

I followed the Quick Start part of README.md and got the "something more interesting..." sound to come out of the laptop's speakers.

But when I connected a USB dongle that allows me to plug in an external microphone and an external speaker, I get nothing.

The difference is clearly spelled out in the Overtone bootup text, but I don't know what to alter in this simple code to "connect" the sound that's playing to the new output source.

With the USB dongle *present*, I get this:

---- begin

user=> (use 'overtone.live)
--> Loading Overtone...
  **********************************************************
       WARNING: JVM argument TieredStopAtLevel=1 is active, and may
       lead to reduced performance. This happens to currently be the
       default lein setting:

       https://github.com/technomancy/leiningen/pull/1230

       If you didn't intend this JVM arg to be specified, you can turn
       it off in your project.clj file or your global
       ~/.lein/profiles.clj file by adding the key-val

       :jvm-opts ^:replace []
       **********************************************************
--> Booting internal SuperCollider server...
Number of Devices: 3
   0 : "Built-in Microph"
   1 : "Built-in Output"
   2 : "Emkay USB Headset"

"Emkay USB Headset" Input Device
   Streams: 1
      0  channels 2

"Emkay USB Headset" Output Device
   Streams: 1
      0  channels 2

---- end



Without the USB device, I get the same as above, except for the end, which is:

---- begin

--> Booting internal SuperCollider server...
Number of Devices: 2
   0 : "Built-in Microph"
   1 : "Built-in Output"

"Built-in Microph" Input Device
   Streams: 1
      0  channels 2

"Built-in Output" Output Device
   Streams: 1
      0  channels 2

---- end

Obviously, by default, audio out goes to Device 1 and (I assume) I want it to go to Device 2.

Both Overtone and Supercollider are *big*. If you can direct me to the right place in either, I'd really appreciate it. Thanks!

Chris Ford

unread,
Oct 12, 2014, 10:21:33 AM10/12/14
to over...@googlegroups.com
Do you get the same problem if you boot Overtone with the headset already plugged in?

I'm assuming you plugged in the headset once you had Supercollider already running.

--
You received this message because you are subscribed to the Google Groups "Overtone" group.
To unsubscribe from this group and stop receiving emails from it, send an email to overtone+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Roger Allen

unread,
Oct 12, 2014, 3:55:34 PM10/12/14
to over...@googlegroups.com
I can't test this myself, but I think this is how it works...

Here is a simple synth to use to hear output on different output busses.  

(defsynth foo [x 0] (out x (sin-osc [440 444])))

(foo 0) should create sound that is sent to the default output

(foo 2) I think should go to the next stereo output bus.  See if that sends it to the right place.

If that works, then what you'll need to do is when you create synths or insts, be sure to pass the out-bus parameter to control where the output is sent.

--Roger

Gregg Williams

unread,
Oct 12, 2014, 9:30:54 PM10/12/14
to over...@googlegroups.com
Hi, ctford-- The problem I described occurs with the headset (i.e., external speakers) already plugged in before launched either the REPL or Overtone itself.

Re. your statement "...once you had Supercollider already running"? Do you mean that the separate application Supercollider needs to be running? I thought that (use 'overtone.live) took care of everything. Which is true? Thanks.




On Sunday, October 12, 2014 7:21:33 AM UTC-7, ctford wrote:

Gregg Williams

unread,
Oct 12, 2014, 9:34:26 PM10/12/14
to over...@googlegroups.com
Roger, I'm getting inconsistent results, so I don't have any definitive feedback. I won't be able to look at this until next week. Thanks for your info. I hope to be browsing the Overtone source code for clues sometime this week.

Chris Ford

unread,
Oct 13, 2014, 1:22:59 PM10/13/14
to over...@googlegroups.com
Hi Gregg,

I seem to remember that in the past, Overtone has recognised headphones only if they were plugged in when I started the session. I took a guess that it might be the same as your issue, but looks like my guess was wrong. :-)

I didn't mean running Supercollider separately - I do (use 'overtone.live) like you described.

Cheers,

Chris

Gregg Williams

unread,
Oct 18, 2014, 11:52:03 PM10/18/14
to over...@googlegroups.com
Hi, all. I got something (enough) to work for me, using the following steps:

* Created a new Leiningen project with:

    lein new ovtest

* In project.clj, made the :dependencies clause look like this:

    :dependencies [[org.clojure/clojure "1.5.1"]
                   [overtone "0.9.1" :exclusions [org.clojure/clojure]]
                   [org.clojure/data.json "0.2.2"]]

* In a terminal window:

    prompt>cd path/to/ovtest
    prompt>lein repl

* Once in the repl, load Overtone with

    user=>(use 'overtone.live)
   
* Cribbing from the overtone source file located at examples/getting_started/intro.clj, I created a simple synth with:

    user=>(defsynth beep [chan 1]   (out chan (* 0.1 (sin-osc 440))))

* Executing either of the following caused the tone to sound indefinitely *for my configuration*:

    user=>(beep)  ;; the '[chan 1]' arglist means that if not specified, chan defaults to 1
    ;or
    user=>(beep 1)

  FYI, (beep 0) and (beep 1) caused no sound.


This solves the problem I described in my original post (getting Overtone to work through my USB-dongle-to-external-speakers). The sound comes out equally from both speakers, so I conclude that the USB-dongle must be giving a monophonic signal. According to the Overtone documentation, stereo output should be on channels 0 and 1 (I think).

Here are some URLs that helped me out:

https://github.com/overtone/overtone
http://overtone-docs.herokuapp.com
http://seabre.github.io/blog/2013/08/31/a-simple-livecoding-environment-for-overtone-with-light-table/

Be sure to download the Overtone source code and look in the examples/getting_started directory!

Additional URLs that may be of interest:

http://eng.wealthfront.com/2012/02/boots-n-cats-every-techno-song-ever-in.html
http://vimeo.com/22798433 ;; Overtone example video
http://overtone.github.io/emacs-live/documentation.html ;; massive Emacs environment for "live programming" of Overtone

Enjoy!


Reply all
Reply to author
Forward
0 new messages