プログラミング

エンジョイSwiftUIプログラミングその40(img2Mxml:その1arXiv論文公開)

AWS上のWebアプリやGitHub上のGoogle Colab用Jupyter Notebookの「楽譜写真からMusicXMLを作成して音楽を奏でるアプリimg2Mxml」のアルゴリズムをarXivに論文発表しました。

https://arxiv.org/abs/2106.12037

MMdA法(Measure-based Multimodal Deep Learning-driven Assembly」は、ピアノ楽譜の「小節」をまず、ディープラーニングのモデルで抽出し、その小節を並べ替えてサイズ変更して、次に音楽記号要素(パーツ)を認識する複数のディープラーニングモデルで各小節について推論を実行し、その結果をある決まりに従って組み立てるというのが骨子です。

各小節を認識して単位として処理することで、ディープラーニングモデルのtrainingが非常に効率的にできるようになり、また、各小節ごとに五線譜を水平化し、その間隔を正確に位置決めできるという顕著な効果を奏することがわかりました。

また、複数の音楽記号要素モデルとその中で認識する少数の特徴タイプを、五線譜の位置と共に同定することで非常に多数の音楽記号が組み合わせの効果で表現できることがわかりました。また、これまで難しかった和音もある程度複雑なものも認識し、またvoice(声)もある程度自動で割り当てることにも成功しました。

簡単にその処理を示したフローチャートを示します。

詳しくは論文を参照くださいませ。

この「エンジョイSwiftUIプログラミング」ではSwiftのコードではないですが、将来的にはSwiftにPythonで書いたディープラーニングのモデルを組み込もうとおもっているので、img2MxmlアプリのPythonコードをGoogleColabで実行する部分の解説をしばらくしてみようかなと思います。

まずは、GitHubの公開ソースコードを見てみてください。

赤枠の「img2xml.ipynb」がGoogleColab用のJupyterNotebookですので、クリックください。

赤枠の「Open in Colab」のバナーをクリックするとGoogleColabのJupyterNotebookが開きます。

次回からはしばらくこのNotebookのコードを順に解説してみようかな?と思っています。

関連記事一覧

コメント

この記事へのコメントはありません。