Since you're not going to cycle through the songs you could use a standard list and a for loop:
Code:
#Preload all songs
songList = [ viz.addAudio(filename) for filename in songs ]
for song in songList:
song.play()
#Wait for song to end
yield viztask.waitMediaEnd(song)