gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:36:44 24 4
gpt4 key购买 nike

我的目标是对从排列中获得的十个音频文件进行不同的求和,以便为每个排列获得不同的音频文件(总共 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com