Connect to external speakers

How do I connect FoxDot and Supercollider to any Bluetooth speakers

I’m in the same with raspberry pi…

From what I remember, you need to set your computer’s default speakers to the bluetooth ones, then boot SuperCollider and FoxDot and it should work (Windows). I think it’s a bit more complicated for Mac/Linux, but it’s a SuperCollider issue so if that doesn’t work I would try asking on the SuperCollider forum. This StackOverflow post might be useful if you are running Linux.

Hello, Ryan: Again, first of all, I believe that it belongs to SuperCollider issue. Since the way Foxdot is designed to synchronized with Supercollider and Python, we can not switch the audio set up directly through Foxdot. Overall, I don’t have any issue with internal speaker, but when I switch to the bluetooth speaker, after I switching all default sound setups on Mac, and found out there are some necessary changes need to be made through Supercollider. (Please see the attached image) I am brand new to SuperCollider, then figure out it would be necessary to gain more knowledge about that since to bring your laptop go anywhere to connecting any bluetooth speakers for live coding should be part of our plans in near the future.:slight_smile: Kindly let me know how to change the number of input channels on Supercolliders. Many thanks!

Best regards,

Yang Zhang

You need to go into Audio MIDI setup (mac app) and change the default input and output devices’ sample rates are the same.

This is a very common error encountered by Mac users because, for some unexplainable reason, Mac configures the input and output devices with different sample rates by default.

Alternately, you could try s.options.sampleRate = 44100 before booting the SC server. Should work, sometimes doesn’t (in which case, use Audio MIDI Setup).

Kindly let me know how to change the number of input channels on Supercolliders

s.options.numInputBusChannels = 4 for 4 channels, before booting.

hjh

@jamshark70: thank you very much for your clear instruction! Finally, it sounds:-). I hope this can save Ryan’s time for those common audio setup issues. By the way, if you have more experience concerning how to import your own audio samples and would like to hear your original sound without interfering. It will be greatly appreciated if you have share your experience here! Anyway, many thanks
and have a nice weekend!

Best regards.

Yang

I don’t have experience with that – I’m not a FoxDot user. I saw a SuperCollider question and thought I could help with it, that’s all.

hjh

@jamshark70: no problem, and greatly appreciate your help!

Best regards,

Yang

Hi all,

I’ve been having a blast with FoxDot on my Ubuntu 18.04 LTS machine. Unfortunately, I can’t get SuperCollider working with my bluetooth headphones (the stackoverflow post referenced above and the comments above confused me). My wife is getting pissed since I’m making a lot of sounds haha. Any advice would be immensely appreciated.

Kind regards,
Alex

I had looked into this once. It’s a Jack problem rather than a SC problem.

PulseAudio supports BT audio fairly well (though I found that I couldn’t use BT audio and wifi at the same time).

SC’s audio path is scsynth --> Jack --> ALSA --> hardware driver, bypassing Pulse.

There is a way to expose a BT audio device within ALSA, and Jack can in principle connect to that. In practice, I had to set the hardware block size extremely high, and it still wasn’t stable. I could use it for about 15 minutes, and then Jack would hang and require measures ranging from killing processes up to rebooting.

TL;DR you’ll need wired earpieces, I’m afraid. There isn’t a good solution.

hjh

You can run JACK with a dummy backend and use PulseAudio bridge:
https://mathr.co.uk/blog/2018-10-23_jack_on_top_of_pulseaudio.html
I haven’t tested it with SC or BT, but I don’t see any reason why it wouldn’t work. You need to adjust the loopback sink listed to your system:

pactl list sinks | grep Name

And restart PA after configuration:

pulseaudio --kill
pulseaudio --start

@jamshark70 and @claude:

Thanks for looking into this for me, I did go out and buy 10 dollar wired skull candy headphones from CVS and they work well enough to appease the wife.

Was fiddling with QJackCTL and a package that allows JACK to play with Pulse Audio, will report back if I get it working:

https://docs.fedoraproject.org/en-US/Fedora/15/html/Musicians_Guide/sect-Musicians_Guide-Integrating_PulseAudio_with_JACK.html

The usual way (which you’ll get from the Fedora site) of integrating Jack and Pulse results in these signal paths:

  • scsynth > Jack
  • other apps > PulseAudio > Jack
  • Jack mixes it all down > ALSA > hardware

To get scsynth audio to your bt earphones, you need:

  • scsynth > Jack > PulseAudio > loopback for output
  • other apps > PulseAudio
  • PulseAudio mixes it all down > Bluetooth

Tbh I didn’t know the latter was possible. It’s interesting but I don’t see myself spending a lot of time on it. (I ended up getting some cheap wired ones myself, also for the mic.)

hjh