Upload
takahiro-kubo
View
1.814
Download
2
Embed Size (px)
Citation preview
Next Music Production
by Google Magenta
by icoxfog417 @Tech Circle #23
Lecture Part1 Introduction to Music Generation
♪ Today’s Goal
♪ 音楽生成、その挑戦の過程
♪音楽生成の歴史
♪生成方式の類型化
♪さらなる発展へ向けて
♪ Google Magentaとは
Agenda
Lecture Part2 Dive into Google Magenta
♪ Google Magentaの仕組み
♪Magentaにとっての「音」と「音楽生成」
♪Neural Network: シンプルなモデルによる、「音」の予測
♪RNN: 「メロディー」をとらえた生成への挑戦
♪LSTM: より長いメロディーの理解への挑戦
♪Lookback: 「リピート」への着目
♪Attention: 「キーポイント」をとらえたメロディーの生成へ
Agenda
Hands-on Part
♪ Hands-on Goal
♪ Magentaで、MIDIデータを学習させて音楽を生成する
♪ Magentaで作成したモデルと共演して、音楽を制作する
Hands-on document is available here.
At the End
♪ Toward the Next Music Production
Agenda
ABOUT ME
About Me(1/3)
久保隆宏 TIS株式会社 戦略技術センター
♪ 化学系メーカーの業務コンサルタント出身
♪ 既存の技術では業務改善を行える範囲に限界があるとの実感から、戦略技術センターへと異動
♪ 現在は機械学習や自然言語処理の研究・それらを用いたシステムのプロトタイピングを行う
icoxfog417
OpenAI Gymを利用した、強化学習に関する講演 (@PyConJP 2016)
kintoneアプリ内にたまったデータを簡単に学習・活用 (@Cybozu Days 2016)
機械学習のビジネスへの適用/音楽生成で同人誌ダブル出展 (@技術書典2 2017)
About Me(2/3)
所属するチーム chakki のミッション
すべての人が、ティータイムに帰れる社会を実現する
すべての人が、ティータイム(15:00)に帰れる(茶帰)社会の実現を目指します。 この実現には、既存の仕事を効率化するのでなく、根本的に「仕事の仕方」を変える必要があります。 しかし、慣れた仕事の仕方というのは簡単には変わりません。だからこそ、実際に「体験」をし、効果を「実感」してもらうことが重要になります。 そのため、私たちは先進的技術を用い、仕事の仕方が変わる体験を提供していきます。
About Me(3/3)
♪ まずは自分たち(システム開発者)が帰れるようにする
♪ 自然言語処理/機械学習を活用する
Elephant Sense
「質の高い」文章を検索するための試み。ビュー数やいいね数だけでなく、コンテンツの品質の評価も行う。
karura
予測に使う項目と、予測する項目の指定のみで機械学習モデルを自動作成するkintoneプラグイン。
arXivTimes
論文の一言サマリをGitHub上で共有する取り組み。併せて会社共同での論文輪講も実施中(Twitterもやってます)
Lecture Part1
Introduction to Music Generation
♪ 機械学習による音楽生成について、その仕組みを知る
♪ Google Magentaを利用した音楽生成の手順を身に着ける
♪ 音楽制作を始めたくて仕方がなくなる
Today’s Goal
音楽生成、その挑戦の過程:音楽生成の歴史(1/5)
音楽の自動生成は機械学習の特権ではなく、古くから現在に至るまで、様々な試みが行われています。
♪ モーツァルトによる「音楽のサイコロ遊び」(1780~?)
♪サイコロを2つ使って、合計の目と小節の位置からあらかじめ決められたフレーズを選択し、作曲を行う方法
♪ 総音列技法(1949~)
♪1オクターブにおける音階は半音を含めると全12音となるが、これらを等しい確率で出現させるようにすることを十二音技法という。
♪この十二音技法を音色や強弱などにも適用し、音列を管理する手法
♪ イリアック組曲(1950~)
♪イリノイ大学のレジャレン・ヒラー(Lejaren Hiller)とレオナルド・アイザックソン(Leonard Isaacson)が、大学のコンピュータILLIAC を使って作曲したもの。
♪世界初のコンピューター音楽とされている。
音楽生成、その挑戦の過程:音楽生成の歴史(2a/5)
Let's Listen!!
モーツァルトによる「音楽のサイコロ遊び」
音楽生成、その挑戦の過程:音楽生成の歴史(2b/5)
Let's Listen!!
Lejaren Hiller - Illiac Suite for String Quartet [1/4]
イリアック組曲第一楽章
コンピューターの性能が向上するにつれ、音楽制作のプラットフォームもソフトウェア (DAW=Digital Audio Workstation)へ移行していきました。
それに伴い、音楽生成の機能もDAW上で作曲支援などの形で実装されてきています。
音楽生成、その挑戦の過程:音楽生成の歴史(3/5)
Chordana Composer(CASIO) 思いついたフレーズを2小節分だけ入れれば(マイクからの入力も可能)、あとはジャンルや曲調などを指定するだけで自動的に楽曲を生成してくれる。豊富な音楽的知識に基づくルールで生成を行っている。
Amper Music 「AIを利用した」楽曲制作を行うクラウドプラットフォーム。楽曲のスタイル(クラシックなど)、ムード、そして曲の時間を入力すると生成を行ってくれる。ただ、同じパラメーターでは同じ曲になる模様。
音楽生成、その挑戦の過程:音楽生成の歴史(4a/5)
Let's Listen!!
CASIO Chordana Composer×CZ App for iPad with MISELU C.24
音楽生成、その挑戦の過程:音楽生成の歴史(4b/5)
Let's Listen!!
Amper Music
音楽生成、その挑戦の過程:音楽生成の歴史(5/5)
Sounds Good?
音楽生成、その挑戦の過程:生成方式の類型化(1/5)
音楽生成のプロセスは、以下のように図式化できます。
Resource Composer
Adapter
Audio
♪ Resource: ノートやパターン、音声など、音楽生成の素となるもの
♪ Composer: ルールや統計モデルなど、Resourceを組み合わせるモデル
♪ Adapter: Composerの出力に対し調整などを行うモデルやルール、あるいは人による調整(SonyのFlow Composerはこのアプローチ)
音楽生成、その挑戦の過程:生成方式の類型化(2/5)
Pattern Random
Sampling
モーツァルトによる
「音楽のサイコロ遊び」
Note
Hidden
Markov
Model
イリアック組曲 終楽章 (※第1・2は対位法を利用、第3は総音列技法に近い方式)
Audio
Audio
Pattern/
Note
Rule
Table
ルールベースの音楽生成プラグイン/自動化されたループシーケンサ
Audio
音楽生成、その挑戦の過程:生成方式の類型化(3/5)
Google Magenta Takes
This Approach!
Notes
(MIDI)
Neural
Network
Audio
(MIDI)
※ニューラルネットによる音楽生成は別にMagentaの特権ではないので、他でも利用されている(後述)
音楽生成、その挑戦の過程:生成方式の類型化(4/5)
Let's Listen!!
Attention RNN Melody 2
音楽生成、その挑戦の過程:生成方式の類型化(5/5)
Sounds Good…?
音楽生成、その挑戦の過程:さらなる発展へ向けて(1/6)
現在の状況
今の所統計モデルとして優秀なニューラルネットワークであっても、単にストレートに利用するだけではなんともいえない音楽どまりです。
ルールによる定義は成果を上げていますが、今から新しい音楽規則が編み出されるというのも期待が薄いです。
さらなる発展へ向けたアプローチ
そこで、さらなる発展へ向けたアプローチとして以下のような試みが行われています。
♪ モデルの改善
♪ 学習方法の改善
♪ ルールの考慮
♪ さらなるデータの投入
音楽生成、その挑戦の過程:さらなる発展へ向けて(2/6)
モデルの改善:音楽のより複雑な構造を捉えられるように、ネットワーク構成を工夫する。
♪ SampleRNN: An Unconditional End-to-End Neural Audio Generati
on Model (ICLR 2017 Accepted Paper)
♪ Structured Attention Networks (ICLR 2017 Accepted Poster)
Attentionという系列データへの「着目点」を学習させる技術について、その着目に規則性(Structure)を仮定する手法。音楽という系列の背景には複雑な音楽法則が絡むので、それが学習できるかも、しれない。
長い時系列上での関係を捉えるために、RNNを階層状に積んで上の方ほど長い間隔の依存をとらえるのを担当させる(最下層のネットワークは通常のニューラルネット)。
音楽生成、その挑戦の過程:さらなる発展へ向けて(3/6)
学習方法の改善:単に音符の流れを学習させるのではない、他の学習方法を試みる。
♪ TUNING RECURRENT NEURAL NETWORKS WITH REINFORCEME
NT LEARNING
音楽生成を強化学習で学習させる手法の提案。Actionは音符を選ぶことで、Rewardは実際の曲で出現する確率に沿っているか、そして音楽理論に適合しているかという2つの評価で構成される。
♪ MidiNet: A Convolutional Generative Adversarial Network for Sy
mbolic-domain Music Generation using 1D and 2D Conditions
音楽生成をGANで行う手法の提案。1小節の音楽を時間(小節内の位置)x音(MIDIの128音)の2次元で表現し、これと1次元の和音情報を組み合わせマップを作成し、GAN(Generative Adversarial Network)の機構で学習させる。
音楽生成、その挑戦の過程:さらなる発展へ向けて(4/6)
ルールの考慮:せっかく培った音楽理論が存在するのだから、その音楽理論を考慮する構造を作成する試み
♪ Song From PI: A Musically Plausible Network for Pop Music Generation (ICLR2017 Workshop)
ネットワークを音符(キー)、その長さ(キー+長さでメロディー)、さらに和音、ドラムと4つに分けて構成する。既存のポップミュージックを解析し、あり得るコードや和音で生成範囲に制限をかけて学習を行っている。
音楽生成、その挑戦の過程:さらなる発展へ向けて(5/6)
さらなるデータの投入:もっと学習データがあればいけるのでは?という。
♪ AudioSet
♪ Neural Audio Synthesis of Musical Notes with WaveNet Autoencoders
1006の楽器による単音が30万ほど収録されているデータセットと、それをWaveNetの仕組みを利用し学習させたモデル(NSynth)。
Googleが公開した音声の大規模データセット。YouTubeから抽出した10秒程度の音に、人の声や車の音といった632のラベルが付与されている。その数その数200万。
音楽生成、その挑戦の過程:さらなる発展へ向けて(6/6)
What will you do?
Google Magentaとは(1/2)
Magentaはディープラーニングの研究結果をアートに適用するためのプロジェクトで、米Google社の人工知能部門であるGoogle Brainによって開発されています(プロジェクト名でもあり、ソフトウェア名でもある)。
ソースコードは公開されており(オープンソース)、開発はGitHubにて行われています。ちなみに音楽だけでなく、絵画(Style Transfer)のモデルも提供されています。
Google Magentaとは(2/2)
Google Magentaを利用するメリット
さらなる研究のスタートポイントとして
Google Magentaを利用することで、先に上げた研究の入り口まですぐにたどり着くことができます。また、その先のモデルを構築する際に付属の仕組み(音楽データの読み取りなど)は有用です(だがPython2)。
さらなる活用のスタートポイントとして
学習済みのモデルが提供されているため、あまり難しいことが分からなくても研究成果を利用すること可能です。実際、AI Duetのような動かすことのできるアプリケーションも公開されてます。
Let’s Go with Magenta!
Lecture Part2
Dive into Google Magenta
ここでは、Google Magentaがいったいどういう仕組みで「音楽生成」を行うのか、その仕組みを見ていきます。解説順序は、以下の通りとなります(これはSIGNAL本と同様になります)。
♪ Magentaにとっての「音」と「音楽生成」
♪ Neural Network: シンプルなモデルによる、「音」の予測
♪ RNN: 「メロディー」をとらえた生成への挑戦
♪ LSTM: より長いメロディーの理解への挑戦
♪ Lookback: 「リピート」への着目
♪ Attention: 「キーポイント」をとらえたメロディーの生成へ
Google Magentaの仕組み
Magentaが扱う音声はMIDIデータになります。MIDIデータは通常の音声データ(WAVファイルなど)と異なり、どの音が、いつどれくらいの長さ鳴るか、などといった情報を持っています。
MIDIデータはイメージ的には「楽譜」の情報に近く、これに対して普通の音声データはその楽譜に基づいて「演奏された音」を記録しているものという関係性になります。
Magentaにとっての「音」と「音楽生成」(1/3)
MIDIデータ 楽器
(MIDIシーケンサ)
ROLAND ( ローランド ) / JD-Xi
音声 (Audioトラック)
Audio
MIDIデータを扱うメリットは、音声の状態ではわからない「音符」が分かることです。
つまり、音楽を波形ではなく記号列として扱うことができます。
Magentaにとっての「音」と「音楽生成」(2/3)
つまり、Magentaにとっては
♪ 「音」:記号(音符)
♪ 「音楽生成」:記号列の生成
となります。これにより、生の波形よりも格段にデータが扱いやすくなります(生のデータの場合、数万/秒のデータを扱わないといけないので)。
なお、記号(音符)は実際には以下のような数値列として扱われます。
Magentaにとっての「音」と「音楽生成」(3/3)
これを、OneHotVectorといいます(一箇所だけ1が立っている)。
Magentaでは、MIDIデータの中に含まれる音符列を、このOneHotVectorの羅列に変換しています。これが学習のためのデータの素になります。
0
0
0
1
0
0
ド
レ
ミ
ファ
ソ
ラ
・ ・ ・
・ ・ ・
Magentaの仕組みを図式化すると、以下ようになります。
Neural Network: シンプルなモデルによる、音の予測(1/3)
Neural
Network
Notes
(MIDI)
Notes
(MIDI)
入力された音符の、「次」の音符を予測する
実際の音楽の「次の音」と比較し、 間違っていたら修正を行うようにする。
※ニューラルネットワークの詳細については割愛します。気になる方はこちらご参考ください。
一つの音符から次の音符を予測するより、より多くのそれまでの音符の情報があった方が、当然次の音符の予測は正確になります。
Neural Network: シンプルなモデルによる、音の予測(2/3)
なので、モデルにも多くの「それまでの音符の情報」を入力したい所です。すると・・・
Neural Network: シンプルなモデルによる、音の予測(3/3)
3音前
2音前
1音前 入力が増えるほどネットワークが肥大化する!
そこで・・・
RNN(Recurrent Neural Network)は、ネットワーク内に再帰的なパスを設けることで、入力層の爆発に対応したものです。これにより、長期にわたる入力も扱うことができます。
RNN: 「メロディー」をとらえた生成への挑戦(1/2)
2音前
1音前
入力層を増やす代わりに、 前回の隠れ層の内容を、次の入力と併せて入力する
イメージ的には、隠れ層が再帰的(Recurrent)に入力されている形になります。
RNN: 「メロディー」をとらえた生成への挑戦(1/2)
ただ・・・
RNNは結局のところ、ものすごい長いニューラルネットワークと同等になります。
RNN: 「メロディー」をとらえた生成への挑戦(2/2)
・・・
最初の入力から最後の出力まではとても長くなり、どんどん薄れていってしまう。
そこで・・・
LSTM(Long short-term memory)は、RNNに「必要な情報だけ覚えて」おけるようにする仕組みを導入したものです。
具体的には、以下のような機構になります。
LSTM: より長いメロディーの理解への挑戦(1/2)
RNN LSTM
※LSTMの図については、全体像が分かるよう細かい伝搬の矢印を省いています。
詳細を確認したい方はこちらを参照ください。
Input Gate: 記憶への書き込みを担当
Output Gate: 記憶から読み出しを担当
Context: 記憶装置
Forget Gate: 記憶の維持・消去を担当
LSTM: より長いメロディーの理解への挑戦(2/2)
記憶を保持するContextを中心に、それぞれ書き込み、読み出し、維持/消去を担当する3つのGateが配置されています。
このような構成を取ることで、「何を書き込むべきか」、「何を読み取るべきか」、そして「何を覚えておくべきか(忘れるべきか)」といったことを学習できます。
これにより、長い系列の中でも予測に重要となる情報は忘れずにキープすることができます。
さらに・・・
メロディーは単なる音符の羅列ではなく、その背景には作曲者の意図した構造があります。その構造をうまくとらえることができれば、より良いメロディーの生成が可能になります。
Lookbackは、メロディーの「リピート」(繰り返し)の構造に着目するための仕組みです。具体的には、以下の追加情報をモデルに入力します。
1. 直前の音以外に、1小節前と2小節前の音も入力
2. 直前の音が、1小節前もしくは2小節前の音の繰り返しかどうかを入力
3. 4/4拍子とした時の、音符の小節内の位置の情報
1, 2により「どのパート」が、3により「どこで」繰り返されているのか捉えようということです。
Lookback: 「リピート」への着目(1/2)
Lookback: 「リピート」への着目(2/2)
これによって、 今の音の流れが「繰り返し」なのか、新しいメロディーへの展開なのかを学習させます。
1小節前の繰り返しか
2小節前の繰り返しか
1小節前の音
2小節前の音
・ ・
・ ・
さらに・・・
2番目 小節内の位置(実際は2進数で表現)
Lookbackでは明確に「リピート」という部分に着目しましたが、もっと漠然と人が「キーポイント」と感じるポイントを学習させることはできないでしょうか。
これを実現するのが、Attentionと呼ばれる仕組みです 具体的には、予測をする前に流れた音について、「どこが重要か」を表すスコアを算出して、それを生成時に活用する仕組みです。
Attention: キーポイントをとらえたメロディーの生成へ
計算した重要度に応じて過去の情報のフィードバックを行う。
学習の過程で、重要度の計算に使用するパラメーター自体も学習させる。
Google Magentaの仕組み
You understand
Almost all of Magenta!
ここまで理解できていれば、 ほぼOK!実践に入りましょう!
Hands-on Part
Hands-on Goal
ここからは、実際にMagentaを利用して楽曲の生成をしていきます。
ハンズオンのゴールは、以下2点となります。
♪ Magentaで、MIDIデータを学習させて音楽を生成する
♪ Magentaで作成したモデルと共演して、音楽を制作する
ハンズオンの資料は以下となります。
http://bit.ly/2oA72xa
MagentaでMIDIデータを学習させ、音楽を生成するプロセスは全体として以下のようになります。
1.Magentaで、MIDIデータを学習させて音楽を生成する
2.Magentaで作成したモデルと共演して、音楽を制作する
作成したモデルとセッションし、音楽を制作してみましょう!
At the End
テクノロジーが音楽の世界を変えることがある。
先日亡くなられた梯郁太郎(かけはしいくたろう)氏は、Rolandの創業者でMIDI規格の生みの親となった方。
特に開発した「TR-808」というリズムマシン(1980~)は現在でも利用されており、Ableton LiveやLogicなどといった著名なDAWには音源が組み込まれている(ピコ太郎のPPAPでもつかわれている)。
「もし彼が機材、MIDIを開発しなかったら、特にその影響が大きい、ダンスミュージックシーンにおいては、現在知られているジャンルのほとんどは存在しない」 (なぜミュージシャンはローランド創業者の訃報を受けて、悲しみに暮れたのか より)
Toward the Next Music Production(1/3)
機械学習というテクノロジーも、音楽という世界を変えるかもしれない。
♪ 音楽制作を行う方に、いち早く機械学習でできることを正確に伝える
♪ 機械学習エンジニアに、音楽への適用の可能性・面白さを伝える
異なる技術的バックグラウンドを持つ人々を互いに巻き込むことで、新しい音楽が生まれる環境を作りたい・・・ということで、本イベント及びSIGNALは執筆されています。
Toward the Next Music Production(2/3)
最近では、アート領域におけるいわゆる人工知能関連技術の応用を紹介するサイト「create with.AI」の記事の執筆も行っています、
Toward the Next Music Production(3/3)
Let's dive into the
Next Music Production Now!
Chris Marchant
THANK YOU!
参考文献(1/2)
Resources ♪ Wikipedia: 自動作曲
♪ モーツァルト 音楽のサイコロ遊び
♪ 音楽における自動処理と Directability
♪ 《イリアック組曲》と『実験音楽』 コンピュータ音楽の創作を対象とした研究の一事例として
♪ セリー音楽 | 現代美術用語辞典ver.2.0 - Artscape
♪ 役に立つ音楽の情報~専門学校 十二音技法
♪ AIはプリペアド・ピアノの夢を見るか?――人工知能と自動作曲に関する覚書
♪ 魔法のアプリ、Chordana Composerが持つ作曲テクニックを探る
♪ 話題の人工知能作曲システムAmper Musicはまともな作曲システムなのか?
♪ ループシーケンス機能でオリジナル曲を作ってみよう(1)
♪ Magenta:人工知能と作曲
♪ ANALYZING SIX DEEP LEARNING TOOLS FOR MUSIC GENERATION
♪ Long short-term memory
♪ なぜミュージシャンはローランド創業者の訃報を受けて、悲しみに暮れたのか
♪ create with.AI
Training Course ♪ Machine Learning
♪ The Technology of Music Production
♪ Audio Signal Processing for Music Applications
参考文献(2/2)
Products ♪ CASIO Chordana Composer
♪ Amper Music
♪ Neutron
Projects ♪ Magenta
♪ A.I. Duet
♪ SongFrom PI
♪ FLOWCOMPOSER: COMPOSING WITH AI
♪ AudioSet
Articles ♪ SampleRNN: An Unconditional End-to-End Neural Audio Generation Model
♪ Structured Attention Networks
♪ TUNING RECURRENT NEURAL NETWORKS WITH REINFORCEMENT LEARNING
♪ MidiNet: A Convolutional Generative Adversarial Network for Symbolic-domain Music Generation using 1D and 2D Conditions
♪ Song From PI: A Musically Plausible Network for Pop Music Generation
♪ Neural Audio Synthesis of Musical Notes with WaveNet Autoencoders
♪ WaveNet: A Generative Model for Raw Audio