SlideShare a Scribd company logo
1 of 27
aokcub
2012-07-28 Nagaoka Developers Study #27
自己紹介
 @aokcub
 NUT 電気 M2
 来年からは組み込み屋さん
 NDS 5回連続5度目
ネタ
元ネタ by 猫型さん

遺伝的アルゴリズム(GA)で
メロディを生成



今日のネタ

  Perl
               PICマイコン
                                 音が
         USB             D/A
  GA                           鳴る!!!
                波形作る
音符列作る
ネタ
元ネタ by 猫型さん

遺伝的アルゴリズム(GA)で
メロディを生成



今日のネタ

  Perl
               PICマイコン
                                 音が
         USB             D/A
  GA                           鳴る!!!
                波形作る
音符列作る
今北産業
 PICマイコンで作曲して
 音を鳴らして
                     Git縛りクリア!!
 Gitでソースコード管理 !




           PICマイコン
                             音が
                     D/A
             PSO           鳴る!!!
            波形作る
PSO (粒子群最適化)
   Particle Swarm Optimization
     最適化手法の一種
     鳥や魚の群れの動きからヒントを得た手法




J. Kennedy and R. Eberhart. “Particle swarm optimization”. Proc. of
IEEE/ICNN, pp 1942-1948, 1995.
これじゃないよ!
   ※ PHANTASY STAR ONLINE
初期化

それぞれの粒子が持つ
 場所
 速度
 今までで一番イイ場所

全粒子で共有
 全粒子の中で,
    今までで 一番イイ場所

                  最適解
評価

それぞれの粒子が持つ
 場所
 速度           エサ見つけた!!!
 今までで一番イイ場所

全粒子で共有
 全粒子の中で,
    今までで 一番イイ場所
位置・速度更新

それぞれの粒子が持つ        まじか!!
 場所
 速度
 今までで一番イイ場所

全粒子で共有
 全粒子の中で,
    今までで 一番イイ場所
繰り返す

それぞれの粒子が持つ
 場所
 速度
 今までで一番イイ場所

全粒子で共有
 全粒子の中で,
    今までで 一番イイ場所



                   ここらへんも
                  よさそう...
イイ場所の更新

それぞれの粒子が持つ
 場所
 速度
 今までで一番イイ場所

全粒子で共有
 全粒子の中で,
    今までで 一番イイ場所



                  もっといい場所
                   あった!
探索♪探索♪

それぞれの粒子が持つ             おいここやべーぞ!
 場所
 速度
 今までで一番イイ場所

全粒子で共有   ΩΩΩナ,ナンダッテー
 全粒子の中で,
    今までで 一番イイ場所
最適解付近に収束

それぞれの粒子が持つ
 場所               うおおおおおおお!!!
 速度
 今までで一番イイ場所

全粒子で共有
 全粒子の中で,
    今までで 一番イイ場所
音階の評価
         y           音階によって点数をつける
                     (音階と音階の間は線形補完)
              B
                      G#, A#
              A#
  C#, G#
              A
              G#
              G
C C# D D# E F F# G G# A A# B
              F              x
         E, F E
              D#
              D        一番点数のいい場所を選ぶ
              C#       ♪ソ ミ
              C


2オクターブ,1小節16音 → 16次元
30個の粒子
PIC
 dsPICマイコン
 Core : 16bit MCU + DSP
 Clock : 80MHz (40 MIPS)
 ROM : 128 [kB] ( not 128 [GB] !! )
 RAM : 16 [kB] ( not 16 [GB] !! )


   健気に頑張ってます!!!
デモ
   鳴りますように鳴りますように鳴りますように
まとめ
   できたこと
     PICマイコンでメロディを作って鳴らす
      ○ いい...メロディ...?
      ○ 評価関数の検討が必要
     Githubでのリポジトリ公開
      ○ http://github.com/aokcub/PIC_Arpeggiator


   できなかったこと
     できた音楽を保存
      ○ (時間的制約,H/W的制約)
参考
   J. Kennedy and R. Eberhart. “Particle swarm optimization”. Proc. of
    IEEE/ICNN, pp 1942-1948, 1995.
   @neko_gata_s, “やったーGAでDTMできたよー\(^o^)/”.
   Microchip Technology Inc. “dsPIC33FJ32GP302/304,
    dsPIC33FJ64GPX02/X04 and dsPIC33FJ128GPX02/X04 Data Sheet”.
   Microchip Technology Inc. “MPLAB® XC16 User Guide”.
   Microchip Technology Inc. “16-Bit Language Tools Libraries”.
   “電子工作の実験室” http://picfun.com/
   以下質疑応答対策
音階の評価 (1)
       それぞれの音階に点数をつける
s(xd)

  4
  3
  2
  1
  0
        C4       C5      B5   xd
 -1
 -2
 -3
音階の評価 (2)
       線形補完
s(xd)

  4
  3
  2
  1
  0
        C4     C5   B5   xd
 -1
 -2
 -3
音階の評価 (3)
       線形補完        D#5 and 1.6 point !!
s(xd)

  4
  3
  2
  1
  0
        C4     C5                 B5       xd
 -1
 -2
 -3
               全次元,全粒子について計算
Real Time Operating System
   FreeRTOS
     組み込み向け軽量RTOS
     GPLライクなライセンス


   3つのタスクが動作
     波形生成タスク          ← 優先度高
     PSOシミュレーションタスク
     LCD駆動タスク
やったーPICで作曲できたよー\(^o^)/

More Related Content

Similar to やったーPICで作曲できたよー\(^o^)/

Interactive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 2 - 関数とUGenInteractive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 2 - 関数とUGen
Atsushi Tadokoro
 
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 1/2
女子美術大学メディアアート演習ⅡB  2012 Spring 第10回 1/2女子美術大学メディアアート演習ⅡB  2012 Spring 第10回 1/2
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 1/2
Satoru Tokuhisa
 
財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング
Ryoji Yanashima
 
20140530 esri japan GIS User Conference 2014
20140530 esri japan GIS User Conference 201420140530 esri japan GIS User Conference 2014
20140530 esri japan GIS User Conference 2014
Taichi Furuhashi
 

Similar to やったーPICで作曲できたよー\(^o^)/ (12)

The beginners guide of real-time audio processing (Part 1:Equalizer)
The beginners guide of real-time audio processing (Part 1:Equalizer)The beginners guide of real-time audio processing (Part 1:Equalizer)
The beginners guide of real-time audio processing (Part 1:Equalizer)
 
Dps143 ruo ando
Dps143 ruo andoDps143 ruo ando
Dps143 ruo ando
 
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
 
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
 
Interactive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 2 - 関数とUGenInteractive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 2 - 関数とUGen
 
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 1/2
女子美術大学メディアアート演習ⅡB  2012 Spring 第10回 1/2女子美術大学メディアアート演習ⅡB  2012 Spring 第10回 1/2
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 1/2
 
TAと歩くGDC2013報告会資料
TAと歩くGDC2013報告会資料TAと歩くGDC2013報告会資料
TAと歩くGDC2013報告会資料
 
機械学習勉強会2017/2/19(nn基礎)
機械学習勉強会2017/2/19(nn基礎)機械学習勉強会2017/2/19(nn基礎)
機械学習勉強会2017/2/19(nn基礎)
 
Deep Learningと自然言語処理
Deep Learningと自然言語処理Deep Learningと自然言語処理
Deep Learningと自然言語処理
 
財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング財布にやさしいRを使ったデータマイニング
財布にやさしいRを使ったデータマイニング
 
20140530 esri japan GIS User Conference 2014
20140530 esri japan GIS User Conference 201420140530 esri japan GIS User Conference 2014
20140530 esri japan GIS User Conference 2014
 
End-to-End音声認識ためのMulti-Head Decoderネットワーク
End-to-End音声認識ためのMulti-Head DecoderネットワークEnd-to-End音声認識ためのMulti-Head Decoderネットワーク
End-to-End音声認識ためのMulti-Head Decoderネットワーク
 

Recently uploaded

Recently uploaded (11)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

やったーPICで作曲できたよー\(^o^)/