USB MIDI keyboards (日本語) - ArchWiki

# USB MIDI keyboards (日本語)

このページでは ALSA を使用して音楽が聞けるようにサウンドカードが設定されていることが前提となります。Evolution MK-631 USB midi キーボードと SB Live! Value カードが使えることが確認されています。特記がないかぎりコマンドは非特権ユーザーで実行して下さい。

## 予備テスト

### ALSA

公式リポジトリから alsa-utils パッケージをインストールして下さい。

`aseqdump` を実行してください。以下のような出力がされるはずです:

    Waiting for data at port 128:0. Press Ctrl+C to end.
    Source_ Event_________________ Ch _Data__

表示はこれだけです。Ctrl+C を押してプログラムを終了してください。

## キーボードの接続

キーボードを接続して電源を入れて下さい。`lsusb` に以下のような出力がされるはずです:

    Bus 002 Device 002: ID 0a4d:00a0 Evolution Electronics, Ltd

`lsmod | grep usb` の出力には以下のモジュールが含まれているはずです:

    usb_midi               25348  0
    snd_usb_audio          70592  0
    snd_usb_lib            16640  1 snd_usb_audio

`aconnect -i` と入力して全ての MIDI 入力ポートを表示してください。以下のように出力されます:

    client 72: 'MK-361 USB MIDI keyboard' [type=kernel]
        0 'MK-361 USB MIDI keyboard MIDI 1'

client の数字はおそらく異なっていると思われます。メモして下さい。

## イベントの確認

`aseqdump -p ##` と入力してください。`##` はキーボードの client 番号に置き換えてください。以下のように表示されます:

     72:0   Active Sensing

鍵盤を押すと以下のように表示されます:

     72:0   Note on                 0  65  94
     72:0   Note on                 0  65   0

リストには他にも様々なイベント (ノブを回したり、チャンネルを変えるなど) が登録されています。キーボードがちゃんと動作しているか確認するのに便利です。

## 演奏

キーボードのボタンを押した時に音が鳴るようにするには、MIDI 信号を音声に変換するシンセサイザーが必要です。

サウンドカードによってはハードウェアシンセサイザーが内蔵されていることがありますが、最近のサウンドカード、特にオンボードのサウンドカードの場合、普通は搭載されていません。自分で楽器の音源をロードすることができるプログラムである、ソフトウェアシンセサイザーを使うのが簡単でしょう。

### ハードウェアシンセサイザー

`aconnect -o` と入力して全ての MIDI 出力ポートを表示してください。サウンドカードによって出力は変わります。SB Live! Value では、以下のように出力されます:

    client 64: 'EMU10K1 MPU-401 (UART)' [type=kernel]
        0 'EMU10K1 MPU-401 (UART)'
    client 65: 'Emu10k1 WaveTable' [type=kernel]
        0 'Emu10k1 Port 0  '
        1 'Emu10k1 Port 1  '
        2 'Emu10k1 Port 2  '
        3 'Emu10k1 Port 3  '

client 65 が MIDI シンセサイザーです。サウンドカードが正しく設定されていれば、キーボードの出力を MIDI シンセサイザーにつなげることができるはずです。`aconnect in out` と入力してください。out は出力の client 番号 (このページの例では 65)、in は入力の client 番号に置き換えてください (このページの例では 72)。それでサウンドカードの MIDI 出力を使ってキーボードを演奏できるようになります。

### ソフトウェアシンセサイザー

#### Qsynth

1. qsynth をインストールして下さい。
2. QSynth を起動して Setup を開いて下さい。SF2 形式のサウンドフォントをロードする必要があります。http://soundfonts.narod.ru/ (ロシア語) からフリーの SoundFont を入手できます。SoundFont をロードした後に QSynth がエンジンを再起動するように言ってきたら、それに従って下さい。
3. `aconnect -o` と入力して全ての MIDI 出力ポートを表示します。`FLUID Synth` を含むポートを探して client 番号をメモして下さい。
4. `aconnect in out` と入力して下さい。out は出力の client 番号、in は入力の client 番号に置き換えてください (このページの例では 72)。これでキーボードを演奏すると QSynth が音を鳴らすはずです。

Note: Qsynth を再起動したり楽器や SoundFont を変更するたびに `aconnect in out` を実行する必要があります。

#### Qsynth で JACK を使う

1. qsynth, jack, qjackctl をインストールして下さい
2. qjackctl を起動して設定を確認:

     Server Path: jackd
     Driver: alsa
     Realtime=enable; Priority:0
     Frames/Period:512
     Soft Mode=enable; Periods/Buffer:2
     Rest of parameters=disable(by default)
     Dither: None
     Audio: Duplex

1. qjackctl を使って jackd を起動 (Play ボタン)
2. USB キーボードを接続
3. QSynth を起動して Setup を開いて下さい。SF2 形式のサウンドフォントをロードする必要があります。http://soundfonts.narod.ru/ (ロシア語) からフリーの SoundFont を入手できます。SoundFont をロードした後に QSynth がエンジンを再起動するように言ってきたら、それに従って下さい。
4. qjackctl から、Connect をクリックして ALSA タブを選択して下さい。MIDI キーボードと QSynth を選択して、Connect をクリックして下さい。

Category:

- Other hardware (日本語)