ぜろといち

ポンコツ理系大学院生による雑多なブログ

学会用ポスターの作り方, TexClip

alcove.hatenablog.com

学会用ポスター作るなら目を通しておくと良さげ。

高道さんのvon Mises 分布DNNに基づく振幅スペクトログラムからの位相復元のポスターも非常にわかりやすくて参考になるからおすすめ。

 

TexClipはTexで書いた数式を画像として保存できる便利なWebサービス

スライド作りのお供に。

texclip.marutank.net

 

作図(draw.io)備忘録

最近研究のプロポーザルのためにkeynoteでスライドを作っていたが、keynoteだと良い感じの作図ができないのでひたすらdraw.ioを使っていた。パワポの方がこの辺使いやすさを感じるのはまだMacに慣れていないからだろうか。

 

作図の時にオブジェクトや処理のノードの形状がバラバラみたいな形で指摘されたので、どのように図を描けば良いか少し調べて見た。けど正解はまだよくわからない・・・ 一応参考。

アクティビティ図 - Wikipedia

 

あとdraw.ioでグループ化したものはやりすぎるとどこに何くっついてるかわからなくなるから、必要なら一旦全部グループ解除した方が使いやすい。

あと矢印は折れ線選ぶと永遠にまっすぐの矢印できない罠にはまったりするから注意。折れ線にするときは高さ合わせて調整。じゃないと変な向き向いたままになったりする。

 

学会発表先の検討

まだ何一つ研究が進んでないが、提出できる場所があって漠然と提出するっていう目標があるだけでもモチベーションが変わる気がするので、分野的に関係のありそうな所をあげて見る。

 

音学シンポジウム2018(第119回 音楽情報科学研究会・第122回 音声言語情報処理研究会 共催研究会)

音楽情報科学研究会 » 音学シンポジウム2018(第119回 音楽情報科学研究会・第122回 音声言語情報処理研究会 共催研究会)発表募集

ポスター発表申込要領

申込締切:2018年4月26日(木)延長しました
原稿締切:2018年5月24日(木)

日時・会場

日程:2018年6月16日(土)、17日(日)

特に査読も無いし、流石にこれは出せるのでは・・・いやあまりたいそうな事は言えない。

 

ISMIR 2019 - 20th International Conference on Music Information Retrieval (ISMIR 2017)

ISMIR 2019 - 20th International Conference on Music Information Retrieval (ISMIR 2017)

Date2019-10-23 - 2019-10-28

Deadline2019-04-28

VenueDelft, Netherlands, The Netherlands, The

ここに通ればもう目標達成と言っても過言では無い。まあ間に合う気はあまりしていないが。

 

SMC 2019 - 16th Sound & Music Computing Conference
28-31 May 2019, Málaga, SPAIN

SMC 2019 Summer School 25-28 May 2019

https://groups.google.com/a/ismir.net/forum/#!topic/community/1uZ0LBmOgIk

* Call-for-paper (deadline January 31, 2019)
http://smc2019.uma.es/callforpapers.html

* Call-for-music (deadline January 31, 2019)
http://smc2019.uma.es/music.html

* Call-for-demo (deadline March 31, 2019)
http://smc2019.uma.es/demosubmission.html

* Summer School (Summer School application deadline March 31, 2019)
http://smc2019.uma.es/Summerschool.html

流石に前者は締切的に無理だろう。後者なら・・・でもISMIRより1ヶ月も締切早い。厳しめ。

 

もう少し音楽情報処理系でいけそうな所があれば知りたい。

 

読む論文まとめ備忘録

 主にプロポーザルのために軽く読み漁ったりした論文ばかりだが、ちゃんとまとめる必要があると感じたのでまとめ。

 

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データ共にそれなりの量のあるデータベースとなっている。コードはもちろん、細かいスタッカートなどのリズムも入っている(らしい。というか多分)。ちなみに配布先はこっち

MAPS Database – A piano database for multipitch estimation and automatic transcription of music « ADASP

「これは使ってみたい!」と思って利用のために情報登録をしてみたのだが、なぜかアクセスできない。アクセスできるようオープンしたってメールきたと思うんだけどな・・・

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使ってるとかだった気がするけどまだ読めてない。

ipsj.ixsq.nii.ac.jp

こっちは直接リンク

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にするあれ)、次に自分自身の遅延を入力に使うコムフィルターっての適用する。そうすると同じ周期か繰り返しかなんかの所は共振するからピークが立つとか、そんな感じの内容な気がする。この辺は「大域・局所リズムパタンテンプレートマッチングに基づく楽曲の伴奏スタイル識別」(

https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=177624&item_no=1

)の方がわかりやすいかもしれない。一部は。

参考:

Comb Filter

フィルタバンク - Wikipedia

コムフィルタ - Wikipedia

でもこの論文自分の研究に使えるのかな・・・一応スタッカートとそうじゃないものレベルのフレーム長を多楽器の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

http://www.cs.northwestern.edu/~zra446/doc/Rafii-Pardo%20-%20Music-Voice%20Separation%20using%20the%20Similarity%20Matrix%20-%20ISMIR%202012.pdf

名前で惹かれた。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分布から位相復元しようって論文。

分野的に自分は使う機会無いかもしれない。

 

 

 

 

 

 

 

 

論文のリファレンス方法備忘録

近々研究のプロポーザルがある関係で、自分の発表用スライドに論文のリファレンス方法を調べていた。(もっと前からちゃんと理解していろという話だが・・・)

参考にしたサイト

u-note.me

navi.pep-rg.jp

まずWebサイトを文献に含めるときだが、navi.pep-rg.jp では

インターネットのWebサイトの場合

  • サイト名. (情報の出された年). ページ名, Retrieved 取得年月日, from URL
  • Tanya Reinhart. (n.d.). Personal pages of Tanya Reinhart, Retrieved June 17, 2011, from http://www.let.uu.nl/~tanya.reinhart/personal/
    • 上記例の n.d. は nodate の略で、サイトの情報がいつ作成されたのか分からない場合に用いる

とあった。例えばBand in a Boxのサイト(http://www.pgmusic.com)では

サイト名が「PG Music Inc.」 、ページ名が「Band-in-a-Box, RealBand, and more」になる(多分)ので、書き方は

[1] PG Music Inc. (2018). Band-in-a-Box, RealBand, and more, Retrieved November 8, 2018, from http://www.pgmusic.com

こんな形になるはずだ。情報の出された年はどう調べれば良いんだろうか・・・

ちなみにサイト名とページ名については、教えてgooの情報によると(サイト名ってなんですか? -全くの初心者でお恥ずかしいのですが、、、- その他(暮らし・生活・行事) | 教えて!goo)ブックマーク登録をするときにわかる模様。

例えばBand in a BoxのサイトでSafariブラウザからブックマークする場合、以下のような画像が出てくる。

f:id:ray2480:20181108224014p:plain

この場合、ハイフンより手前がサイト名で後ろがページ名である。まあ教えてgooの投稿にこのことが明示されていた訳では無いのであくまで予想だが間違ってないだろう。多分。

 

論文の引用については、その論文自体を開くよりは、その論文の被引用リストを見た方が早いだろう。なぜならその論文を引用しているから、参考文献の部分からコピペすればすぐ見つけることができるからだ。いちいち学会とかの部分を手打ちしなくても済む。もっといい方法はあるのかもしれないが・・・

ちなみに手打ちする場合は以下のようになる。(これもnavi.pep-rg.jp から)

論文の場合

  • 著者名字, (ミドルネーム+)名前のイニシャル. (出版年). 論文名. 論文の掲載されている雑誌名, 巻(号), 掲載ページ.
  • Hagiwara, H. & Caplan, D. (1990). Syntactic comprehension in Japanese aphasics: Effects of category and thematic role order. Brain and Language, 38, 159–170.
  • Bilmes, J. (1988). The concept of preference in conversation analysis. Language in Society, 17(2), 161–181.

日本語の場合、複数著者の場合はカンマ区切りで入れるか、「〜ら」と書くのが良いだろう。英語の場合は M. Goto et al.のように書けば良い。この辺は実際の論文を見れば良いだろう。

英語なら例えばこれとか(AUTOMATIC ARRANGING MUSICAL SCORE FOR PIANO USING IMPORTANT MUSICAL ELEMENTS http://smc2017.aalto.fi/media/materials/proceedings/SMC17_p35.pdf

あと最後のページ数はpp.xxx-yyyって書いてるのが多い。でもそうじゃ無いのもある。

あとは

Kurth, F., Gehrmann, T., Muller, M.: The Cyclic BeatSpectrum: Tempo-Related Audio Features for Time-Scale Invariant Audio Identi cation, In ISMIR, VictoriaCanada, 2006.

みたいにコロンをタイトルの前と後に入れるとか、ダブルクォーテーションで囲うとか。色々流儀はあるっぽい。まあ統一性が出せればいいんじゃ無いかと。

あと雑誌名、巻、(号)、ページの順番も覚えておくこと。日本語でもこれは同じ。

 

ブログ開設設定備忘録

はてなブログ開設する上に当たって参考にしたサイト

hitodeblog.com

ただはてなブログに情報登録するだけだったので大した手間でもなかったし確かに一瞬で終わった。

訪問者を確認するためにGoogle Analyticsを設定したいが、なぜかGoogle側でアクセス拒否されてしまって上手くいかなかった。まあ試行錯誤した時間は10分程度だからまた今度トライしてみる。

確認したサイトは以下2つ

初心者向け!グーグルアナリティクスの設置・初期設定方法! | 完全初心者のためのブログの始め方

【図解】初めてのGoogleアナリティクス導入&設定と使い方|ネットECの基本|通販・ECの決済代行サービス|ヤマトフィナンシャル

 

結構前に独自ドメインまでとって開設したサイトがあるのだが、めんどくさくなってしまって結局何も動かせていない。いずれはそちらに移行させたいがひとまずはここで色々と慣れてからにする予定。とにかく今のところ雑多な事しか書け無さそうだし。

その内技術的な部分が詳しく書けそうならQiitaとかスライドシェアに投稿してもいいかもしれない。というかそのうちそうしたい。

初めてのブログ

初めてWebサイト開設してみました。

基本的には備忘録として書いていくつもりです。とにかくアウトプットが大事だと思うので毎日書くのが目標。

・・・とかいって2日と持たずに終わってしまうのが常。なので3日に1回は更新したい。とりあえず1週間は毎日書き続けることを目標にする。どんな内容でも。

 

もうすぐ自分の研究のプロポーザルがある。就活が本格的に始まるまでには自分の研究を何かしら形にはしたい。仮にも情報系の大学院生にも関わらず今までほとんどコードすら書かずここまで来てしまった。この前ダメもとで受けた企業でコーディングテストを受けたが、大した問題でもないのにボロボロの結果だった。実装力皆無すぎてつらい・・・

このままではいけないのでAtCoder(?)とか競技プログラミングとかやって実装力鍛えたい。よくわかってないけど。あとTOEICもやらなきゃ。できればシスコもやりたい。この前受けたネットワークスペシャリスト受かってる可能性低いと思うから尚更。

 

とにかく色々と時間のない日々なので、上手く時間を作ってどれもそれなりのレベルまでにはこなしたい。あ、ピアノの動画も作らなきゃ・・・

 

とりあえずは実装したコードや読んだ論文などのアウトプットとして使うのが今のところの使い道になりそうこのブログ。

ということで雑多に書いちゃったけど以上!