More Related Content Similar to Chrome+HTML5 Developers Live Japan #8 - Web MIDI API (18) More from Ryoya Kawai (8) Chrome+HTML5 Developers Live Japan #8 - Web MIDI API1. Web MIDI API
Google Developers Live Japan #8
http://goo.gl/89Lbdd
Yamaha Corporation
AMEI Web MIDI WG
Ryoya Kawai
http://goo.gl/hxWCA7
2. おしながき
● MIDI
○ 概要
○ メッセージの基礎 (1), (2), (3)
○ メリット・デメリット
○ ユースケース
● Web MIDI API
○ 概要
○ Spec、Source
○ Live Coding
● まとめ
5. 概要
● Musical Instrument Digital Interface
○ 電子楽器同士を接続する為のインターフェイス
■ 非同期シリアル通信
● 速度:31.25kbps
● データ単位:8bits (1byte)
■ 端子:IN、OUT、THRU
■ 1ポート:16 チャンネル
7. メッセージの基本(2)
● メッセージの構成
○ 単・複数の8bit (1Byte) で構成
○ Status Byte(80h-FFh)、Data Byte(00h-7fh)
例1)Channel=0 で A4(NoteNo=69/45h) を 101/65h の Velocity の音を鳴らす
A4 (NoteNo=69/45h)Channel Velocity (101)NoteOn
※ Channel=0 の A4(NoteNo=69) の音を止める (noteOff (8nh)) ▶ 80h 45h 00h
例2)Channel=0 の音色を Applause(programNo=126) に変更
9 0 4 5 6 5
Applause
(ProgramNo=126/7Eh)
ChannelNoteOn
C 0 7 E (9nh)
(8nh)
(Cnh)
MIDI Message Tester
8. メッセージの基本(3)
● System Exclusive(SysEx)
○ 電子楽器固有の機能を制御する為に使用
■ Voice、エフェクトのパラメータ等を送信
○ メッセージ
■ F0hで始まり、F7hで終わる
■ 可変長
○ ID Numnber (ManufactuererID)
■ 楽器メーカが持つ固有のID
● 取得には申請が必要 (申請先:AMEI(日本)、MMA)
F0h <ID Number> <Device ID> F7h・・・
11. ユースケース
○ 音楽用途
■ 電子楽器の複数台同時コントロール
■ DAW(Cubase, Vision等)
■ カラオケ、演奏記録アプリ
■ 遠隔地ライブ配信 Elton John Remote Live
○ ショー(MSC:MIDI Show Control)
■ Universal Studio Water World
■ Bellagio fountain show
15. 対応状況
● 実装済みブラウザ
○ Google Chrome Canary (Mac)
● その他のブラウザで使う
○ Jazz-Plugin (Jazz-Soft.net)
■ http://jazz-soft.net/doc/Jazz-Plugin/
○ Polyfill
■ Web MIDI API Shim
○ 使い方
17. Spec
● Method
○ [(I/F) navigator]
requestMIDIAccess({sysex:ture/false}).then(scb, ecb)
→ scb:(I/F) MIDIAccess
→ ecb:(I/F) DOMError
○ [(I/F) MIDIAccess] outputs() -> (I/F) MIDIPort
■ [(I/F) MIDIOutput] send()
○ [(I/F) MIDIAccess] inputs() -> (I/F) MIDIPort
● EventHandler
○ [(I/F) MIDIInput] onmidimessage
○ [(I/F) MIDIOutput] onconnect
○ [(I/F) MIDIOutput] ondisconnect
22. まとめ
● Chrome CanaryでWeb MIDI API実装済み!
○ Polyfillを使えばモダンブラウザで利用可能
● Web MIDI APIはすごくシンプル
○ Wrapperを使えばメッセージを理解する必要もない
● MIDIは楽器だけの規格にあらず
○ アイデア次第で夢は膨らむ
23. Web Music Developers JP
● 音楽系アプリ等に興味のあるかたはぜひ!
○ Web Audio API
○ Web MIDI API
○ Web RTC
Google Groups : http://goo.gl/G9U8Mr
Google+ : http://goo.gl/BULcuo