Skip to content Skip to sidebar Skip to footer

Pyo Server.boot() Fails With Pyolib._core.pyoserverstateexception On Ubuntu 14.04

I installed pyo on Ubuntu 14.04 without jack and running Python 2.7.I followed the Debian-based installing instructions written in pyo wiki. This was the code i used (it's in the

Solution 1:

Got it working on Ubuntu 20.04

After trying several things and a lot of frustration... the following worked:

sudo apt install python3-pyo

and the test:

#/usr/bin/env python3from pyo import *
s = Server()
s.boot()
s.start()
a = Sine(freq=440, mul=0.5)
a.out()
time.sleep(2)
a.stop()
s.stop()

produces a 2 second 440Hz sine sound as desired. Maybe a reboot was needed.

If program is using the audio when you launch the test, e.g. Chromium playing an YouTube video or VLC playing music, then it fails with that exception, so make sure to pausing/close all such applications.

Another thing worth doing is:

sudo apt install python3-wxgtk4.0

otherwise pyo keeps warning about the missing wxWidgets every single time. I don't think it makes the run fail however.

The above sudo apt install python3-pyo install pyo 1.0.0, and all the binary dependencies it needs to work, the dependency given by:

apt-cache depends python3-pyo

is:

python3-pyoDepends:libc6|Depends:libjack-jackd2-0Depends:<libjack-0.125>libjack-jackd2-0libjack0Depends:liblo7Depends:libportaudio2Depends:libportmidi0Depends:libsndfile1Depends:python3Depends:python3Depends:<python3:any>python3:i386python3Recommends:python3-tkRecommends:jackd2

Now, I if I try to upgrade pyo with:

python -m pip instal --user pyo==1.0.X

which takes precedence over the distro provided 1.0.0, I get the following results:

  • 1.0.0: works

  • 1.0.1: works

  • 1.0.2: blows up with an error:

    ALSA lib conf.c:3558:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so (/usr/lib/alsa-lib/libasound_module_conf_pulse.so: libasound_module_conf_pulse.so: cannot open sharedobject file: No such file or directory)
    

    But then I locate libasound_module_conf_pulse.so on my system, and work around with:

    sudo ln -s /usr/lib/x86_64-linux-gnu/alsa-lib /usr/lib/alsa-lib
    

    and then it works.

    I also reported this at: https://github.com/belangeo/pyo/issues/200

  • 1.0.3: same

Another thing worth trying is from Playing sound in pyo and python:

from pyo import *
print("Default input device: %i" % pa_get_default_input())
print("Default output device: %i" % pa_get_default_output())
print("Audio host APIS:")
pa_list_host_apis()
pa_list_devices()

and then try to select a specific device with:

s = Server()
s.setOutputDevice(0)
s.boot()

But I didn't need to do that to get it working after installing python3-pyo.

https://github.com/belangeo/pyo/issues/200#issuecomment-734958205 explains how to get it all working with Jack.

Post a Comment for "Pyo Server.boot() Fails With Pyolib._core.pyoserverstateexception On Ubuntu 14.04"