import ctypes mciExecute = ctypes.windll.winmm.mciExecute mciExecute.argTypes = [ctypes.c_char_p] def play_midi(filename): assert mciExecute("open sequencer!%s alias midifile wait" % filename) assert mciExecute("play midifile wait") assert mciExecute("close midifile wait") if __name__ == '__main__': import sys play_midi(sys.argv[1])