问题
I'm following the demo here. I'm very new to creating audio via python, so I'm not sure how to debug which errors I should consider, what naive things I might be doing wrong.
Here are my python errors:
>>> import time
>>> import numpy
>>> import pyaudio
>>> import fluidsynth
>>>
>>> pa = pyaudio.PyAudio()
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
>>> strm = pa.open(
... format = pyaudio.paInt16,
... channels = 2,
... rate = 44100,
... output = True)
>>>
>>> s = []
>>>
>>> fl = fluidsynth.Synth()
>>>
>>> # Initial silence is 1 second
... s = numpy.append(s, fl.get_samples(44100 * 1))
>>>
>>> sfid = fl.sfload("example.sf2")
fluidsynth: error: Unable to open file "example.sf2"
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "example.sf2"
>>> fl.program_select(0, sfid, 0, 0)
fluidsynth: error: There is no preset with bank number 0 and preset number 0 in SoundFont -1
-1
>>>
>>> fl.noteon(0, 60, 30)
-1
>>> fl.noteon(0, 67, 30)
-1
>>> fl.noteon(0, 76, 30)
-1
>>>
>>> # Chord is held for 2 seconds
... s = numpy.append(s, fl.get_samples(44100 * 2))
I have pyaudio, fluidsynth, pyfluidsynth installed successfully, and am running ubuntu 12.10 if that makes any difference.
来源:https://stackoverflow.com/questions/20023545/running-pyfluidsynth-pyaudio-demo-many-problems-with-alsa-and-jack