私はWindowsと同様に、pygame.midiモジュールでMIDIノートを再生できるようにしたいです。私はこれが一種のソフトウェア/仮想MIDI出力デバイスを設定することを意味すると思います。 Fluidsynthが私に必要な機能を実行しているようですが、どのように設定するのかわかりません。私はKDE Neonを使用しています。
編集:これは私が通常Pygameを使ってMIDIを設定する方法です。
from pygame import midi
midi.init()
t=midi.Output(midi.get_default_output_id())
ベストアンサー1
まず確認すべき事項カーネルが正しく設定されました。 (必要なドライバが提供されています)ユーザーに適した設定です。
どの端末でも実行する場合は、複数のデバイスを一覧amidi-l
表示する必要があります。私と同じように:
acoswt@Tux ~ $ amidi -l
Dir Device Name
IO hw:1,0 Virtual Raw MIDI (16 subdevices)
IO hw:1,1 Virtual Raw MIDI (16 subdevices)
IO hw:1,2 Virtual Raw MIDI (16 subdevices)
IO hw:1,3 Virtual Raw MIDI (16 subdevices)
IO hw:2,0 M Audio Audiophile 24/96 MIDI
まあ、あなたは正しいです。次のソフトウェアシンセサイザーが必要です。流体シンセサイザー。だから、インストールしてください(sf2互換のサウンドフォント、好ましくは少なくともいくつかの一般的なmidi互換フォントで)。
私はあなたもインストールすることをお勧めしますqシンセサイザー(FluidSynthの使用経験を簡素化するGUI)
その後、Fluidsynthを起動してパイゲームを起動してから、次のものを使用する必要があります。つながる一部のパイゲームMIDI出力ポート(ポート番号の取得aplaymidi -l
)を一部のFluidsynthMIDI入力ポートに接続します。 ( arecordmidi
-l 経由でポート番号を取得します)
もちろん、alsaを直接使用するので、どんな種類のサウンドサーバーにも汚染されないように強くお勧めします。