raspberrypi (外部 MIDI デバイスなし) で pygame を使用して MIDI サウンドを再生しようとしていますが、何も動作しません。
私は多くの例を試しました: 以下が得られます。
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()
次のエラーが発生します
PortMidi call failed...
PortMidi: 'Bad pointer'
type ENTER...
次の例 (他のほとんどの例と同様) では、「デバイス ID が無効です。範囲外です。」エラー:
import pygame
import pygame.midi
from time import sleep
instrument = 0
note = 74
volume = 127
pygame.init()
pygame.midi.init()
for id in range(pygame.midi.get_count()):
print pygame.midi.get_device_info(id)
port = 2
midiOutput = pygame.midi.Output(port, 1)
midiOutput.set_instrument(instrument)
for note in range(0,127):
midiOutput.note_on(note,volume)
sleep(.25)
midiOutput.note_off(note,volume)
del midiOutput
pygame.midi.quit()
このエラーが発生します
('ALSA', 'Midi Through Port-0', 0, 1, 0)
('ALSA', 'Midi Through Port-0', 1, 0, 0)
Traceback (most recent call last):
File "midi-test2.py", line 16, in <module>
midiOutput = pygame.midi.Output(port, 1)
File "/usr/lib/python2.7/dist-packages/pygame/midi.py", line 414, in __init__
raise MidiException("Device id invalid, out of range.")
pygame.midi.MidiException: 'Device id invalid, out of range.'
MIDI サウンドを再生するように RaspberryPi をセットアップするためのガイドが見つかりませんでした。何か提案はありますか?