ピアノ練習のためにiPhoneでMIDIファイルをピアノ自動演奏する

![IMG_9922.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/03691b7c-73cc-bb5a-52ce-6eab11883aad.png)

[空港ピアノ](https://www.nhk.jp/p/ts/9981L8QX2N/)という、空港に置かれたピアノを定点カメラで撮影した番組があります。
その番組に、大人になってから独学でピアノを弾き始めたパイロットのおじさんが出てきて、非常にかっこよかった。

ということで、アラフォーでピアノ未経験の私も、ピアノを引いてみようと思い立ちました。
家に子供が使っているキーボードがあり、鍵盤が光ってナビゲーションしてくれますが、内蔵の曲しかナビゲーションできないものでした。
iPhoneとかでMIDI音源をピアノ自動演奏できれば、同じような学習効果が得られるんじゃないかと思い立ち、、、

ということで本題です。
ネットに落ちているMIDI音源をiPhoneでピアノ自動演奏することで、ピアノ学習の助けにしたいと思います。

## 使うもの
- iPhone (Androidでもできると思いますが、ここでは説明しません)
- PC (ここではMacで説明します)
- iCloud Drive (PCからiPhoneにデータを送るために使います)
- MIDIファイル （曲のデータです）
- サウンドフォントファイル (音のデータです。デフォルトだと素っ気ない音しかでません)

## iPhoneでアプリをダウンロード
まずiPhoneで以下のアプリをダウンロードします。

- [MIDITrail](https://apps.apple.com/jp/app/miditrail/id550882595)
- [ファイル](https://apps.apple.com/jp/app/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/id1232058109)

MIDITrailは、MIDIデータを三次元可視化するMIDIプレーヤーです。これでMIDIファイルを自動演奏します。
[MIDITrailマニュアル](http://miditrail.osdn.jp/iOS/HELP.ja.html)に使い方が書かれています。

`ファイル`はiCloud DriveのデータをMIDITrailに送るために使います。

## iPhoneでiCloud Driveを有効化
以下の手順でiCloud Driveを有効化します。

- 設定 > 一番上のユーザ名 > iCloud を選択
- iCloud Drive をONにする

<img width="375" alt="IMG_9921.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/79a391f3-2438-2020-4d23-7e6de193b760.png">

これでiCloud Driveのファイルを`ファイル`で見れるようになります。
(`ファイル`ってアプリ名なんとかしてほしい...)

## PCでMIDIファイルをダウンロード
ピアノで弾きたい曲のMIDIファイルを探してダウンロードします。
好きなものを探してください。だいたい再生できると思います(適当)。

### 例：東方ピアノEasyモード
将来的にはクラシックなど華麗に弾けるようになりたいですが、まずはとっつきやすいものから始めたいと思います。
我が家では東方Projectが流行っているので、東方の曲なら子供と一緒に楽しめそうです。

東方の曲を"比較的"Easyにアレンジした[東方ピアノEasyモード](https://easypianoscore.jp/sheetList.php?titleid=gensou)というサイトがあります。
大量の曲があり、MIDIファイルと楽譜がダウンロードできる、本記事にうってつけのサイトです。
(というかこのサイトの存在を知ってから本記事の構想を思いつきました)

個人的に好きな[東方風神録の３〜５面の曲](https://easypianoscore.jp/sheetList.php?titleid=fujin)をダウンロードしました。
解答ファイルを展開すると、中に`.mid`という拡張子のファイルがあります。これがMIDIファイルです。
<img width="744" alt="スクリーンショット 2020-05-09 17.12.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/ca8bbf2c-c7ea-96ff-f226-91e5da177b93.png">

（.pdfファイルが楽譜です。必要な方は印刷しましょう）

## PCでサウンドフォントファイルをダウンロード
MIDIの音色データであるサウンドフォントファイルを探してダウンロードします。
好きなものを探してください。`.sf2`という拡張子のファイルが主流です。

とりあえずでよければ、以下のファイルが軽くてオススメです。
[iOS - SF2/DLS files](http://www.ronimusic.com/smp_ios_dls_files.htm)の"Various DLS/SF2 files."からダウンロードします。

- FreeFont.sf2 (3 MBytes)
- Yamaha XG Sound Set.sf2 (4 MBytes)

## PCでiCloud Driveにファイルをアップロード
ブラウザで[iCloud Drive](https://www.icloud.com/iclouddrive/)にアクセスして、ダウンロードしたファイルをアップロードします。
Finderからドラッグ＆ドロップでOKです。

<img width="815" alt="スクリーンショット 2020-05-09 17.46.36.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/e2cb0ff5-56de-242c-2cf9-c36d4d95e453.png">

これでiPhoneでこれらのファイルにアクセスできます。

## iPhoneでiCloud DriveからMIDITrailにデータ転送
以下の手順でiCloud DriveのデータをMIDITrailに転送します。

- `ファイル`を開く
- iCloud Driveを選択する
- 右上の「選択」をタップし、転送したいファイルを"1つ"選択する (複数は送れない)
- 左下の「共有」をタップし、「MIDITrailで開く」を探してタップする

![IMG_9926.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/da9e3e5a-a346-65a4-2da2-db381342b63b.png)

これで１ファイルが転送できました。
これを全ファイル分繰り返します。

## iPhoneのMIDITrailの設定を整える
MIDITrailを開き、下の「Settings」をタップします。

### VIEW MODE
「Piano Roll Rain 2D」をタップします。
これが一番ピアノ自動演奏っぽいです。


### MIDI OUT DEVICE
「Port A (default)」をタップし、「Internal Wavetable Synthesizer」を選択します。
これで音が出るようになります。

### INTERNAL WAVETABLE SYNTHESIZER
「Wabetable File」をタップし、転送したサウンドフォントファイルを選択します。

デフォルトでは「(none)」になっています。このままでも音が出ますが、素っ気ない音で、ボリュームも小さいです。
<img width="375" alt="IMG_9929.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/586ff14a-493c-b911-4800-574a4b05def4.png">

## iPhoneのMIDITrailで自動演奏
ようやく準備が整いました。

MIDITrailを開き、下の「MIDI Files」を選択します。
転送したMIDIファイルの一覧が表示されるので、好きなファイルを選択します。
ピアノが宙に浮いたような映像になります。

画面をタップするとメニューが出ます。
右上の「View」をタップし、「ViewPoint1」を選択します。

ピアノの移動や拡大をする方法には癖があります。
画面の端の部分をスライドすることで移動します。
詳しくは[マニュアル](http://miditrail.osdn.jp/iOS/HELP.ja.html#usage)を参照してください。

いい感じのアングルを決めたら、画面をタップしたメニューのPlayボタンを押すと、再生が始まります。
Play Speedボタンで速度を遅くすることができます。譜面がわかりやすくなります。

![IMG_9922.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73825/03691b7c-73cc-bb5a-52ce-6eab11883aad.png)

## おわりに
もっと簡単に目的が果たせるツールがあるかもしれません。あったら教えてください。
現時点でピアノは全く弾いていません。こんな記事を書く時間があるなら、練習するべきでは？

......俺たちの戦いはこれからだ！