python - 如何在Python中对排列的每一行求和

标签 python audio sum permutation pydub

我的目标是对从排列中获得的十个音频文件进行不同的求和,以便为每个排列获得不同的音频文件(总共 10!= 3 628 800 个最终音频)并将它们导出为 wav 文件。

示例(sound1 + sound3 + sound2+ sound4 + sound 8 + sound6 + sound5 + sound7 + sound10 + sound9 = 第一个音频等)

我该怎么做?我尝试过,但我在计算总和时遇到了一些问题。

这是我到目前为止所做的

from pydub import AudioSegment
import itertools

sound1 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/1_R.wav")
sound2 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/2_R.wav")
sound3 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/3_R.wav")
sound4 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/4_R.wav")
sound5 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/5_R.wav")
sound6 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/6_R.wav")
sound7 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/7_R.wav")
sound8 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/8_R.wav")
sound9 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/9_R.wav")
sound10 = AudioSegment.from_wav("/Users/Desktop/Countingpuppet/Music/10_R.wav")

lis = (sound1,sound2,sound3,sound4,sound5,sound6,sound7,sound8,sound9,sound10)

list(itertools.permutations(lis))

dc = []
for i in range(1, len(lis) + 1):
    #sum(list(itertools.permutations(lis, i)))
    sum(lis(i))
    #dc += lis(i)

#combined_sounds = sound1 + sound2
#combined_sounds.export("/output/path.wav", format="wav")

最佳答案

myPerm 为您可能想要的整数排列 {0,...,9}:

sum([lis(i) for i in myPerm])

但是,如果 sum 是可交换的(即 a+b == b+a),您可能并不真正想要您声称想要实现的目标。

编辑:

在我阅读您的编辑后,我认为您想做类似的事情

t = ("ba","a","c")
["".join(i) for i in itertools.permutations(t)]

用于音频文件。

看看这个答案:https://stackoverflow.com/a/30204581/512225 我推断您必须将 "".join(i) 替换为 sum(i, AudioSegment.empty())。我希望这能解决您的问题。 (我没有在我的机器上尝试过)

关于python - 如何在Python中对排列的每一行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629234/

相关文章:

python - 无法使用 OpenShift 安装 Pandas

python - 为什么 max 比 sort 慢?

mysql - 将 3 行的值相加并放入

python - 在函数的签名中,当星号后面没有标识符名称时,它在 Python 中意味着什么?

python - Django 中的交互式 shell

javascript - ionic 2 声音在加载音频时停止背景音乐

javascript - <音频> 和 javascript : can I force audio files to be redownloaded each time they're used?

audio - 是否可以使用 jPlayer 将视频作为音频播放

mysql - 将求和字段添加到选择查询

SQL GROUP_CONCAT + SUM + AVG