iPhoneで快適な音楽ライフを 〜ショートカット×Ever Play×FLAC〜


# 追記 (2021/04/26)
EverPlayが改悪アップデートを行い、バックグラウンドでの音楽再生が実質不可能となりました。使用する場合には課金が必要です。

# サマリー
iPhoneのショートカットアプリは様々な一連の操作の簡略化に一役買っている。中でもミュージックアプリとの相性は良く、連携させる事でAirPods接続時や帰宅時をトリガーとしたBGMやプレイリストなどの自動再生ができるなど便利な点が多い。しかし、この連携は純正のミュージックアプリ間に限られており、またミュージックアプリおよびiTunesはFLACファイルの管理・再生を行うことができないことが著者の長年の不満となっている。
今回私はショートカットに対応した非純正アプリ"**Ever Play**"を発見した。このアプリは純正のミュージックアプリやiTunesで対応していないFLACファイルの再生に対応しているため、iPhoneでより高音質な音楽を楽しむことができる。また、ショートカットアプリとの連携が可能になったことで、より便利にミュージックアプリを扱える環境を整備することができた。

# イントロ 〜ショートカット×ミュージック〜
iPhoneの様々な煩雑な作業をまとめて効率化してくれる便利アプリ、**ショートカット**。このアプリはミュージックアプリと連携することが可能である。
例えば、iPhoneがAirPods(orその他のBTイヤホン)に接続することをトリガーとしてお気に入りのプレイリストを自動再生させたり、帰宅して宅内Wi-Fiに接続したことをトリガーとしてAirPlayを介したBGMの自動再生させたり、することができる。

# ショートカットAppで操作できるミュージックアプリは純正アプリにしか対応していない
こんなにも便利なショートカットだが欠点がある。それは数あるミュージックアプリの中でも**Apple純正のミュージックアプリにしかショートカットが対応していない**ことである。そのため、純正以外に愛用している音楽アプリやSpotify、Amazon music、LINE musicなどの音楽配信アプリをショートカットでコントロールすることができない。
>(Amazon musicのプレイリストの自動再生は対応させることに成功している。
→[ショートカットを利用したAmazon Musicのプレイリスト自動再生](https://qiita.com/benzene/items/1821fb9e9c6d686b2ca4))。

"ショートカットとの連携が優先だったら大人しく純正アプリ使えばいいじゃん"と思うかもしれないが、もうひとつの難点がそれを阻んでいる。

# 純正アプリおよびiTunesはFLACに対応していない
音楽好きにとってiPhoneが好まれない仕様が様々あるが、中でも私が特に感じている事は**Apple純正アプリとiTunesにおいて、FLACと呼ばれるフォーマットの音楽ファイルをライブラリーへ追加・再生できないこと**である。
> FLAC（フラック、Free Lossless Audio Codec）は、オープンフォーマットの可逆圧縮音声ファイルフォーマットである。〜〜〜〜〜。可逆圧縮であるため、元の音声データからの音質の劣化が無い。
(Wikipediaより転載、[FLACについてのページ](https://ja.wikipedia.org/wiki/FLAC))

CDをリッピングする際、CDと変わらないクオリティであるWAVフォーマットはファイルサイズが大きいことが難点であるが、FLACは無劣化の可逆圧縮が可能であるため、WAVとほぼ同等音質を保てる上に(異論は認める)、ファイルサイズが小さく、さらにジャケット写真などのタグをファイル内に保存できるのでとても優秀なフォーマットである。音楽配信サイトのレコチョクでは、FLACフォーマットでハイレゾ音源の配信を行なっており、私も全ての音源やレンタルしたCDは**すべてこのFLACフォーマットで保存・管理**している。
こんな便利なファイルにも関わらず、iTunesは頑なにこのフォーマットに対応しようとしてこなかった。
**iPhone側はiOS11以降FLACフォーマットの再生に対応しているのに**、だ。
>[「iPhone X」「iPhone 8」はFLAC再生をサポートし、「iOS 11」で「iPhone 7」でも再生が可能](https://minatokobe.com/wp/iphone/post-39924.html)

私は約4年ほどiTunesのFLAC対応を待っているが一向に対応する気配を見せない。これは意図的だと私は考える。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">iTunesのFLAC形式対応のアプデ早くしてくれないかなぁ。</p>&mdash; ‍⌬ベんぜん (@MONO_Benzene) <a href="https://twitter.com/MONO_Benzene/status/879309374824501249?ref_src=twsrc%5Etfw">June 26, 2017</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
そのため、Appleが変わるのを待つのではなく、こちらがなんとか変わる他なくなってしまった。最も無難な解決策として、全てのFLACファイルをiTunesに対応しているALACフォーマット等に変換することが挙げられる。これは膨大な音楽データを変換することが大変手間である上に、管理しているストレージ内でのデータ量がほぼ倍に増えてしまう点で絶対にやりたくない。

# iTunesはFLACを扱えないわけではない
いろいろ調べてみると、iTunesではミュージックライブラリにFLACを読み込むことができないだけで、**ファイル共有機能**を使用すればPC内部のFLACフォーマットの楽曲をiPhoneへ転送することが可能であることがわかった。さらに、いくつかのミュージックアプリではFLACファイルの再生が可能であることもわかった。やや希望の光が差し込んできた瞬間である。そこで、FLACファイルの再生に対応した音楽アプリを探す旅を始めた。

# FLACファイル対応アプリ: Ever Play
長らくFLACファイル対応のミュージックアプリを探す旅をしたが、結論としてiPhoneに最適なアプリは**Ever Play**というものに自分の中で落ち着いた。

[Ever Play](https://apps.apple.com/jp/app/ever-play-hifi-music-player/id1202642773)
<img width="200" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/1f180380-752a-fc7b-a2c3-896e2f9ebd8d.png">

Twitterでサーチした感じからして日本人のユーザーはほとんどいないものと思われる。他の有名どころとして**foobar2000**もあるが、ひらがなやカタカナ名のアーティストが重複して表示されてしまうバグがあったため却下した。
Ever Playが素晴らしいのはFLACに対応しているのはもちろんのこと、WAV・DSDといったハイレゾ音源に使用される音楽フォーマットの再生までカバーしていることである。それでいて動作はとても軽く、歌詞表示までできてしまう優れものである。気に食わないことはアルバムアーティストのカラムがないこと・プレイリストがインポートできないこと(これは事実か追って検証する必要がある)があるが、これは仕方なく目を瞑る(今後のアップデートによる追加を祈る)。
>※プレイリストのインポート-likeなことは一応できなくもない。iTunesのファイル共有で楽曲の転送を行う際に、プレイリスト単位で送信すると、転送後のフォルダがプレイリストに対応するため一応プレイリスト単位での曲の管理や再生ができる。

# Ever Play、アップデートによるショートカット対応
アップデートに全く気づけなかったのだが、**Ever Playがいつのまにかショートカットに対応していた**。しかもこれがただ全曲を再生するだけではなく、ショートカットアプリでの制御と同様に、再生するリストの範囲を変えることができる点がとても良い。

試しにショートカットを作ってみる。
ホーム画面の右上のショートカットアプリのマークをタップすると、
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/f3ec027b-1c6c-4c09-f535-72ec3c78feed.jpeg">

ショートカットの編集画面のようなものが出てくる。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/3d722e4a-a585-58eb-1c73-6072602c64db.png">

このまま"Add Shortcut to Siri"を押すと、ショートカットアプリに全曲再生のショートカットが登録されている。"Shuffle"をオンにすれば全曲シャッフルのショートカットを登録できる。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/1dbeb952-8c17-e534-c55f-3330b4a69e17.png">

ここで注意点が1つ。**シャッフルのオンオフはこの画面で作成した時のみに変更可能で、ショートカット登録後には変更できない。**

ホーム画面の右上のショートカットアプリのマークをタップ後の画面で、青色で下線のある"All Songs"をタップすると、このように再生範囲を"Playlist"、"Album"、"Artist"、"Genre"から選び、どの範囲で再生を行うか選ぶことができる。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/73e7c6a5-8872-75a7-0f85-a2345d6b7b1f.png">

例えば、"Playlist"を選べばどのプレイリストを再生するかの選択が表示される。まぁ便利。一つ残念なのは"File"が選択できないこと。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/bb721484-2541-fa4e-b3cb-79ddc64b6833.jpeg">

試しにお気に入りの曲のプレイリストを作成し、シャッフル再生のショートカットを組んでみるとこんな感じになる。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/f1b65c2e-7351-4c4e-72e1-fd5d587846a8.png">

# ミュージック×ショートカットの使用例
これでようやくミュージックアプリをショートカットの支配下におけたので、いろいろとショートカットを作ってみることにした。

### 1. 帰宅時に自宅のBTスピーカーから自動でBGMが再生されるようにする
これが一番やりたかったこと。帰宅したら自然とジャズが流れている自室という環境が作ってみたかった。
以下のようにショートカットを組んでみた。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/4177124f-5308-edcd-3c64-2c9221d7e796.jpeg">
メディアの出力先をBTスピーカーに変更し、音量をちょうど良い大きさの45%に変更し、Ever Playでジャズのプレイリストを再生する、といった感じ。

これによって
玄関前でショートカット起動 -> 玄関の鍵解錠 -> リビングルームのシーリングライト点灯 -> デスクの照明点灯 -> ジャズが流れる
という一連の工程を全て自動化させることに成功した。

### 2. 複数の自動再生ショートカットから選択して自動再生する
ここで作成した複数の音楽再生ショートカットの中からどれか一つを選んで再生するショートカットを作成したいと思う。
構想としてはこんな感じ。
・プレイリストやアーティストの自動再生ショートカットをひたすら作る
・ショートカットアプリ内で1つのフォルダに集約する
・集約したフォルダ内から1つを選んで再生するようなショートカットを組む

まず、お気に入りのプレイリストなりアーティストなりを再生するためのショートカットを先ほど述べた手順で作成する。
次に、作成したショートカットを1つのグループにまとめる。Ever Playアプリのショートカット用のフォルダを作成し、そこへ先ほど作成したショートカットを登録する。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/060fd383-cd85-af6d-86a1-bc783b360838.png">

<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/bfacd19a-26e0-f424-277e-309f62b797e9.png">

そして最後に、そのフォルダを参照して1つのショートカットを選択して起動させるショートカットを組む。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/c7b6fcd2-284f-b614-8834-cd634720ae21.jpeg">

起動させた様子がこちら。
<img width="300" alt="Screenshot at Oct 27 18-00-47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330454/3f4b9791-daff-2a00-db6d-a9515ea247a2.gif">

### 余談
iTunesとミュージックアプリはいい加減FLACフォーマットの再生に対応しろ、以上。