belangeo / pyo

Python DSP module
GNU Lesser General Public License v3.0
1.3k stars 130 forks source link

Coreaudio backend support needs to be updated #69

Open snailrowen opened 8 years ago

snailrowen commented 8 years ago

I'm using Pyo with sublime on OS.X, and have written the following script

"" from pyo import * import time

def make_sound(a=0, b=0, c=0): voice = SfPlayer(SNDS_PATH + "/transparent.aif", loop=False, mul=1-b) f = Biquad(voice, 101000*a, q=0, type=2) chor = Chorus(f, depth=[1.0,1.6], feedback=c, bal=0.5).out() time.sleep(1) return

s = Server().boot() s.start() make_sound(0,0,0) s.stop() ""

For some reason the script doesn't always finish when I execute it within sublime. When it doesn't, sometimes all the audio on my computer becomes muted until I turn it off and on again. I assume it's some kind of low level hardware problem. Is there any solution?

peircej commented 8 years ago

I'm finding the same problem as above on OSX. It's only an issue on the coreaudio backend; if you change the server below to use 'portaudio' the problem goes away (but you get a warning message about portaudio using deprecated calls to carbon)

from pyo import *
import time

s = Server(audio='coreaudio').boot()
a = Sine().out()
s.start()

time.sleep(3)

The problem hasn't always been there but is certainly present in the 0.8.0 release using 64bit python2.7

belangeo commented 7 years ago

The "coreaudio" support in pyo is very old (written under 10.5)... It must be re-implemented on a newer system. It's on my todo list. For the time being, it's safer to use portaudio on OSX.