Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
(ふじ)某有名作曲家にアレンジしてもらおう
Search
akatsukinewgrad
August 02, 2021
Programming
0
1.3k
(ふじ)某有名作曲家にアレンジしてもらおう
akatsukinewgrad
August 02, 2021
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
98
成果発表資料.pdf
akatsukinewgrad
0
1.7k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
380
正規表現とReDoS.pdf
akatsukinewgrad
0
380
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
400
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
350
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
400
7分でわかるアカツキゲームス
akatsukinewgrad
0
390
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
620
Other Decks in Programming
See All in Programming
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
180
新宿ダンジョンを可視化してみた
satoshi7190
2
260
Fragment Composition of GraphQL
quramy
7
1k
Ruby Pattern Matching
bkuhlmann
0
930
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
Goのエラースタックトレースの歴史と今後
sonatard
9
1.5k
Anthropic Cookbook のおすすめレシピ
schroneko
7
980
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
960
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
370
Fast JSX: Don't clone props object #28768
yossydev
1
130
Git Lint
bkuhlmann
4
750
ゆるい個人開発のススメ
kuroppe1819
10
990
Featured
See All Featured
Design by the Numbers
sachag
274
18k
Code Reviewing Like a Champion
maltzj
514
39k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
How GitHub (no longer) Works
holman
304
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Designing with Data
zakiwarfel
96
4.8k
Clear Off the Table
cherdarchuk
84
310k
A Tale of Four Properties
chriscoyier
151
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
Six Lessons from altMBA
skipperchong
21
3k
Scaling GitHub
holman
457
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Transcript
某有名作曲家にアレンジしてもらおう ディープラーニングを利用した曲のコラボレーション
今回の目的 ► ディープラーニングを利用してコン ピュータが作曲できるようにしよう ► 曲調の異なる曲を組み合わせて新しい 音楽を作ろう
今回のお題はバッハ! 作曲のルールに厳格な特徴がディープランニングと相性が 良いと判断 バッハ風を実現するためには、曲の特徴の理解が必要!
バッハの音楽の特徴 対位法と和声法を両方の特徴持つ この2つの作曲方法を知ることが重要!
対位法と和声法 対位法→ いくつかの旋律が独立しつつ、調和してい る音楽を作る技法。和声法より古くから存在 和声法→ 各声部の配置に関する理論。ほかの声部と の調和をはかるのは対位法と変わらないが、 対位法より音同士の縦の関係を重視。
http://showcan.g1.x rea.com/ChoralePa geSax.htm サックスアンサンブ ルのためのバッハ コラール集 <引用> バッハのコラール
使用した技術 KerasのLSTMを使用 メロディーを時系列データとしてみなせると考えたため *LSTMとは 時系列データを扱うことに適しているニューラルネットワーク
ディープランニングで実現するために ► 生成する楽曲は合唱曲(四声) 四声:ソプラノ・アルト・テノール・バス ► バッハのコラール(四声合唱曲)をディープランニングによって学習 ► 他の作曲家のメロディーをソプラノとして学習済みモデルにわたし、残り の三声のパートを推論させ、生成 ►
別の作曲家が作ったメロディー(ソプラノ)に残りの三声でバッハ風の味 付けをすることによって作曲家のコラボレーションを疑似的に実現
ディープランニングで実現するために2 ► 推論する音に対し楽譜上の上下左右の音を利用 (右の楽譜はバスの推論の様子 *左→赤、右→青、上下→緑) ► 左右の音による推論にはLSTMを使用し、上下の 音には全結合層を使用 ► 他パートの3音符を参照するときは1音を推論する
たびに全体の楽譜に反映する ↳これにより曲の和声の破綻を抑える狙い
浮上した問題点 曲のメロディーが転調した際にうまく対応できない ↳イントロ部分の生成では歌詞部分の音の列を使わない、歌詞部分の生成では イントロ部分の音の列を使わないように指定して対処 推論を繰り返すと、推論の前後でほとんど音符が変化しなくなる。 ↳100回に1回、10%程度の音符をランダムに置き換えるようにし、音符の 生成を活発化
生成した楽曲 宇宙戦艦ヤマトのメロディーにバッハ風の三声のパートを付与
まとめ 作曲家の特性を把握し、それにあっ たモデルを作ることで、一定のレベル で曲調の再現は可能