Upgrade to Pro — share decks privately, control downloads, hide ads and more …

p5.jsでHTML5を使って簡単に音楽アプリを作ろう

 p5.jsでHTML5を使って簡単に音楽アプリを作ろう

2016 HTML5 カンファレンス LT

FirstFourNotes,LLC

September 03, 2016
Tweet

More Decks by FirstFourNotes,LLC

Other Decks in Technology

Transcript

  1. QKTͱ͸ʁ ▪ +BWB4DSJQUͰը૾΍ΞχϝʔγϣϯͳͲΛ؆୯ʹ࢖͑Δ Α͏ʹͨ͠ϑϨʔϜϫʔΫ ▪ ಈըɾԻͳͲ΋ѻ͑·͢ ▪ ࡞ͬͨ΋ͷ͸8FCϒϥ΢βͰಈ͖·͢ ▪ IUUQPUPSPOFUQMBOLT

    1SPDFTTJOHʢϓϩηογϯάʣ͕ϕʔε 1SPDFTTJOHͱ͸ɺσβΠφ΍ΞʔςΟετ޲͚ ʹ։ൃ͞Εͨϓϩάϥϛϯάݴޠ QKTͰ͸ɺ1SPDFTTJOHҎ্ͷ֦ு͕͞Ε͍ͯ ͯɺ)5.-ͱ+BWB4DSJQU͕Մೳʹ͢Δػೳͷ΄ ͱΜͲ͕ѻ͑·͢
  2. QKTͱ)5.- ▪ )5.-ͷػೳΛϥοϓͯ͠ɺ΍͘͞͠࢖͑ΔΑ͏ʹ͍ͯ͠Δ – Πϕϯτͳ͠ͰϚ΢ε΍λονύωϧ͕ѻ͑Δ – ͓·͡ͳ͍ͳ͠ʹΧϝϥ΍ϚΠΫΛ࢖͑Δ – ΞχϝʔγϣϯͷϨϯμϦϯάϧʔϓ͕༻ҙ͞Ε͍ͯΔ QKTͷओͳػೳ

    ରԠ͢Δ)5.-ͷػೳ %άϥϑΟοΫε $BOWBT Ξχϝʔγϣϯ ʵ ΦʔσΟΦ 8FC "VEJP"1* ಈը 7JEFPཁૉ Χϝϥ 6TFS .FEJB %0.ૢ࡞ %0.ૢ࡞ εϚʔτϑΥϯʢ޲͖ɺՃ଎౓ɺճసʣ %FWJDF"1*ͷҰ෦ 8FC"1*ͷݺͼग़͠ 9.-)UUQ3FRVFTU Ի੠߹੒ɺೝࣝ $POUSJCVUFE 8FC4QFFDI "1* εϓϥΠτ $POUSJCVUFE ʵ "SEVJOP࿈ܞ $POUSJCVUFE ʵ
  3. ΞϓϦͷߏ଄ ▪ ΦʔσΟΦͱεϚϗΛ࢖ͬͨσϞΞϓϦ ΦγϨʔλʔ USJ0TD Τϯϕϩʔϓ FOW λονύωϧ εϚϗΛৼΔ 音階設定

    スタート triOsc = new p5.Oscillator("triangle"); triOsc.amp(env); triOsc.start(); env = new p5.Env(); env.setADSR(attackTime, decayTime, susPercent, releaseTime); env.setRange(attackLevel, releaseLevel); function touchStarted() { keys.forEach(function(k) { if (!found && dist(x, y, k.x, k.y) < k.radius) { triOsc.freq(midiToFreq(one_oct_midi_note[k.note])); } ); } function deviceShaken() { env.play(triOsc); }