Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tech Circle #23 Next Music Production by Google Magenta

3,550 views

Published on

Google Magentaを利用した音楽生成とその仕組み、また実際に手を動かすハンズオンのための資料
イベントURL
https://techcircle.connpass.com/event/54669/

Published in: Art & Photos
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Tech Circle #23 Next Music Production by Google Magenta

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

×