MIDI 仮想キーボードと物理キーボードを Ubuntu で試す

(夏休み企画 3/20)


# 環境

- Ubuntu 20.04 LTS
- vkeybd Ver.1.9
- VMPK ( Virtual MIDI Piano Keyboard ) Version 0.7.2
- aconnectgui 0.9.0rc2-1-10build1
- TiMidity++
- CASHIO LK-80 キーライトキーボード
- 格安USB-MIDIケーブル

# 仮想キーボード

## インストール

```

$ sudo apt install vkeybd vmpk

```

として仮想キーボードを2つインストール

## VMPK を鳴らす

キーをマウスで押すと音が鳴る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/28e92b5d-2214-9f92-813d-afff0c2ee6fb.png)

## vkeybd を鳴らす

こちらはキーをマウスで押しても音が鳴らない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/781c9dc0-f395-b696-cebe-cf42f68cba99.png)



TiMidity++ をデーモン起動、aconnectgui を起動して、以下のように配線すると音が出た。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/6980f6d9-f8bf-25be-cbb1-d5c54fbede8e.png)
これで音が出た

# VMPK を音源として使う

VMPK の 「Edit」 - 「MIDI Connections」 とすると、以下の画面が出てくる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e1023e88-b814-d6bc-b469-06bc8556ec53.png)
以下のように変更すると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/18ee6375-8f45-b831-3a77-3f3273e663b7.png)

aconnectgui に反映され、Virtual Keyboard で引いた音階が VMPK で音出となった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/be95712d-844e-c38c-8f2e-103a3278dae8.png)


# MIDI 物理キーボードを接続する

ウチにあった使い古しの MIDI キーボード、CASHIO LK-80。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b9fe8bd0-88f5-e854-f6ff-efdc83baa9a8.png)

中国製の格安 USB-MIDIケーブル。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1afaf9e1-4288-6630-e11c-10dc5e140a36.png)

LK-80 には MIDI端子がついています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9ba97b86-d351-51ec-bb94-f07d098486dc.png)

以下のように接続します。

| LK-80 MIDI端子 | USB-MIDIケーブル端子 |
|:---:|:---:|
| OUT | IN |
| IN | OUT |

ケーブルをPCに接続した時の dmesg 。

```

[33799.368930] usb 1-1.2: new full-speed USB device number 7 using ehci-pci
[33799.478627] usb 1-1.2: New USB device found, idVendor=1a86, idProduct=752d, bcdDevice= 2.54
[33799.478633] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[33799.478637] usb 1-1.2: Product: USB2.0-MIDI
```

## MIDI 物理キーボードを MIDI INとして使う

CASHIO LK-80 を接続すると aconnectgui に CH345 MIDI 1 が出現した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/48ec5244-2986-6c3e-d44c-762e29a3d183.png)

### TiMiDity に接続

TiMidity をデーモンとして動かし、以下のように接続すると LK-80 で押したキーが TiMidity++で音出した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/6cae26a1-0d9a-f6ee-93c0-d4bc83abd923.png)

### VMPK に接続

以下のように設定すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/386de8be-7877-6f7e-9761-e777b8146e7e.png)

 aconnectgui に反映され、 LK-80 で押したキーが VMPK で音出した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e48a61ee-a7ef-146d-e3c4-b1f5ac3e659c.png)

# MIDI 物理キーボードを外部音源として使う
VMPKを以下のようにする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ad8b52de-7294-0bd8-f142-37aa810d6133.png)
更に aconnectgui で Virtual Keyboard も LK-80 につなげてみる


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/bf3302f6-dfd8-b332-b12f-84535ad9f6dd.png)

これで、 VMPK および Virtual Keboard で押したキーが LK-80 で鳴るようになった。