読む論文まとめ備忘録
主にプロポーザルのために軽く読み漁ったりした論文ばかりだが、ちゃんとまとめる必要があると感じたのでまとめ。
MAPS - A piano database for multipitch estimation and automatic transcription of music
http://service.tsi.telecom-paristech.fr/cgi-bin/valipub_download.cgi?dId=205
これはピアノデータベースの論文。MIDI、WAVデータ共にそれなりの量のあるデータベースとなっている。コードはもちろん、細かいスタッカートなどのリズムも入っている(らしい。というか多分)。ちなみに配布先はこっち
「これは使ってみたい!」と思って利用のために情報登録をしてみたのだが、なぜかアクセスできない。アクセスできるようオープンしたってメールきたと思うんだけどな・・・
FTPSでChrome, Safari, Finderからやってみたがうまくいかず。後でメールしてみよう・・・
AUTOMATIC ARRANGING MUSICAL SCORE FOR PIANO USING IMPORTANT MUSICAL ELEMENTS
http://smc2017.aalto.fi/media/materials/proceedings/SMC17_p35.pdf
ピアノアレンジ楽譜自動生成の論文。ちょうど探していたトピックの論文だ。まだちゃんと読んで無いから把握しきってはいないけど、多分入力はバンドとか多楽器のMIDI入力。そっから不必要なリズムとかうまくリダクションしてピアノソロ譜面に起こすとかそんな感じ。演奏者がちゃんと弾けるよう、運指や両手への音の割り振りも考慮している模様。基本的にはルールベースの論文かなあと思った。実験結果とかはまだ見てない。ちなみに日本語でまとめているところもあるみたい。Songle使ってるとかだった気がするけどまだ読めてない。
こっちは直接リンク
https://staff.aist.go.jp/m.goto/PAPER/SIGMUS201708takamori.pdf
The Cyclic Beat Spectrum: Tempo-Related Audio Features for Time-Scale Invariant Audio Identification (2006)
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.127.5896&rep=rep1&type=pdf
論文自体は結構古い。局所的なビートを判定するとかそんな内容のもの。例えば普通の8ビートとシャッフルの判別ができるとか。
方法としてはスペクトログラムでオンセットのSpectral flux(だっけ?)を計算して(負の値になるなら0にするあれ)、次に自分自身の遅延を入力に使うコムフィルターっての適用する。そうすると同じ周期か繰り返しかなんかの所は共振するからピークが立つとか、そんな感じの内容な気がする。この辺は「大域・局所リズムパタンテンプレートマッチングに基づく楽曲の伴奏スタイル識別」(
)の方がわかりやすいかもしれない。一部は。
参考:
でもこの論文自分の研究に使えるのかな・・・一応スタッカートとそうじゃないものレベルのフレーム長を多楽器のWAVからどう特徴量を掴むかっていう問題の解決策としてあげたけど、正直直接的にこれでやれる気はしてない。まあ実装するならとりあえずここは後回しになりそう。
MUSIC/VOICE SEPARATION USING THE 2D FOURIER TRANSFORM
http://music.cs.northwestern.edu/publications/waspaa2017_seetharaman_pishdadian_pardo.pdf
正直まだよく読んでない。歌声と楽器音を分離する手法の一つとして使いたい、しかも2017だからまあ新しさ的にも古すぎる訳じゃないし良いかな位で選んだ。伴奏抽出では自分が大事だと思っている繰り返し構造に着目してるっていうから(確か)選んだ。ボーカル抽出ならU-NETとか他のISMIRの最新論文で良いのあるんじゃないかな多分。多分だけど。
REPET-SIM的なアプローチで
MUSIC/VOICE SEPARATION USING THE SIMILARITY MATRIX(http://www.cs.northwestern.edu/~zra446/doc/Rafii-Pardo%20-%20Music-Voice%20Separation%20using%20the%20Similarity%20Matrix%20-%20ISMIR%202012.pdf)の上位互換になるかなと思って選んだ論文。
ここに乗ってるやつ Vocal separation — librosa-gallery 0.1.0 documentation
ONSETS AND FRAMES: DUAL-OBJECTIVE PIANO TRANSCRIPTION
http://ismir2018.ircam.fr/doc/pdfs/19_Paper.pdf
オンセット、フレーム長、ベロシティの観点から深層学習使ってピアノの自動トランスクリプションやるタスク。結構使えそう。
少しまとめる
Onset and frame detectors
・CNN層アコースティックモデル構造で構成
・振幅のログをとったメル尺度スペクトログラムを使う
・spec. -> CNN -> RNN
Onset detector
・BiLSTMで構成
・両方向で128units
・出力が鍵盤88個のオンセットの確率を表す全結合のシグモイド層が次に続く
Frame activation detector
・出力88個の全結合シグモイド層
・出力はOnset detectorの出力と連結される
・その出力がBiLSTMに渡され、さらにそれの出力が全結合シグモイドに渡される
・閾値は0.5でonset detectorまたはframe detectorがアクティブかどうかをそれで決定する
RNNの学習効率化
・フル尺は学習大変だからオーディオファイル分割する
・20secで分けるのがバッチサイズとして良い
・ノートがアクティブでも分割しなきゃいけない場所はzero crossing 使う
損失関数
p_min/max : MIDIピアノロールのピッチの最大最小
T : フレーム数
I_onset(p,t) : ピッチp, フレームtにおいて検証データのオンセットが存在すれば1とする関数
P_onset(p,t) : ピッチp, フレームtにおける確率出力
CE : クロスエントロピー
※クロスエントロピー
https://mathwords.net/kousaentropy
オンセット損失関数のラベルでは, クォンタイズに先立って
音価をmin(note_length, onset_length)に切り詰める
-> 32msecがベストだから32msec(2フレーム分の長さと同じ)
I_frame(p,t) : 検証データにおいてフレームt中でピッチpの音がアクティブになっていれば1とする関数
P_onset(p,t) : フレームt中でピッチpの音が鳴っている確率出力
t1はノートの開始,t2はオンセットの終わり, y3がノートの終わり
オンセットの部分が正確なのが一番大事だからそこに大きい重みをつけておく
t2≤t≤t3の部分は音価が後ろに行けば行くほど小さくなる
これはあとでまとめられたらちゃんとまとめる
ANALYSIS OF COMMON DESIGN CHOICES IN DEEP LEARNING SYSTEMS FOR DOWNBEAT TRACKING
名前で惹かれた。ISMIR2018 新しい。
裏拍に注目しているのは気になるけどまだ何一つ説明できないので読むあとで。
OBTAIN: Real-Time Beat Tracking in Audio Signal
https://arxiv.org/ftp/arxiv/papers/1704/1704.02216.pdf
名前の通りリアルタイムビートトラッキング。OSS(オンセットのやつ)から検出するって点では割とよく見るやつ。それ以降はまだよく読んでない。
APPROXIMATE NOTE TRANSCRIPTION FOR THE IMPROVED IDENTIFICATION OF DIFFICULT CHORDS
https://pdfs.semanticscholar.org/d6d6/5865b60877c2a49c9d80b6a9194033a26381.pdf
コード推定タスク。ランダムフォレスト作ってなんちゃらとかだったけどよく覚えてないしわかってもいない。要調査。中途半端にスライド作ってある。
von Mises 分布DNNに基づく振幅スペクトログラムからの位相復元
随分前から見てんのに結局まとめてない
Grifin-Limアルゴリズムだと位相復元に変なアーティファクトとか残っちゃうから、DNNで解決しようって話。位相ロスと群遅延ロス使って、周期関数にも使えるVon Mises分布から位相復元しようって論文。
分野的に自分は使う機会無いかもしれない。