Python中的淡出声音

时间:2011-10-12 03:57:43

标签: python audio

这是我的fade_out功能。

def fade_out (snd, fade_length):
    new_snd = sound.copy(snd)
    factor = 1.0/fade_length
    fade_o = 1
    for sample in new_snd:
        sound.set_left(sample, int(sound.get_left(sample)*fade_o))
        sound.set_right(sample, int(sound.get_right(sample)*fade_o))
        if fade_o > 0:
            fade_o = fade_o - factor
    return new_snd

我遇到的第一个问题是这部分:

    if fade_o > 0:
       fade_o = fade_o - factor

我不明白为什么face_o只从一次减去。我认为fade_o将继续被删除,直到达到0。

我遇到的第二个问题是我不知道如何在我想要的时间开始淡出。例如,如果声音长度为600 000且渐弱长度为100 000,我想以500 000(即600 000 - 100 000)的偏移量开始淡出。我不知道该怎么做。

我想到了以下几点:

    for sample in new_snd:
        if sound.get_index(sample) > (len(snd)-fade_length):
            sound.set_left(sample,........)

但是,这似乎没有用。

0 个答案:

没有答案