Open maurizioandreotti opened 1 year ago
on mac installed pyaudio via:
brew remove portaudio
brew install portaudio
pip3 install pyaudio
this results with pyaudio installed in
pyaudio in /Users/maurizio/Virtualenvs/d-rats4/lib/python3.11/site-packages (0.2.13)
unlikely this end in the same error:
06/05/2023 18:20:47:INFO:DratsConfigWidget:LatLon text: 9.430000 06/05/2023 18:21:11:INFO:DratsConfigWidget:Testing playback of /System/Library/Sounds/Basso.aiff 06/05/2023 18:21:11:INFO:MacOSXPlatform:play_sound: bydub and pyaudio not installed!
then assumung that "bydub" could be a typo in the system, I installed pydub :
pip3 install pydub
Collecting pydub
Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)
Installing collected packages: pydub
Successfully installed pydub-0.25.1
and not testing sound results in a new error:
`Traceback (most recent call last):
File "/Users/maurizio/Virtualenvs/d-rats4/D-Rats-master/d_rats/config.py", line 922, in test_sound platform_info.play_sound(self.value)
File "/Users/maurizio/Virtualenvs/d-rats4/D-Rats-master/d_rats/dplatform_generic.py", line 443, in play_sound sound = AudioSegment.from_wav(soundfile) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/maurizio/Virtualenvs/d-rats4/lib/python3.11/site-packages/pydub/audio_segment.py", line 808, in from_wav return cls.from_file(file, 'wav', parameters=parameters) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/maurizio/Virtualenvs/d-rats4/lib/python3.11/site-packages/pydub/audio_segment.py", line 728, in from_file info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/maurizio/Virtualenvs/d-rats4/lib/python3.11/site-packages/pydub/utils.py", line 274, in mediainfo_json res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/maurizio/.asdf/installs/python/3.11.3/lib/python3.11/subprocess.py", line 1024, in init self._execute_child(args, executable, preexec_fn, close_fds,
File "/Users/maurizio/.asdf/installs/python/3.11.3/lib/python3.11/subprocess.py", line 1917, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe'`
pyaudo and pydub use "dynamic loading" to install the packages that is needed on the local system. They apparently do not install any libraries that may be missing.
The play sound code is not supposed even try using the code if either pydub or pyaudo python packages are not installed.
I landed that pull request after Rod Whitaker verified that he could create sound on his Mac.
The bydub is a typo that was missed somewhere. It should be pydub. I can not find "bydub" anywhere in the pull request.
The error message about ffprobe being missing came up with a lot of search results including https://stackoverflow.com/questions/57350259/filenotfounderror-errno-2-no-such-file-or-directory-ffprobe-ffprobe
In general using a pip installed modules is to be done as a last resort if there is no native package for from the operating system or python vendor to supply that module. Pip installed modules may not be fully tested on all platforms.
Looks like we have the a lot of issues in how to get a D-Rats compatible python environment on Mac OS that need to be worked out.
Reopened automatically closed bug because we still need Mac OS documentation to how to make test_sound work.
I installed ffmpeg via brew and now I get the following error in the pop-up when i try to play a sound
`Traceback (most recent call last):
File "/Users/maurizio/Virtualenvs/d-rats4/D-Rats-gh/d_rats/config.py", line 923, in test_sound platform_info.play_sound(self.value)
File "/Users/maurizio/Virtualenvs/d-rats4/D-Rats-gh/d_rats/dplatform_generic.py", line 442, in play_sound sound = AudioSegment.from_wav(soundfile) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/maurizio/Virtualenvs/d-rats4/lib/python3.11/site-packages/pydub/audio_segment.py", line 808, in from_wav return cls.from_file(file, 'wav', parameters=parameters) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/maurizio/Virtualenvs/d-rats4/lib/python3.11/site-packages/pydub/audio_segment.py", line 773, in from_file raise CouldntDecodeError(
pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 1
Output from ffmpeg/avlib:
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers built with Apple clang version 14.0.3 (clang-1403.0.22.14.1) configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 [wav @ 0x15a804080] invalid start code FORM in RIFF header /Users/maurizio/Downloads/Blow.aiff: Invalid data found when processing input`
....using a wav sound instead of. a system .aiff D-rats on macos plays sounds - so, it works!
in sound config panel, having selected a sound, playing "test sound" results in this error in the pop-up :
while in the console it shows:
installing bydub and pyaudio.... both are not in the scope of the "brew" package.
hitting
pip3 install bydub
--> no package with this name:ERROR: Could not find a version that satisfies the requirement bydub (from versions: none) ERROR: No matching distribution found for bydub
hitting
pip3 install pyaudio
results with a compilation error: