问题标签 [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 回答
66 浏览

python - Python - 从另一个函数中的函数检索值,而不是重新运行原始函数

我正在编写一个程序,每次从一堆词干中对音乐进行不同的排序。我现在有了一个带有按钮的基本 GUI,这些按钮可以触发曲目的重新排序、播放和弹跳。

因此,在执行时,程序会触发一次重新排序功能,并返回准备好播放的输出值。这可以使用 play 函数播放,但是要在函数内接收输出,必须重新触发初始函数,这是不对的。

我不想每次用户想要重播曲目时都重新触发排序功能,我只需要访问初始返回数据。我无法在重新排序函数之外分配返回的数据,因为它只会保存一次,并且只有第一个序列可以播放。

下面的代码示例是我所拥有的,它对我不起作用。

我需要的是一种在每次重新排序时保存变量并使其可供播放功能访问的方法。播放不应仅仅为了获得价值而重新触发重新排序。

:::

序列():

玩():

:::

输出是来自 PyDub 的音频片段。我尝试将其保存在文本文件中,这显然不起作用。

请帮忙 :(

0 投票
3 回答
31901 浏览

python - Python 使用 Pydub 将 mp3 转换为 wav

好的,现在我坚持将 mp3 转换为 wav。我看到了不同的答案,但我想我会选择 pydub,我已经用这几行做了

但是当我运行上面的代码时,我得到以下错误

C:\Python27\lib\site-packages\pydub-0.14.2-py2.7.egg\pydub\utils.py:165: RuntimeWarning: 找不到 ffmpeg 或 avconv - 默认为 ffmpeg,但可能不起作用

回溯(最近一次通话最后):文件“C:/Users/phourlhar/Desktop/VoiceDetector/yeah.py”,第 7 行,在 stereo_to_mono()

文件“C:\Users\phourlhar\Desktop\VoiceDetector\utils.py”,第 25 行,位于 stereo_to_mono

文件“build\bdist.win32\egg\pydub\audio_segment.py”,第 346 行,在 from_file

文件“C:\Python27\lib\subprocess.py”,第 711 行,在init errread、errwrite 中)

文件“C:\Python27\lib\subprocess.py”,第 948 行,在 _execute_child 启动信息中)

WindowsError: [错误 2] 系统找不到指定的文件

我不知道为什么会引发此错误,因为我非常确定该文件存在。虽然我有建议安装 ffmpeg 的答案,但我不知道以后是否会以任何方式影响应用程序部署

0 投票
1 回答
5598 浏览

python - Pydub 原始音频数据

我在 Python 3.4 中使用 Pydub 来尝试检测一些音频文件的音高。

我有一个有效的音高检测算法(McLeod Pitch Method),它对于实时应用程序非常强大(我什至用它制作了一个 Android 音高检测应用程序:https ://github.com/sevagh/Pitcha )。

我的问题是,当我将算法应用于 AudioSegment._data 时,我没有从算法中获得任何有意义的输出。

代码:

输出:

如果我从扬声器播放相同的 wav 文件,从麦克风录制它并将算法应用于原始麦克风捕获(有符号的 16 位小端 PCM,44100Hz,单声道),我会得到正确的音高。

AudioSegment._data 不会返回我所期望的吗?

0 投票
5 回答
23389 浏览

python - ImportError:没有名为“pydub”的模块

我正在创建一个简单的脚本,用于pydub根据名称从目录中获取文件,然后将其中的一些拼接在一起并导出结果。

我的脚本在 Windows 环境(Win 7,python 3.4)中运行良好,但现在我试图在 OSX 上运行。

我已经安装了所有必要的组件 - ffmpeg, libav. 我刚刚安装pydubpip直接从github拉取。

我的文件以输入语句开头from pydub import AudioSegment,这就是我得到的:

想法?我错过了什么?任何帮助是极大的赞赏!

0 投票
0 回答
355 浏览

python - 使用 pydub python 库修剪到比指定长度更长的 mp3 歌曲?

我该如何解决这个错误?这是我的代码:

但是,当我打开保存了 9 分 1 秒长的歌曲时,它应该是 3 分 23 秒长并且它也没有静音,它重复了这张专辑第一首歌的相同 3 分 23 秒。这是怎么回事?

0 投票
1 回答
1555 浏览

python - 音频片段大文件时pydub不会导致内存错误吗?

每次文件很大(电影的长度)时,我都会遇到内存错误。有什么方法可以处理大文件音频片段吗?

0 投票
2 回答
4329 浏览

python - Can pydub set the maximum/minimum volume?

As title, can I set a value for maximum/minimum volume, that is, there won't be too loud or too quiet in output audio file? (Not normalize, I just want tune the specific volume to normal, as the photo below.)

enter image description here

0 投票
2 回答
3447 浏览

python - 如何在 pydub 中获得相同的输入和输出文件比特率?

我用 pydub 输出一个文件(把文件剪成更短的文件),一切都很好,但是比特率从 256k 变成了 124k(为什么我会得到这个数字而不是 128k?)。我知道 AudioSegment 有一个设置比特率的参数,但我只想要相同的比特率,而不是每次手动设置。有什么办法可以解决这个问题?

0 投票
1 回答
756 浏览

python - 使用 pydub 进行多次淡入淡出效果后质量不佳

我想在某个时间生成带有背景音乐和指令的锻炼 mp3 文件(例如“用力推”、“再做一次重复!”)

我用 pico2wave 生成​​指令并用 pydub 组装它们。

我这样做:

结果文件的质量很差。我尝试消除“褪色效果”并且质量很好(但我听不太清楚“说明”)

我怎样才能改变这个?我可以轻松地进行淡出和淡入效果吗?

谢谢,

问候,

阿克塞尔

0 投票
1 回答
92 浏览

python - python如何更改代码的结尾

我试图弄清楚如何编辑这个字符串的结尾:

我要做的是针对所选文件的格式(在本例中为 .wav 文件),更改 AudioSegment 以提取每个文件。即:如果我选择“.mp3”文件,AudioSegment.from_wav 将更改为 AudioSegment.from_mp3。

我怎样才能做到这一点?似乎任何使其灵活的尝试都会导致此错误

这是完整的代码。

我如何做到这一点,以便结尾会根据文件结尾而改变?我不需要它来适应任何特定类型的代码,所以任何答案都可以。