[Work/Class/IPythonでアルゴリズム作曲とAI作曲]

IPythonでアルゴリズム&AI作曲

この授業の目的

プログラミング経験がない音大生が,MIDIを用いたアルゴリズム作曲を学習する.機械学習による作曲や,データから曲を作るなどの例も用意する.(音響は対象にしない)

概要

Jupyter NotebookやGoogle ColaboratoryなどのInteractive Python環境は,プログラムの経験がないアート系学生でもある程度容易にプログラミングができる.特にGoogle Colaboratoryでは自前で環境を構築しなくても良く,ファイル入出力機能もついているため,Standard MIDI Fileを生成し,それをダウンロードしてプレビューすることが非常に簡単に実現でき,アート系学生に向いている.

本授業ではGoogle ColaboratoryのIPython環境を使い,Python3とMidoというSMF生成ライブラリで,アルゴリズム作曲を行う.確率的な手法から,機械学習を使った手法まで,簡単にカバーする

コンテンツ

  1. 単純マルコフ過程で音高列を生成する
  2. 確率文脈自由文法でコード進行を生成する
  3. 遺伝的アルゴリズムでフレーズを生成1 - 教師あり学習の評価関数の設計
  4. 遺伝的アルゴリズムでフレーズを生成2 - 強化学習の評価関数の設計
  5. Q学習でフレーズを生成 - 非コード構成音とコード構成音のバランスの学習