アオリちゃんの楽曲から歌声だけを抽出したかった話（eeic Advent Calendar 2018）

この記事は [eeic advent calendar 2018](https://qiita.com/advent-calendar/2018/eeic) の6日目の記事です。

# 概要
アオリちゃんをすこれ。

# もう少し詳しい概要
好きなキャラを自由に喋らせたい！
でも綺麗なデータがない！
綺麗なデータを作りたい！

ということで楽曲のボーカル抽出を試みたら意外に難しかったという話。

純粋にボーカル抽出に興味がある方は[Deep U-net を用いた歌声分離](https://qiita.com/xiao_ming/items/88826e576b87141c4909)の方が大いに参考になると思います。


# 君はアオリちゃんを知っているか

[スプラトゥーン](https://www.nintendo.co.jp/wiiu/agmj/index.html)というゲームをご存知だろうか。
去年の夏に続編となる[スプラトゥーン2](https://www.nintendo.co.jp/switch/aab6a/index.html)が発売され、現在もなお多くの人にプレイされているゲームソフトの第 1 作である。
今までにないカジュアルなシューティングゲームであるとか、インクを塗り合うという斬新なシステムであるとかで人気を博したと思うのだが、魅力的なキャラクターも大きな要因であると考えられる。

そのキャラクターの中でも異彩を放っていたのが、プレイヤーのナビゲータとして登場するアオリとホタルからなるアイドルユニット、シオカラーズである。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">彼女たちはイカ界のトップアイドルユニット「シオカラーズ」。<br>天真爛漫な「アオリ」とクールな「ホタル」の二人組で、バトルに関する情報番組「ハイカラニュース」の司会を務めているらしい。<br>トークはユルいが、歌唱力はバツグンだそうだ。 <a href="http://t.co/vfXYQufHbK">pic.twitter.com/vfXYQufHbK</a></p>&mdash; Splatoon（スプラトゥーン） (@SplatoonJP) <a href="https://twitter.com/SplatoonJP/status/597690395183583232?ref_src=twsrc%5Etfw">2015年5月11日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

私はこの 10 本足の歌姫たちに心を奪われてしまった。

僕はシオカラーズのラブリー元気担当 「アオリ」 推しであるので、アオリちゃんに関して何かしたいと考えていた。それで、声に関して何かできないだろうかという気持ちになった。

<!-- 何かのファンになった人物がやることは、対象のコンテンツに触れることであると言えるが、現実に存在するアイドルや、アニメ・漫画のキャラクターとは異なり、コンテンツの追加がほとんどないことが問題である。
知った時点でコンテンツが完成してしまっているので途中で盛り上がることができない。と思っていたがライブや新曲公開などがあって非常に素晴らしい体験ができました。感謝します。
-->

# アオリちゃんの声
キャラクターの声というのはそもそもいくつかのパターンを用意して喋らせるものが多く、その限られたパターンの声もおよそ人間の声とは似つかぬもの出ることがままあるものだが、シオカラーズはアイドルとして作られたキャラクターなので、歌声が存在し、声優も公開されている。アオリちゃんの声は声優さんが喋った音源を加工したものとなっている。

<blockquote class="twitter-tweet" data-conversation="none" data-lang="ja"><p lang="ja" dir="ltr">イカ界のトップアイドル「シオカラーズ」、アオリとホタルのボイスはこちらの方々にご担当いただいた。<br>楽曲の歌声はもちろん、ハイカラニュースなどのゲーム内のセリフまで、シオカラーズの音声はすべて彼女たちが吹き込んでいる。 <a href="http://t.co/SZYHjHjDoE">pic.twitter.com/SZYHjHjDoE</a></p>&mdash; Splatoon（スプラトゥーン） (@SplatoonJP) <a href="https://twitter.com/SplatoonJP/status/643349664905822208?ref_src=twsrc%5Etfw">2015年9月14日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


アオリちゃんの声優は keity.pop という名前で活動している[[twitter]](https://twitter.com/keitypop)。ご本人もシングル曲を出している.ツイッタープロフィールにリンクがあるので是非聴いていただきたい。なお、楽曲を聴く限りでは、元の声にアオリちゃんの面影はあまり感じられない[^maritime]。

彼女たちの歌は CD として発売されているため、合法的に入手可能である。
この中に、一部ではあるが、アオリちゃんの生声が収録されているので、これを見てみたい。(収録されているのはアオリ、ホタルそれぞれ 4 種類。実際には 20 種類以上パターンがありそう。）（ライブ[^siokalive]のMCで喋っていたのは追加で収録したのか、編集力の成せる技なのか、もともとたくさん録っていたのか謎である）（任天堂様におきましては是非収録音声を全部販売してほしいものであります）（オタク特有の括弧表現）

今回はその CD 音源をデータとして使用することにする。

CD 音源をそのまま載せるのは良くないのでスペクトログラムを載せる。
でも何いっているかわからないと思うので、筆者がシャドーイングした音声をのせます。（キモいので注意）
気になった方は[CD](https://www.amazon.co.jp/SPLATOON-LIVE-MAKUHARI-%E3%82%B7%E3%82%AA%E3%82%AB%E3%83%A9%E3%82%A4%E3%83%96-%E3%82%B7%E3%82%AA%E3%82%AB%E3%83%A9%E3%83%BC%E3%82%BA/dp/B01GCV3YTE/ref=sr_1_1?s=music&ie=UTF8&qid=1544089369&sr=1-1&keywords=%E3%82%B7%E3%82%AA%E3%82%AB%E3%83%A9%E3%82%A4%E3%83%96)を購入してください。

結論から言うと人間による発話は困難。(書き起こしができなさそう)（歌には歌詞がある）
みなさんがどのように書き起こすのかは知りたい。

- あ ひうずいず ... と聞こえる [筆者の声](https://drive.google.com/open?id=16VZRABOHJZ3T7gdIRXvrbCNhJY0aQ5nu)
![2_ori.png](https://qiita-image-store.s3.amazonaws.com/0/103698/bec42973-90d5-0c3e-04a5-68c81a80a747.png)

- えでぃばでぃえすくでぃ ... と聞こえる [筆者の声](https://drive.google.com/open?id=1Mpjqg2cNb5hCyFleIVpc-_Dd3rToA4pa)
![1_ori.png](https://qiita-image-store.s3.amazonaws.com/0/103698/f38d81b7-9c33-560e-c205-bdadc74f9913.png)

- ハスキーに笑ってる [筆者の声](https://drive.google.com/open?id=1Gy0gHsB0J6cNGEAzX8v60yDCIE7_yJW_)
![3_ori.png](https://qiita-image-store.s3.amazonaws.com/0/103698/03731675-1f5a-5417-22e2-3996c908a802.png)

- かきあたってるぅー （有名） ... と聞こえる [筆者の声](https://drive.google.com/open?id=1u9UJt3wAIIqJpHeLNJc5ki5ca46kaKor)
![4_ori.png](https://qiita-image-store.s3.amazonaws.com/0/103698/4260bd7a-c1f0-c8e4-7ebf-e3da875629a7.png)


# ボーカル抽出
歌付き楽曲から歌声だけを取り出したいというのはリミックスなどの場面で必要とされるようで、ググると情報が出てくる。しかし、そのほとんどが必要な音源としてオリジナル音源＋カラオケ音源を前提としているものであった。筆者は詳しくないが、楽曲CDにはおまけとしてオフボーカル版が入っていることが割とあるようである。しかし、シオカライブCDにはオフボーカル版は同梱されていない。

## オブボーカルデータを生成してから差分を取る手法
ボーカル除去はボーカル抽出は似ているようで割と違うようである。
筆者は [Audition](https://www.adobe.com/jp/products/audition.html) を使っているが、この中にボーカルを削除する機能がある。これを使うと全体の音は歪んでしまうものの、結構しっかりボーカルを消すことができる。
他にも簡単な手法としては、ステレオ音源の片方を位相反転させてもう片方と混ぜることで、位相反転の影響を受けない音（マイクの正面の音、すなわちボーカル）のみを除去することができる。雑だけれど。

このように何らかのやり方でオフボーカルデータを作ることができれば、ボーカル抽出ができるのではないかと考えたが、今回はやっていないです。オフボーカルデータがそこまで綺麗にできないので難しいのではという気もしている。

## 今回やる方法
ちゃんと書きたかったのだが時間がない。

音源分離タスクで使用される非負値行列因子分解を使用して、アオリちゃんの声のスペクトル基底を学習し、分離に用います。
教師ありNMFというやつです。

# 使用するデータ
- 前節で説明したアオリボイス

- 「トキメキ☆ボムラッシュ」[^sumabura]
  シオカラーズファン待望の追加楽曲としてシオカラーズ2ndライブで初公開されたソロ曲。ホタルちゃんは「スミソアエの夜」。　　　
[amiibo](https://www.amazon.co.jp/amiibo-%E3%82%B7%E3%82%AA%E3%82%AB%E3%83%A9%E3%83%BC%E3%82%BA%E3%82%BB%E3%83%83%E3%83%88-%E3%82%A2%E3%82%AA%E3%83%AA-%E3%83%9B%E3%82%BF%E3%83%AB-%E3%82%B9%E3%83%97%E3%83%A9%E3%83%88%E3%82%A5%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/B01G6LXXWI)を読み込ませることでゲーム中でも聞くことができる。
  ライブで初公開されたのだが、その様子は Youtube に上がっているので、興味がある方は参照されたし。[リンク](https://youtu.be/jOtjUG5PXlE?t=447)[^sinkyoku]

[^sinkyoku]: 筆者はこの場に居合わせたのだが、その時の興奮は筆舌に尽くしがたい。
[^sumabura]: 明日発売される大乱闘スマッシュブラザーズ SPECIAL にもアレンジ版が収録されるとのことなので是非チェックしてみてほしい。（[ここ](https://www.smashbros.com/ja_JP/sound/index.html)で視聴できる）

今回は、アオリボイスを使って学習を行い、トキメキ☆ボムラッシュの歌い出しの部分のみのボーカル抽出を行う。

# 結果

[オリジナル（音量注意）（一部だし許してほしい）](https://drive.google.com/open?id=1JxZqPuSlsLcGFYumqjHXBnhspbn2OGJd)

[分離したやつ](https://drive.google.com/open?id=1h-tIziwXBaxjGazw7ADMPy7t12esslRb)

駄目です。
なんか歌声の一部が取れている感じの結果になりました。伴奏っぽい音も入っていますね。
音声の調波構造を学習できていないのか子音っぽい部分しか分離できていない気がします。
ただ、学習用の音声データを増やすことで改善ができそうという感じがしますので、とりあえずやって見たにしてはうまくいったのかなと。

# Deep U-net で試してみた。

概要でちらっと書きましたが、純粋にボーカル抽出に興味がある方は[Deep U-net を用いた歌声分離](https://qiita.com/xiao_ming/items/88826e576b87141c4909)では、たくさんの楽曲データを使って学習した歌声分離器を作っています。素晴らしいことに、webアプリが公開されておりますので、試しに突っ込んで見ました。（大きなファイルは突っ込まないように注意してください!）

[すごい](https://drive.google.com/open?id=1aVcB9_XpV3JijvMQhtJvZsrSYodrCDi9)

もう、これでいいのでは。

# 所感
カラオケ音源無しのボーカル抽出はしんどい。
任天堂はオフボーカル版を売ってください！
スマブラ楽しみ。
記事書くの大変。（時間があったら加筆します（しない））

[^siokalive]: なんと単なるゲームキャラクターなのにライブが複数回行われている。シオカライブで検索。
[^maritime]: バラード調のシオカラーズ楽曲「マリタイム・メモリー」についてだけはそこはかとなく似ている気もする。ちなみに「マリタイムメロディ」というはっぱむしさんの作品は最高です。