Python pygame.midi错误portmidi

时间:2015-10-22 17:04:25

标签: python pygame midi

我将Debian 8与任何版本的python pygame一起使用 当我尝试通过点击我得到一个midi:

Une erreur est survenue
La lecture de ce film exige un greffon Décodeur audio/x-midi-event qui n'est pas installé.

但我可以听到:

aplay monfichier.mid

如果我尝试运行我的prog python / pygame一个众所周知的例子在网上找到它确定它有效:

import pygame
import time
import pygame.midi

pygame.midi.init()
player= pygame.midi.Output(0)
player.set_instrument(48,1)

major=[0,4,7,12]

def go(note):
    player.note_on(note, 127,1)
    time.sleep(1)
    player.note_off(note,127,1)

def arp(base,ints):
    for n in ints:
        go(base+n)

def chord(base, ints):
    player.note_on(base,127,1)
    player.note_on(base+ints[1],127,1)
    player.note_on(base+ints[2],127,1)
    player.note_on(base+ints[3],127,1)
    time.sleep(1)
    player.note_off(base,127,1)
    player.note_off(base+ints[1],127,1)
    player.note_off(base+ints[2],127,1)
    player.note_off(base+ints[3],127,1)
def end():
       pygame.quit()

我有:

python3 pygameex.py 
Exception ignored in: <pypm.Output object at 0xb6514e30>
Traceback (most recent call last):
  File "pypm.pyx", line 306, in pypm.Output.__dealloc__ (src/pypm.c:1438)
Exception: b"PortMidi: `Bad pointer'"

我尝试了python 2.7和python 3几乎相同的错误 我在网上找了它,我只是找到了没有答案的同一个问题

我想在不经文件的情况下制作音符和和弦 我正在寻找python模块但却找不到幸福

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,通常会在您忘记在程序结束时正确关闭midi资源时发生:

import pygame.midi
import time

pygame.midi.init()

midiOut = pygame.midi.Output(0)
midiOut.note_on(64,127)
time.sleep(0.5)
midiOut.note_off(64,127)

midiOut.close()