Python 如何播放此simpleaudio文件?

Python 如何播放此simpleaudio文件?,python,simpleaudioengine,Python,Simpleaudioengine,我有一个关于simpleaudio的项目,但我生成的文件似乎不起作用。我应该创造一个莫扎特的声音,循环一定次数,以创造一首歌曲。以下是说明: 循环选择列表,并使用minute\u filename()和trio\u filename()函数 从相应的.wav音频文件构造simpleaudio WaveObject类的对象。这个 每个选择的文件名应传递给simpleaudio提供的WaveObject构造函数。你 应在创建这些对象时将其附加到新列表中。 现在在WaveObject列表上循环,并对每

我有一个关于simpleaudio的项目,但我生成的文件似乎不起作用。我应该创造一个莫扎特的声音,循环一定次数,以创造一首歌曲。以下是说明:

循环选择列表,并使用minute\u filename()trio\u filename()函数 从相应的.wav音频文件构造simpleaudio WaveObject类的对象。这个 每个选择的文件名应传递给simpleaudio提供的WaveObject构造函数。你 应在创建这些对象时将其附加到新列表中。 现在在WaveObject列表上循环,并对每个对象调用play()方法。一定要等 在播放下一个音阶之前,直到每个音阶都播放完毕

import random
import simpleaudio

mm01 = [None, None, "96", "32", "69", "40", "148", "104", "152", "119", "98", "3", "54"]
mm02 = [None, None, "22", "6", "95", "17", "74", "157", "60", "84", "142", "87", "130"]
mm03 = [None, None, "141", "128", "158", "113", "163", "27", "171", "114", "42", "165", "10"]
mm04 = [None, None, "41", "63", "13", "85", "45", "167", "53", "50", "156", "61", "103"]
mm05 = [None, None, "105", "46", "153", "161", "80", "154", "99", "140", "75", "135", "28"]
mm06 = [None, None, "122", "46", "55", "2", "97", "68", "133", "86", "129", "47", "37"]
mm07 = [None, None, "11", "134", "110", "159", "36", "118", "21", "169", "62", "147", "37"]
mm08 = [None, None, "30", "81", "24", "100", "107", "91", "127", "94", "123", "33", "5"]
mm09 = [None, None, "70", "117", "66", "90", "25", "138", "16", "120", "65", "102", "35"]
mm10 = [None, None, "121", "39", "139", "176", "143", "71", "155", "88", "77", "4", "20"]
mm11 = [None, None, "26", "126", "15", "7", "64", "150", "57", "48", "19", "31", "108"]
mm12 = [None, None, "9", "56", "132", "34", "125", "29", "175", "166", "82", "164", "92"]
mm13 = [None, None, "112", "174", "73", "67", "76", "101", "43", "51", "137", "144", "12"]
mm14 = [None, None, "49", "18", "58", "160", "136", "162", "168", "115", "38", "59", "124"]
mm15 = [None, None, "109", "116", "145", "52", "1", "23", "89", "72", "149", "173", "44"]
mm16 = [None, None, "14", "83", "79", "170", "93", "151", "172", "111", "8", "78", "131"]

minuet_table = [mm01, mm02, mm03, mm04, mm05, mm06, mm07, mm08,
            mm09, mm10, mm11, mm12, mm13, mm14, mm15, mm16]

tm01 = [None, "72", "56", "75", "40", "83", "18"]
tm02 = [None, "6", "82", "39", "73", "3", "45"]
tm03 = [None, "59", "42", "54", "16", "28", "62"]
tm04 = [None, "25", "74", "1", "68", "53", "38"]
tm05 = [None, "81", "14", "65", "29", "37", "4"]
tm06 = [None, "41", "7", "43", "55", "17", "27"]
tm07 = [None, "89", "26", "15", "2", "44", "52"]
tm08 = [None, "13", "71", "80", "61", "70", "94"]
tm09 = [None, "36", "76", "9", "22", "63", "11"]
tm10 = [None, "5", "20", "34", "67", "85", "92"]
tm11 = [None, "46", "64", "93", "49", "32", "24"]
tm12 = [None, "79", "84", "48", "77", "96", "86"]
tm13 = [None, "30", "8", "69", "57", "12", "51"]
tm14 = [None, "95", "35", "58", "87", "23", "60"]
tm15 = [None, "19", "47", "90", "33", "50", "78"]
tm16 = [None, "66", "88", "21", "10", "91", "31"]

trio_table = [tm01, tm02, tm03, tm04, tm05, tm06, tm07, tm08,
              tm09, tm10, tm11, tm12, tm13, tm14, tm15, tm16]

def minuet_filename(mmid):
    return 'M' + mmid + '.wav'
    def random_number_from_tables_1():
          return random.choice(random.choice(minuet_table)[2:])
    number1 = random_number_from_tables_1()
    print(minuet_filename(number1))
    
def trio_filename(tmid):
    return 'T' + tmid + '.wav'
    def random_number_from_tables_2():
          return random.choice(random.choice(trio_table)[1:])
    number2 = random_number_from_tables_2()
    print(trio_filename(number2))
    
def roll_dice(num):
    if num == 1:
        return(random.randint(1,6))
    elif num == 2:
        v1 = (random.randint(1,6))
        v2 = (random.randint(1,6))
        return v1 + v2

def construct_waltz():
    sequence = []
    for i in range(16):
        roll = roll_dice(2)
        point = minuet_table[i][roll]
        term = minuet_filename(str(point))
        sequence.append(term)
    for i in range(16):
        roll = roll_dice(1)
        point = trio_table[i][roll]
        term = trio_filename(str(point))
        sequence.append(term)
    for i in range(32):
        wav_object = simpleaudio.WaveObject.from_wave_file(sequence[i])
        play_object = wav_object.play()
        play_object.wait_done()


if __name__ == "__main__":
    construct_waltz()