问题标签 [pydub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1294 浏览

python - ImportError:无法导入名称“AudioSegment”

我正在尝试使用库 pydub,但是当我运行脚本时,我得到了这个。

我没有找到有关错误的信息,我正在使用带有 anaconda 的 Windows 10,我正在运行的代码是。

如果我删除所有代码,除了from pydub import AudioSegment我得到同样的错误。

0 投票
1 回答
2537 浏览

python - 如何在python中编写多通道wav文件

我正在使用 pydub 读取多声道音频,并且正在做一些操作来改变音频的响度。现在我想把这个多声道音频写成 .wav 文件?

我不知道该怎么做。pydub 不支持此操作。

谁能帮我解决这个问题?

亲切的问候丹尼斯

0 投票
0 回答
830 浏览

python - 转换 wav -> mp3 -> wav 会产生静态噪音

我正在尝试将我的麦克风音频转换为 mp3 文件,然后将它们保存在磁盘上,以便我可以录制和保存音轨。

但是要播放它,pyaudio我需要将其转换为wav格式。
它最初记录在wav,我正在尝试做wav -> mp3 -> wav

我已经把我的代码的最小调试版本放在一起,它看起来像下面这样:

这会产生可怕的静电,它会导致 100% 的音频丢失。
起初我以为是剪辑的问题,data[:-1]但至少在我看来这不是问题。

其次,我认为帧速率可能会关闭,所以我尝试这样做set_frame_rate(11000),但也没有用。

注释掉这两行:

使播放声音“优美”。没有数据丢失,质量正如我定义的那样。

看在我的份上,我无法弄清楚我在哪里混合了数据压缩。
注意:如果可能,我想在内存中执行此操作,因为稍后我将处理数据以尝试创建效果等。

进步

正如@Anthon 指出的那样,我应该一个一个地隔离转换,看看两者中的哪一个失败。我通过保存wav -> mp3到磁盘来做到这一点。

然后我大胆地猛烈test.mp3地看看形成的波浪是什么样子。
果然,看起来这是不稳定的.mp3转换。

肉眼看起来好像音频帧被拉出并单独扭曲。声音总共应该大约 1.5 秒长,但从波形来看,压缩器添加的每一帧都有暂停和延迟:

在此处输入图像描述

因此,我在使用该值的所有实例上将值frames_per_buffer=500提高到:2000

任何高于我的值1.5 seconds都应该是一个足够好的值。
果然,波形看起来完全不同:

在此处输入图像描述

似乎有效的方法如下:

所以有些方法,wav frame -> mp3 frame -> combine several mp3 frames不起作用。
但做wav frame -> combine several wav frames -> export to mp3的工作。

这就是我再次陷入困境的地方。
显然,mp3转换是不稳定的,并且它如何在每段的波形中增加失真音高。
我希望你们中的一些人在 SO 上工作过pydub,尤其是 mp3 转换,因为我很迷茫。

这是收集的 mp3:s:

0 投票
1 回答
2202 浏览

python - 如何减小从 Pydub 导出的 .wav 文件的大小

当我使用 ffmpeg 进行转换时,我能够将 3.5MB mp3 文件转换为 ~3.5MB wav 文件(使用ffmpeg -i input.mp3 -acodec pcm_s16le -ac 1 -ar 8000 output.wav)。然而,当我使用 pydub 和下面的代码时

导出的 wav 文件为 34.5MB。如何让 pydub 按预期运行?

0 投票
1 回答
1016 浏览

python - pydub - 内存错误

我正在尝试使用 python 和 pydub 库将大型播客 mp3 文件拆分为更小的 5 分钟块。这是我的代码:

这适用于小文件,但对于我对 100mb + 感兴趣的大型播客。这将返回以下错误。

这是图书馆的限制吗?我应该使用替代方法来实现这一目标吗?


如果我添加以下代码来检查运行时的内存状态。

这打印:

这向我表明在操作开始时有足够的内存,尽管我很高兴被证明是错误的。

0 投票
1 回答
119 浏览

audio - 如果我指定“wav”,AudioSegment.from_file 将失败

这是一个潜在的“陷阱”,我将在此处记录以防其他人绊倒它。我正在对可能是 .wav 或 .mov 格式的文件进行转换。测试看起来像这样:

AudioSegment.from_file(pic[0].audiodesc.path),如果我指定 .., 'wav') 则编码失败:

0 投票
2 回答
1070 浏览

python - IOError: [Errno 13] Permission denied: '/converted' 。试图在 python pydub 中将 .mp3 文件转换为 .wav

我正在尝试将 .mp3 扩展名文件转换为 .wav。这是我的简单代码。

执行此代码后,它显示 IOError: [Errno 13] Permission denied: '/converted'. 我更改了此目录的权限。但仍然显示相同的错误,请帮助我。

0 投票
0 回答
151 浏览

pydub - 按音高分割音频片段

我正在尝试使用 Pydub 按音高分割音频片段。我的想法是找到音高变化时的时间戳,并根据这些时间戳进行拆分。

我坚持的部分是如何找到音高变化的时间。

有没有办法做到这一点?

谢谢

0 投票
1 回答
146 浏览

pydub - pydub如何从内存中加载视频数据

我有一个从 http 请求上传的 aac 文件。如何在不首先将其写入磁盘上的 aac 文件的情况下将其转换为 wav 文件。

这是我的代码:

如何在不将 file_metas[0]['body'] 写入文件的情况下获得 cf。

0 投票
1 回答
904 浏览

python - 尝试组合视频和音频轨道时,FFMPEG 会导致无声视频

我正在使用以下命令来组合视频和音轨。

编辑:

这是第一个命令的输出

结束编辑

我知道这应该有效,因为确切的行确实适用于其他文件。但这些的结果是一个无声的视频。

我检查了正在使用的音频文件,播放时似乎很好。但我在创建它时确实收到了一个奇怪的警告。基本上我有 2 个音轨,一个是叠加音乐,另一个是说话。我使用此命令创建组合音频。

这是第二个命令的输出。

值得注意的是这些部分(我相信)。

正如我所说,输出音频文件听起来是正确的。

音乐和音频轨道是使用 pydub 库中的 python 中的 AudioSegment 创建的。我以前用过这个没有问题。代码如下。

这是ffprobe2 个音频文件的输出。

用于音频轨道

和音乐轨道

我看不出这些有什么问题。

为了完整起见,这里是组合音轨的 ffprobe 结果。

任何帮助将非常感激。

谢谢,

斯图。