为啥在导入 AudioSegment 时出现错误?
Posted
技术标签:
【中文标题】为啥在导入 AudioSegment 时出现错误?【英文标题】:why am i getting error when importing AudioSegment?为什么在导入 AudioSegment 时出现错误? 【发布时间】:2017-04-02 14:42:07 【问题描述】:我正在尝试使用 pydub,但是当我使用 Audiosegment 将它导入 python 时,它会给我一个错误,说它无法识别它。 我尝试使用 pip install 和在线搜索。 有什么帮助吗?? 我正在使用 python 2.7
from pydub import AudioSegment
【问题讨论】:
尝试从这里安装它:pypi.python.org/pypi/pydub#downloads 你能发布整个错误转储吗? ,也没有安装成功。 错误我得到:**libpng 警告:sBIT:无效。 ** 我的代码: 从 AudioSegment 导入 pydub sound1 = AudioSegment.from_wave('chill.wav') sound2 = AudioSegment.from_wave('p1.wav') sound1= sound1[:] + 6 sound2=sound2+8 #louder combine = sound1.overlay(sound2) combined.export("pydubtry.wav", format='wav') 非常感谢您的帮助 :) @Anil_M。我试图安装,但它没有工作.. @Liam 安装失败.. 刚刚打开了一个 zip 压缩程序。有什么建议吗?? 【参考方案1】:我也遇到了同样的问题。这是由于 ffmpeg 配置不正确。我已经从官方网站https://www.ffmpeg.org/download.html 下载了最新的 ffmpeg,并设置了适合我的类路径
【讨论】:
你能详细说明一下类路径的原因吗?你的意思是下载ffmpeg并将路径添加到环境变量或者是否有任何安装ffmpeg的程序 没关系,它奏效了。将 ffmpeg\bin 添加到系统路径有效。 链接失效了! @user3251696 表示将“../bin”路径添加到控制面板中的环境变量路径。 *注意:此解决方案适用于 Windows 用户。【参考方案2】:如果您使用的是 Linux,试试这个sudo apt install ffmpeg
将解决问题。
希望对你有帮助!!!
【讨论】:
【参考方案3】:我遇到了同样的错误,因为我的 MAC 上没有安装 ffmpeg
。使用brew install ffmpeg
安装它并解决了问题。
【讨论】:
【参考方案4】:你可以卸载并尝试使用 pip install pydub 安装。还要确保pydub
路径在PYTHONPATH
或系统PATH
中。你用的是什么OS
?
找出 pydub 的安装位置。
我在C:\Python27\Lib\site-packages\pydub
。
打开命令提示符并输入 ,set PATH=c:\Python27\Scripts;c:\Python27\Lib;C:\Python27\Lib\site-packages\pydub;%PATH%
然后尝试在cmd
屏幕上运行pydub
程序。成功后,您需要将pydub
路径添加到系统环境变量部分。
还有错误:
RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
看起来pydub
找不到ffmpeg
或avconv
。您可能需要安装或添加系统路径。
如果它有效,我会让它成为现实。反正只是警告
【讨论】:
【参考方案5】:尝试了@paolov 的解决方案 - 直到我重新启动 pycharm / python 编辑器才起作用......
另外 - 请参阅 Python convert mp3 to wav with Pydub 以获取不需要 pydub(但仍需要 ffmpeg)的快速替代方案...涉及导入子流程,感谢 @Roland Smith
PS - 另外,请参阅http://blog.gregzaal.com/how-to-install-ffmpeg-on-windows/ 以了解如何添加到 PATH - 在 ffmpeg 的上下文中)。我添加到我的 PyCharm/Python 项目中的文件夹中,而不是直接添加到 C 驱动器上...两者都应该可以工作,但正如我所说,尝试重新启动编辑器,并在添加到 PATH 后检查 cmd line > ffmpeg -codecs ...
【讨论】:
【参考方案6】:对我有用的是:
-
Google 以获取合适的 ffmpeg 下载。我需要一个 Windows 64 位软件包,我从
https://ffmpeg.zeranoe.com/builds/
已打开下载的 zip 文件。然后将 bin 文件夹中的文件放入 pydub 文件夹中。
由于我之前已经将 pydub 放在系统 PATH 中,因此无需更新系统 PATH。这些文件可以放在其他地方,只要更新 PATH 就可以正常工作。
【讨论】:
【参考方案7】:假设您正确安装了 ffmpeg,请确保您重新启动 python 环境,以便您的路径包含 ffmpeg。
我必须打开一个新终端并重新启动我的笔记本才能使其正常工作。
【讨论】:
以上是关于为啥在导入 AudioSegment 时出现错误?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 sagemaker 笔记本中导入 SparkContext 库时出现错误?