テキストで音楽を表現する方法を調べた。

char-rnn で音楽生成したい

以前の記事で、char-rnn というものを試して、 坊ちゃんのテキストからテキスト生成をすることを試した。

これを音楽に応用してみたい。今回の記事はその準備として情報収集をした。

こういうテキストから LSTM を使って音楽を生成する試みは、いろんな人がやっている。 発端となっているのは、Andrej Karpathy 氏のブログ記事。

Andrej Karpathy さんは、Touch で char-rnn を実装している。

私は最近、TensorFlow や Keras による、char-rnn の実装を勉強した。

Keras が好きなので、勉強のために Keras で実装したいと考えている。

記譜法を調べた

ABC 記譜法

ABC 記法はわりと有名な記法。WikiPedia にも情報がある。

以下の特徴がある。

  • アスキー文字で音楽を表現
  • 関連ソフトウェアが豊富
  • 民族音楽に強い

ABC 記法から、五線譜に変換して再生する OSS.abcjs. これは凄い。

データベース・音源集

LSTM に応用した事例

**kern notation

マイナーな記法。

データベースにクラシック音楽の曲がたくさんあるのが魅力。

ツールとしては、music21 をつかう。これは、DeepJazz でも使われている。

music21 はデータベースが充実しているけれども、データ形式が XML 形式だから char-rnn には使えないかな。

LSTM に応用した事例

自力で midi から text 変換

そういう手法もある。欲しいデータがみつからなかったら、この手も使う。