我正在为我当前的小项目使用pygame.midi,它输出一些基于算法结构的注释。我的问题是,我想让声音在迭代循环中徘徊
这种情况的一个最起码的例子如下:
import pygame.midi
import time
from random import random
pygame.midi.init()
player = pygame.midi.Output(0)
player.set_instrument(0)
def hit(player, note, velocity, duration):
player.note_on(note, velocity)
time.sleep(duration)
player.note_off(note, velocity)
return
for i in range(100):
time.sleep(0.1)
if random() < 0.4:
hit(player, i, 120, 1)
pygame.midi.quit()
由于音符持续时间大于迭代节拍器,因此期望的迭代速度被破坏。不幸的是,对于我的应用程序,我不能简单地收集循环结果,然后重建,因为输出必须“动态”处理。此外,我希望声音最终重叠,例如当重复时间很短时。是否有适当的方法来处理这种多线程(不确定我在这里使用的术语是否正确)
目前没有回答
相关问题 更多 >
编程相关推荐