SlideShare une entreprise Scribd logo
1  sur  16
DeepComposerの響きで
さわやかな目覚めを
2020.9.13(Sun) JAWS SONIC
@nid777 新居田晃史 Akifumi Niida
#jawsug #jawssonic2020
※本内容はすべて個人的な見解であり、所属する会社や組織を代表するものではありません
自己紹介
• 新居田 晃史(にいだ あきふみ)
• 所属
• JBアドバンスト・テクノロジー株式会社
• 先進技術研究所
• 日本最速ITエンジニア(※週刊BCN編集部調べ)
• フルマラソン 2:29:56
• JAWS-UG 横浜支部(宇宙一早いre:Capでお馴染みのあの支部です)
Twitter @nid777
Facebook Akifumi Niida
DeepComposerとは
• 世界初の機械学習対応のミュージカルキーボード
• re:Invent 2019で発表
• 機械学習で音楽を生成
• モデルをトレーニングしながらGANを体験
• SageMakerによるカスタムモデルの作成
コンピュータが音楽を理解する方法
• Pitch
• Velocity
• Tempo
• MIDI
ピッチは、音階上の相対位置が割り当てられているトーンです。各音符には数値が割り当てられており、0から最低音まで、
最高音は127まであります。
AWS DeepComposerキーボードのキーの範囲は41〜72です。オクターブ調整ボタンは、ピッチの値を12の倍数単位で上下
にシフトして、ピッチを高くしたり低くしたりします。
1つの音符が押される強さをエンコードします。キーをより速く押すと、ベロシティの値が高くなり、より大きな音が作成
されます。速度の値の範囲は1(最小、実際には聞こえない)〜127(最大)です。
テンポは、音楽の再生速度を表します。音楽は通常、特定のビートまたはメーターに従い、演奏されるノートのリズムを
動かします。このビートの速度は、ビート/分で測定されます。1分あたりのビート数が多いほど、再生速度が速くなります
(テンポ)。
MIDIのファイル形式は、レコードや店舗の音楽をコンピュータで使用される業界標準です。ファイル形式は、使用される
楽器の再生テンポや、ノートのピッチやベロシティなど、押したり離したりするノートをエンコードする一連のイベント
などの詳細をエンコードします。
MIDI えーあい ええ感じの音
音階 音の強さ テンポ 音の種類
• ピアノ
• ギター
• ドラム
AI
強化学習
教師あり学習
教師なし学習
強化学習
教師あり
学習
教師なし
学習
Deep Composer
Deep Racer
GAN
GANs VAEs
Auto
regression
GANの仕組み
本物そっくりな音楽を作るでー!
ええやん
あかんやん
お前、5点やな
本物と見分けるでー!
Generator Loss
Discriminator Loss
改善や!
さぁ、概要もわかったし準備は整った!
あとは音楽を生成するだけ♪
最大の課題
キーボードが弾けない
※ 30年ぐらい前にピアノを少し習ったようなそうじゃないような。。
弾けたつもりでも結構テンポがズレる問題
結構ズレるんすよ。。
元が悪いと、よくわからないものが出来上がる
方向転換。ITに頼ろう
ギリギリ楽譜は読めるので、ネットで楽譜見ながらポチポチっと
http://takabosoft.com/domino
使用したMIDIソフト
作者の @takabosoft様 ありがとうございます!
はまったこと①
DeepComposerは
シングルトラックのMIDIデータを受け付けるので、
エクスポート時に注意が必要
Dominoの場合は format 0 で出力すればOK
シングルトラック
なぜかテンポが合わない
はまったこと②
← 本当はここまでの長さになっててほしい
Domono.exeでの設定ミスが原因
トレーニングについて
Epoch: 100
Learning rate: 0.01
Update ratio: 5
Epoch: 200
Learning rate: 0.0001
Update ratio: 5
Epoch: 200
Learning rate: 0.0005
Update ratio: 5
Discremenator Lossが0に近い値で収束
したが、十分に学習したかどうか怪しい
損失関数の値を監視しましょう
• 弁別器の損失はゼロに収束
• 発生器の損失はゼロである必要のない数値に収束することを期待
• 損失関数がplateaus(水平状態)になると、モデルが学習しなくなったことを示します。
Discremenator Lossが0で収束していな
い
良い感じ
Demo
音声が大きいので、ボリュームにご注意ください
いくらかかったか
ほぼ無料枠の範囲内でできました
DeepComposerの何かに16ドルぐらい使った。
多分、推論で「AutoregressiveCNN Bach」使った時なのでは。。
トレーニング 6個 x 8時間 x 1.26 USD = 60.48 USD
推論 150回 x 0.0166..時間(1分) x 0.0083 USD = 5.35 USD
無料利用枠がなかった場合
良い朝を迎えられましたか?
The end

Contenu connexe

Tendances

Tendances (20)

It's up to you 〜 楽しさドリブンで歩んだ道 〜
It's up to you 〜 楽しさドリブンで歩んだ道 〜It's up to you 〜 楽しさドリブンで歩んだ道 〜
It's up to you 〜 楽しさドリブンで歩んだ道 〜
 
Jaws niigata#8
Jaws niigata#8Jaws niigata#8
Jaws niigata#8
 
JAWS-UG京都をre:Bootしてみた
JAWS-UG京都をre:BootしてみたJAWS-UG京都をre:Bootしてみた
JAWS-UG京都をre:Bootしてみた
 
2019 kintone hack 予選
2019 kintone hack 予選2019 kintone hack 予選
2019 kintone hack 予選
 
せっかちな私のAWS Lambda活用パターン
せっかちな私のAWS Lambda活用パターンせっかちな私のAWS Lambda活用パターン
せっかちな私のAWS Lambda活用パターン
 
kintone Café 名古屋 Vol.4
kintone Café 名古屋 Vol.4kintone Café 名古屋 Vol.4
kintone Café 名古屋 Vol.4
 
IoTを擬人化してみた
IoTを擬人化してみたIoTを擬人化してみた
IoTを擬人化してみた
 
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
 
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
 
IoTあるじゃん北海道#1 by poggimo
IoTあるじゃん北海道#1 by poggimoIoTあるじゃん北海道#1 by poggimo
IoTあるじゃん北海道#1 by poggimo
 
複数拠点における開発効率の維持・向上
複数拠点における開発効率の維持・向上複数拠点における開発効率の維持・向上
複数拠点における開発効率の維持・向上
 
誰でもシステム開発ができる「ノーコード開発」入門
誰でもシステム開発ができる「ノーコード開発」入門誰でもシステム開発ができる「ノーコード開発」入門
誰でもシステム開発ができる「ノーコード開発」入門
 
Developers.IO 2016 | 疎結合で非同期なチーム開発
Developers.IO 2016 | 疎結合で非同期なチーム開発Developers.IO 2016 | 疎結合で非同期なチーム開発
Developers.IO 2016 | 疎結合で非同期なチーム開発
 
20211019 rpa勉強会!「自動化ネタ・rpaネタ・itネタ」ライトニングトーク大会! vol.31
20211019 rpa勉強会!「自動化ネタ・rpaネタ・itネタ」ライトニングトーク大会! vol.3120211019 rpa勉強会!「自動化ネタ・rpaネタ・itネタ」ライトニングトーク大会! vol.31
20211019 rpa勉強会!「自動化ネタ・rpaネタ・itネタ」ライトニングトーク大会! vol.31
 
コミュニティイベントのトランスフォーメーション ~配信ノウハウ編~ コミュニティリーダーズサミット in 高知 2020戻り鰹編
コミュニティイベントのトランスフォーメーション ~配信ノウハウ編~ コミュニティリーダーズサミット in 高知 2020戻り鰹編コミュニティイベントのトランスフォーメーション ~配信ノウハウ編~ コミュニティリーダーズサミット in 高知 2020戻り鰹編
コミュニティイベントのトランスフォーメーション ~配信ノウハウ編~ コミュニティリーダーズサミット in 高知 2020戻り鰹編
 
Demonstration experiment aimed at improving the efficiency of pig health mana...
Demonstration experiment aimed at improving the efficiency of pig health mana...Demonstration experiment aimed at improving the efficiency of pig health mana...
Demonstration experiment aimed at improving the efficiency of pig health mana...
 
GGJ19review
GGJ19reviewGGJ19review
GGJ19review
 
kintone で地図をhackする
kintone で地図をhackするkintone で地図をhackする
kintone で地図をhackする
 
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側
 
簡単ログ解析ハンズオン

簡単ログ解析ハンズオン
簡単ログ解析ハンズオン

簡単ログ解析ハンズオン

 

Similaire à Jaws sonic 2020_yokohama_deepcomposer

About IGDA Japan 0906
About IGDA Japan 0906About IGDA Japan 0906
About IGDA Japan 0906
IGDA Japan
 
第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション
fumoto kazuhiro
 
日本のゲーム開発,海外のゲーム開発
日本のゲーム開発,海外のゲーム開発日本のゲーム開発,海外のゲーム開発
日本のゲーム開発,海外のゲーム開発
syamane
 

Similaire à Jaws sonic 2020_yokohama_deepcomposer (20)

Fandroid大垣支部「Arduinoでやってみたがや」
Fandroid大垣支部「Arduinoでやってみたがや」Fandroid大垣支部「Arduinoでやってみたがや」
Fandroid大垣支部「Arduinoでやってみたがや」
 
プログラマは一生の仕事のなるか?
プログラマは一生の仕事のなるか?プログラマは一生の仕事のなるか?
プログラマは一生の仕事のなるか?
 
About IGDA Japan 0906
About IGDA Japan 0906About IGDA Japan 0906
About IGDA Japan 0906
 
Potatotips_7
Potatotips_7Potatotips_7
Potatotips_7
 
第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabe
 
au Webポータル デプロイ・ジャーニー
au Webポータル デプロイ・ジャーニーau Webポータル デプロイ・ジャーニー
au Webポータル デプロイ・ジャーニー
 
北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料
 
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
 
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
SIG-Audio#13 GDC2016オーディオ報告会「ちょっくらサンフランシスコに行って、GDCでBEATWIZを展示してきた件」
 
日本のゲーム開発,海外のゲーム開発
日本のゲーム開発,海外のゲーム開発日本のゲーム開発,海外のゲーム開発
日本のゲーム開発,海外のゲーム開発
 
プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言プロトタイピングの潮流とデザイナーへの提言
プロトタイピングの潮流とデザイナーへの提言
 
コンピュータシステムの原理を理解させる
アクティブ・ラーニング
コンピュータシステムの原理を理解させる
アクティブ・ラーニングコンピュータシステムの原理を理解させる
アクティブ・ラーニング
コンピュータシステムの原理を理解させる
アクティブ・ラーニング
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
【CEDEC2016】Ui discussionのススメ uiデザインの品質を効率的に向上させるには
【CEDEC2016】Ui discussionのススメ  uiデザインの品質を効率的に向上させるには【CEDEC2016】Ui discussionのススメ  uiデザインの品質を効率的に向上させるには
【CEDEC2016】Ui discussionのススメ uiデザインの品質を効率的に向上させるには
 
[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光
[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光
[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光
 
みんなが不幸にならないための要件定義の話
みんなが不幸にならないための要件定義の話みんなが不幸にならないための要件定義の話
みんなが不幸にならないための要件定義の話
 
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使うフィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
 
How to make a cutting wiring board by desktop CNC
How to make a cutting wiring board by desktop CNCHow to make a cutting wiring board by desktop CNC
How to make a cutting wiring board by desktop CNC
 
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
 

Plus de Akifumi Niida (8)

FargateからCloudRunへの移行にCloudflareを添えて.pptx
FargateからCloudRunへの移行にCloudflareを添えて.pptxFargateからCloudRunへの移行にCloudflareを添えて.pptx
FargateからCloudRunへの移行にCloudflareを添えて.pptx
 
初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx
 
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
 
Event bridge で s3 イベント通知を試してみた
Event bridge で s3 イベント通知を試してみたEvent bridge で s3 イベント通知を試してみた
Event bridge で s3 イベント通知を試してみた
 
10週連続re capから学んだコミュニティ運営のコツ
10週連続re capから学んだコミュニティ運営のコツ10週連続re capから学んだコミュニティ運営のコツ
10週連続re capから学んだコミュニティ運営のコツ
 
サーバーレスで運用自動化
サーバーレスで運用自動化サーバーレスで運用自動化
サーバーレスで運用自動化
 
Swarm mode運用してみた
Swarm mode運用してみたSwarm mode運用してみた
Swarm mode運用してみた
 
Ossフル活用でinfrastructure as codeやってみた
Ossフル活用でinfrastructure as codeやってみたOssフル活用でinfrastructure as codeやってみた
Ossフル活用でinfrastructure as codeやってみた
 

Jaws sonic 2020_yokohama_deepcomposer