「USB MIDI キーボード」の版間の差分
細 (1版 をインポートしました) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを修正) |
||
(2人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:ハードウェア]] |
[[en:USB MIDI keyboards]] |
[[en:USB MIDI keyboards]] |
||
− | このページでは [[ |
+ | このページでは [[ALSA]] を使用して音楽が聞けるようにサウンドカードが設定されていることが前提となります。Evolution MK-631 USB midi キーボードと SB Live! Value カードが使えることが確認されています。特記がないかぎりコマンドは非特権ユーザーで実行して下さい。 |
==予備テスト== |
==予備テスト== |
||
28行目: | 28行目: | ||
snd_usb_lib 16640 1 snd_usb_audio |
snd_usb_lib 16640 1 snd_usb_audio |
||
}} |
}} |
||
+ | |||
+ | {{Note|カーネル 3.19.2 現在、{{ic|snd_seq_midi}} [[カーネルモジュール|モジュール]]を手動でロードする必要があるかもしれません。バグレポート: {{Bug|44286}}。}} |
||
{{ic|aconnect -i}} と入力して全ての MIDI 入力ポートを表示してください。以下のように出力されます: |
{{ic|aconnect -i}} と入力して全ての MIDI 入力ポートを表示してください。以下のように出力されます: |
||
47行目: | 49行目: | ||
}} |
}} |
||
リストには他にも様々なイベント (ノブを回したり、チャンネルを変えるなど) が登録されています。キーボードがちゃんと動作しているか確認するのに便利です。 |
リストには他にも様々なイベント (ノブを回したり、チャンネルを変えるなど) が登録されています。キーボードがちゃんと動作しているか確認するのに便利です。 |
||
+ | |||
+ | MIDI イベントをキーボードや他の MIDI 出力デバイスに送信するには、{{ic|aplaymidi -p ## midifile.mid}} を実行して MIDI ファイルを指定してください。 |
||
+ | |||
+ | == 録音 == |
||
+ | {{Note|この章は生のMIDIデータをファイルに記録するためのものです。オーディオを録音するには、シンセサイザーが必要です。[[#演奏|演奏]] を参照してください。}} |
||
+ | |||
+ | まず、{{ic|arecordmidi -l}} を実行します。使用可能な入力デバイスが一覧表示されるので、使用するデバイスを決めます。 |
||
+ | それから、以下のコマンドを実行して記録を開始します。 |
||
+ | |||
+ | {{bc| |
||
+ | arecordmidi -p <port_number> <output_file> |
||
+ | }} |
||
+ | |||
+ | 記録を停止するには、プロセスを {{ic|kill}} します。(Ctrl+c) |
||
+ | |||
+ | このツールで使用できる追加オプションの詳細は {{ic|man arecordmidi}} を参照してください。 |
||
== 演奏 == |
== 演奏 == |
||
64行目: | 82行目: | ||
3 'Emu10k1 Port 3 ' |
3 'Emu10k1 Port 3 ' |
||
}} |
}} |
||
− | client 65 が MIDI シンセサイザーです。サウンドカードが正しく[[SB Live! Midi|設定]]されていれば、キーボードの出力を MIDI シンセサイザーにつなげることができるはずです。{{ic|aconnect ''in'' ''out''}} と入力してください。''out'' は出力の client 番号 (このページの例では 65)、''in'' は入力の client 番号に置き換えてください (このページの例では 72)。それでサウンドカードの MIDI 出力を使ってキーボードを演奏できるようになります。 |
+ | client 65 が MIDI シンセサイザーです。サウンドカードが正しく[[en2:SB Live! Midi|設定]]されていれば、キーボードの出力を MIDI シンセサイザーにつなげることができるはずです。{{ic|aconnect ''in'' ''out''}} と入力してください。''out'' は出力の client 番号 (このページの例では 65)、''in'' は入力の client 番号に置き換えてください (このページの例では 72)。それでサウンドカードの MIDI 出力を使ってキーボードを演奏できるようになります。 |
=== ソフトウェアシンセサイザー === |
=== ソフトウェアシンセサイザー === |
2022年2月10日 (木) 12:50時点における最新版
このページでは 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 イベントをキーボードや他の MIDI 出力デバイスに送信するには、aplaymidi -p ## midifile.mid
を実行して MIDI ファイルを指定してください。
録音
まず、arecordmidi -l
を実行します。使用可能な入力デバイスが一覧表示されるので、使用するデバイスを決めます。
それから、以下のコマンドを実行して記録を開始します。
arecordmidi -p <port_number> <output_file>
記録を停止するには、プロセスを kill
します。(Ctrl+c)
このツールで使用できる追加オプションの詳細は man arecordmidi
を参照してください。
演奏
キーボードのボタンを押した時に音が鳴るようにするには、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
- qsynth をインストールして下さい。
- QSynth を起動して Setup を開いて下さい。SF2 形式のサウンドフォントをロードする必要があります。http://soundfonts.narod.ru/ (ロシア語) からフリーの SoundFont を入手できます。SoundFont をロードした後に QSynth がエンジンを再起動するように言ってきたら、それに従って下さい。
aconnect -o
と入力して全ての MIDI 出力ポートを表示します。FLUID Synth
を含むポートを探して client 番号をメモして下さい。aconnect in out
と入力して下さい。out は出力の client 番号、in は入力の client 番号に置き換えてください (このページの例では 72)。これでキーボードを演奏すると QSynth が音を鳴らすはずです。
Qsynth で JACK を使う
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
- qjackctl を使って jackd を起動 (Play ボタン)
- USB キーボードを接続
- QSynth を起動して Setup を開いて下さい。SF2 形式のサウンドフォントをロードする必要があります。http://soundfonts.narod.ru/ (ロシア語) からフリーの SoundFont を入手できます。SoundFont をロードした後に QSynth がエンジンを再起動するように言ってきたら、それに従って下さい。
- qjackctl から、Connect をクリックして ALSA タブを選択して下さい。MIDI キーボードと QSynth を選択して、Connect をクリックして下さい。