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.

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

2,005 views

Published on

NDS27

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. aokcub2012-07-28 Nagaoka Developers Study #27
  2. 2. 自己紹介 @aokcub NUT 電気 M2 来年からは組み込み屋さん NDS 5回連続5度目
  3. 3. ネタ元ネタ by 猫型さん遺伝的アルゴリズム(GA)でメロディを生成今日のネタ Perl PICマイコン 音が USB D/A GA 鳴る!!! 波形作る音符列作る
  4. 4. ネタ元ネタ by 猫型さん遺伝的アルゴリズム(GA)でメロディを生成今日のネタ Perl PICマイコン 音が USB D/A GA 鳴る!!! 波形作る音符列作る
  5. 5. 今北産業 PICマイコンで作曲して 音を鳴らして Git縛りクリア!! Gitでソースコード管理 ! PICマイコン 音が D/A PSO 鳴る!!! 波形作る
  6. 6. PSO (粒子群最適化) Particle Swarm Optimization  最適化手法の一種  鳥や魚の群れの動きからヒントを得た手法J. Kennedy and R. Eberhart. “Particle swarm optimization”. Proc. ofIEEE/ICNN, pp 1942-1948, 1995.
  7. 7. これじゃないよ! ※ PHANTASY STAR ONLINE
  8. 8. 初期化それぞれの粒子が持つ 場所 速度 今までで一番イイ場所全粒子で共有 全粒子の中で, 今までで 一番イイ場所 最適解
  9. 9. 評価それぞれの粒子が持つ 場所 速度 エサ見つけた!!! 今までで一番イイ場所全粒子で共有 全粒子の中で, 今までで 一番イイ場所
  10. 10. 位置・速度更新それぞれの粒子が持つ まじか!! 場所 速度 今までで一番イイ場所全粒子で共有 全粒子の中で, 今までで 一番イイ場所
  11. 11. 繰り返すそれぞれの粒子が持つ 場所 速度 今までで一番イイ場所全粒子で共有 全粒子の中で, 今までで 一番イイ場所 ここらへんも よさそう...
  12. 12. イイ場所の更新それぞれの粒子が持つ 場所 速度 今までで一番イイ場所全粒子で共有 全粒子の中で, 今までで 一番イイ場所 もっといい場所 あった!
  13. 13. 探索♪探索♪それぞれの粒子が持つ おいここやべーぞ! 場所 速度 今までで一番イイ場所全粒子で共有 ΩΩΩナ,ナンダッテー 全粒子の中で, 今までで 一番イイ場所
  14. 14. 最適解付近に収束それぞれの粒子が持つ 場所 うおおおおおおお!!! 速度 今までで一番イイ場所全粒子で共有 全粒子の中で, 今までで 一番イイ場所
  15. 15. 音階の評価 y 音階によって点数をつける (音階と音階の間は線形補完) B G#, A# A# C#, G# A G# GC C# D D# E F F# G G# A A# B F x E, F E D# D 一番点数のいい場所を選ぶ C# ♪ソ ミ C2オクターブ,1小節16音 → 16次元30個の粒子
  16. 16. PIC dsPICマイコン Core : 16bit MCU + DSP Clock : 80MHz (40 MIPS) ROM : 128 [kB] ( not 128 [GB] !! ) RAM : 16 [kB] ( not 16 [GB] !! ) 健気に頑張ってます!!!
  17. 17. デモ 鳴りますように鳴りますように鳴りますように
  18. 18. まとめ できたこと  PICマイコンでメロディを作って鳴らす ○ いい...メロディ...? ○ 評価関数の検討が必要  Githubでのリポジトリ公開 ○ http://github.com/aokcub/PIC_Arpeggiator できなかったこと  できた音楽を保存 ○ (時間的制約,H/W的制約)
  19. 19. 参考 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/
  20. 20.  以下質疑応答対策
  21. 21. 音階の評価 (1)  それぞれの音階に点数をつけるs(xd) 4 3 2 1 0 C4 C5 B5 xd -1 -2 -3
  22. 22. 音階の評価 (2)  線形補完s(xd) 4 3 2 1 0 C4 C5 B5 xd -1 -2 -3
  23. 23. 音階の評価 (3)  線形補完 D#5 and 1.6 point !!s(xd) 4 3 2 1 0 C4 C5 B5 xd -1 -2 -3 全次元,全粒子について計算
  24. 24. Real Time Operating System FreeRTOS  組み込み向け軽量RTOS  GPLライクなライセンス 3つのタスクが動作  波形生成タスク ← 優先度高  PSOシミュレーションタスク  LCD駆動タスク

×