pydub
pydub copied to clipboard
pydub.playback.play() raises `SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats`
Steps to reproduce
In [1]: from pydub import AudioSegment, playback
In [2]: segment = AudioSegment.from_file('/home/menacing/Music/Local/Open your eyes.flac')
In [3]: playback.play(segment)
Expected behavior
Audio should be played normally.
Actual behavior
Outputs of section "Steps to reporduce" mentioned:
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_a52.c:1001:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
---------------------------------------------------------------------------
SystemError Traceback (most recent call last)
Input In [5], in <cell line: 1>()
----> 1 playback.play(segment)
File /usr/lib/python3.10/site-packages/pydub/playback.py:64, in play(audio_segment)
61 return
63 try:
---> 64 _play_with_pyaudio(audio_segment)
65 return
66 except ImportError:
File /usr/lib/python3.10/site-packages/pydub/playback.py:33, in _play_with_pyaudio(seg)
30 try:
31 # break audio into half-second chunks (to allows keyboard interrupts)
32 for chunk in make_chunks(seg, 500):
---> 33 stream.write(chunk._data)
34 finally:
35 stream.stop_stream()
File /usr/lib/python3.10/site-packages/pyaudio.py:585, in Stream.write(self, frames, num_frames, exception_on_underflow)
582 num_frames = int(len(frames) / (self._channels * width))
583 #print len(frames), self._channels, self._width, num_frames
--> 585 pa.write_stream(self._stream, frames, num_frames,
586 exception_on_underflow)
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
Your System configuration
- Python version: 3.10.5
- Pydub version: 0.25.1
- ffmpeg or avlib?: ffmpeg
- ffmpeg/avlib version: ffmpeg 2:5.0.1-2
I'm same with your error, plz
same problem. Any fixes?
Anyone figure this out?
+1
edit: I solved this by using python 3.9, 3.10 was causing issues. tmp workaround for me