SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Web MIDI API
Google Developers Live Japan #8
http://goo.gl/89Lbdd
Yamaha Corporation
AMEI Web MIDI WG
Ryoya Kawai
http://goo.gl/hxWCA7
おしながき
● MIDI
○ 概要
○ メッセージの基礎 (1), (2), (3)
○ メリット・デメリット
○ ユースケース
● Web MIDI API
○ 概要
○ Spec、Source
○ Live Coding
● まとめ
MIDI
本題の前に
● 2013年でMIDIは30周年
○ 発表:1983年
● テクニカルグラミー受賞
○ 梯 郁太郎氏、Dave Smith氏
○ メーカーを問わない電子楽器の世界共通規格の制定に
尽力し、音楽産業の発展に貢献したことが評価
▶ Technical Grammy Award 2013
概要
● Musical Instrument Digital Interface
○ 電子楽器同士を接続する為のインターフェイス
■ 非同期シリアル通信
● 速度:31.25kbps
● データ単位:8bits (1byte)
■ 端子:IN、OUT、THRU
■ 1ポート:16 チャンネル
メッセージの基本(1)
● メッセージの種類
○ チャンネル・メッセージ
■ チャンネル毎に独立した演奏情報を伝える
○ システム・メッセージ
■ 全体をコントロールする情報を伝える
▶ Status Byte
(9nh)
(8nh)
(Cnh)
(F0h‥F7h)
メッセージの基本(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
メッセージの基本(3)
● System Exclusive(SysEx)
○ 電子楽器固有の機能を制御する為に使用
■ Voice、エフェクトのパラメータ等を送信
○ メッセージ
■ F0hで始まり、F7hで終わる
■ 可変長
○ ID Numnber (ManufactuererID)
■ 楽器メーカが持つ固有のID
● 取得には申請が必要 (申請先:AMEI(日本)、MMA)
F0h <ID Number> <Device ID> F7h・・・
MIDIを詳しく知りたい!
● MIDI 1.0 規格書
○ 発行:社団法人 音楽電子事業協会(AMEI)
▶ http://amei.or.jp/merchan/MIDI_spc.html
メリット・デメリット
○ メリット
■ 信号なので実際の音よりデータ量が少ない
● 「発音せよ!」、「音色を変えろ!」等の信号
● 1分約10kb以下
■ シーケンスが書ける
○ デメリット
■ 音源によって音色がバラつく可能性がある
ユースケース
○ 音楽用途
■ 電子楽器の複数台同時コントロール
■ DAW(Cubase, Vision等)
■ カラオケ、演奏記録アプリ
■ 遠隔地ライブ配信 Elton John Remote Live
○ ショー(MSC:MIDI Show Control)
■ Universal Studio Water World
■ Bellagio fountain show
MIDIをみてみる
TO MAKE THE END OF BATTLE / Ys2 © Falcom 1988
MIDI Data From : http://goo.gl/gxg4Cx
Web MIDI API
概要
● ブラウザとMIDI機器を直接つなぐHTML5の1部
としてW3Cにて策定が進められているAPI
○ WG:Audio WG (Web Audio APIと同一WG)
○ Editor:Chris Wilson(Google), Jussi Kalliokoski
○ Milestone
対応状況
● 実装済みブラウザ
○ Google Chrome Canary (Mac)
● その他のブラウザで使う
○ Jazz-Plugin (Jazz-Soft.net)
■ http://jazz-soft.net/doc/Jazz-Plugin/
○ Polyfill
■ Web MIDI API Shim
○ 使い方
Specへのリンク
● W3C
http://webaudio.github.io/web-midi-api/
● Chrome
http://goo.gl/D3AHF3
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
Source
MIDIメッセージ知らなくてもOK!
● Web MIDI API Wrapper
○ チャンネルメッセージをほぼ網羅
http://goo.gl/rWvhGW (英語)
http://goo.gl/RAJJTw (日本語)
Live Coding
http://goo.gl/gTbcHz
楽器以外を操作
Arduino UNO +MIDI Shield
http://goo.gl/KWT2Cn
まとめ
● Chrome CanaryでWeb MIDI API実装済み!
○ Polyfillを使えばモダンブラウザで利用可能
● Web MIDI APIはすごくシンプル
○ Wrapperを使えばメッセージを理解する必要もない
● MIDIは楽器だけの規格にあらず
○ アイデア次第で夢は膨らむ
Web Music Developers JP
● 音楽系アプリ等に興味のあるかたはぜひ!
○ Web Audio API
○ Web MIDI API
○ Web RTC
Google Groups : http://goo.gl/G9U8Mr
Google+ : http://goo.gl/BULcuo

Más contenido relacionado

Similar a Chrome+HTML5 Developers Live Japan #8 - Web MIDI API

"楽器 WoT"が拓く未来の演奏体験
"楽器 WoT"が拓く未来の演奏体験"楽器 WoT"が拓く未来の演奏体験
"楽器 WoT"が拓く未来の演奏体験Yukio TADA
 
ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略Andy Hall
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmfAtomu Hidaka
 
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM,INC
 
Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都Kenichi Yoshida
 
bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2 bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2 BeatCraft
 
Tokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by IidaTokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by IidaHidenori Fujioka
 
ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向Keizo Tatsumi
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528Atomu Hidaka
 
20190604 control iotlt vol4 by kitazaki v1
20190604 control iotlt vol4 by kitazaki v120190604 control iotlt vol4 by kitazaki v1
20190604 control iotlt vol4 by kitazaki v1Ayachika Kitazaki
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Kenichi Yoshida
 
Windows 10 20H2はどうなる
Windows 10 20H2はどうなるWindows 10 20H2はどうなる
Windows 10 20H2はどうなるTomokazu Kizawa
 
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」Tomokazu Kizawa
 
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座Yuichi Ishii
 
ビッグデータがもたらすバス利用者向けサービスの未来像
ビッグデータがもたらすバス利用者向けサービスの未来像ビッグデータがもたらすバス利用者向けサービスの未来像
ビッグデータがもたらすバス利用者向けサービスの未来像Masaki Ito
 
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)Keizo Tatsumi
 

Similar a Chrome+HTML5 Developers Live Japan #8 - Web MIDI API (18)

"楽器 WoT"が拓く未来の演奏体験
"楽器 WoT"が拓く未来の演奏体験"楽器 WoT"が拓く未来の演奏体験
"楽器 WoT"が拓く未来の演奏体験
 
ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
 
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
 
Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都
 
bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2 bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2
 
Arduino MIDI Hack
Arduino MIDI HackArduino MIDI Hack
Arduino MIDI Hack
 
Tokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by IidaTokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by Iida
 
ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
 
20190604 control iotlt vol4 by kitazaki v1
20190604 control iotlt vol4 by kitazaki v120190604 control iotlt vol4 by kitazaki v1
20190604 control iotlt vol4 by kitazaki v1
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
 
Windows 10 20H2はどうなる
Windows 10 20H2はどうなるWindows 10 20H2はどうなる
Windows 10 20H2はどうなる
 
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
 
UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座UnityによるAR/VR/MR 開発体験講座
UnityによるAR/VR/MR 開発体験講座
 
オレオレ家電
オレオレ家電オレオレ家電
オレオレ家電
 
ビッグデータがもたらすバス利用者向けサービスの未来像
ビッグデータがもたらすバス利用者向けサービスの未来像ビッグデータがもたらすバス利用者向けサービスの未来像
ビッグデータがもたらすバス利用者向けサービスの未来像
 
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
 

Más de Ryoya Kawai

Web audio control-webaudio.tokyo
Web audio control-webaudio.tokyoWeb audio control-webaudio.tokyo
Web audio control-webaudio.tokyoRyoya Kawai
 
Web musicdevelopersmeetup@sapporo
Web musicdevelopersmeetup@sapporoWeb musicdevelopersmeetup@sapporo
Web musicdevelopersmeetup@sapporoRyoya Kawai
 
Web MIDI meets DIY #0
Web MIDI meets DIY #0Web MIDI meets DIY #0
Web MIDI meets DIY #0Ryoya Kawai
 
Making Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaMaking Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaRyoya Kawai
 
Web music開発環境
Web music開発環境Web music開発環境
Web music開発環境Ryoya Kawai
 
ブラウザとmidiの出会いが拓くwebとmusicの新しい世界
ブラウザとmidiの出会いが拓くwebとmusicの新しい世界ブラウザとmidiの出会いが拓くwebとmusicの新しい世界
ブラウザとmidiの出会いが拓くwebとmusicの新しい世界Ryoya Kawai
 
Breakout@TPAC 2013 (Entertain Web with Musical Instruments)
Breakout@TPAC 2013 (Entertain Web with Musical Instruments)Breakout@TPAC 2013 (Entertain Web with Musical Instruments)
Breakout@TPAC 2013 (Entertain Web with Musical Instruments)Ryoya Kawai
 
Chrome Packaged Apps
Chrome Packaged AppsChrome Packaged Apps
Chrome Packaged AppsRyoya Kawai
 

Más de Ryoya Kawai (8)

Web audio control-webaudio.tokyo
Web audio control-webaudio.tokyoWeb audio control-webaudio.tokyo
Web audio control-webaudio.tokyo
 
Web musicdevelopersmeetup@sapporo
Web musicdevelopersmeetup@sapporoWeb musicdevelopersmeetup@sapporo
Web musicdevelopersmeetup@sapporo
 
Web MIDI meets DIY #0
Web MIDI meets DIY #0Web MIDI meets DIY #0
Web MIDI meets DIY #0
 
Making Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaMaking Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music China
 
Web music開発環境
Web music開発環境Web music開発環境
Web music開発環境
 
ブラウザとmidiの出会いが拓くwebとmusicの新しい世界
ブラウザとmidiの出会いが拓くwebとmusicの新しい世界ブラウザとmidiの出会いが拓くwebとmusicの新しい世界
ブラウザとmidiの出会いが拓くwebとmusicの新しい世界
 
Breakout@TPAC 2013 (Entertain Web with Musical Instruments)
Breakout@TPAC 2013 (Entertain Web with Musical Instruments)Breakout@TPAC 2013 (Entertain Web with Musical Instruments)
Breakout@TPAC 2013 (Entertain Web with Musical Instruments)
 
Chrome Packaged Apps
Chrome Packaged AppsChrome Packaged Apps
Chrome Packaged Apps
 

Chrome+HTML5 Developers Live Japan #8 - Web MIDI API