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

ブラウザでステップシーケンサ 〜 クロックつらくない?

OKUNOKENTARO
September 06, 2016

ブラウザでステップシーケンサ 〜 クロックつらくない?

2016/9/6に、WebAudio.tokyoで発表した資料です。

OKUNOKENTARO

September 06, 2016
Tweet

More Decks by OKUNOKENTARO

Other Decks in Programming

Transcript

  1. Web Music Hackathon #4 • Web MIDI API • 音の出力は外部のソフトシンセに頼っていた

    • 誰もが鳴らせるアプリじゃない • 反省点多数 • 詳細は
 https://speakerdeck.com/armorik83/dotutohui-sikensa-ji-shu-de-urabanasi
  2. Web Music Hackathon #5 • 割りきった! • Web Audio APIによる発声

    • Web MIDI APIは使っていない • 誰が起動しても音を鳴らせる • 詳細は
 https://github.com/armorik83/wmh5-team-chaco
  3. クロックジェネレータ export class FrameService {
 
 constructor() {
 this.startTime =

    window.performance.now();
 this.subject = new Subject();
 }
 
 run(bpm) {
 let fps = 1 / (60 / bpm / 4);
 
 let loop = () => {
 requestAnimationFrame(loop);
 const lastTime = window.performance.now();
 const frame = ~~((lastTime - this.startTime) / (1000.0 / fps));
 this.subject.next(frame);
 };
 loop();
 }
 
 get observable() {
 return this.subject;
 }
 
 }