<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>Web Music &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/web-music/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>Web Music Developer Meetup@札幌レポート</title>
		<link>/ryoyakawai/17532/</link>
		<pubDate>Fri, 25 Dec 2015 00:00:02 +0000</pubDate>
		<dc:creator><![CDATA[河合良哉]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[MIDI]]></category>
		<category><![CDATA[TPAC]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Web Music]]></category>

		<guid isPermaLink="false">/?p=17532</guid>
		<description><![CDATA[本記事は2015年10月25日に札幌で行われたWeb Music Developer Meetup@札幌のレポートです。 Meetupを「札幌」で行うキッカケ 2015年10月末はなぜか札幌でのイベントが多かったと思いま...]]></description>
				<content:encoded><![CDATA[<p>本記事は2015年10月25日に札幌で行われたWeb Music Developer Meetup@札幌のレポートです。<br />
<img src="/wp-content/uploads/2015/11/sapporo01.jpg" alt="sapporo00" width="480" class="aligncenter size-large wp-image-17539" /></p>

<h1>Meetupを「札幌」で行うキッカケ</h1>

<p>2015年10月末はなぜか札幌でのイベントが多かったと思いますが、これ実はW3C Technical Plenary / Advisory Committee(通称：TPAC、てぃーぱっく)というMeetingが札幌で行われたからなのです。</p>

<p>詳細は<a href="https://html5experts.jp/yusuke-naka/16710/" data-wpel-link="internal">Web技術の最新動向と未来を知る！〜Leading the way to W3C TPAC 2015〜【TPAC紹介編】</a>にも書かれていますが、ここでも軽くご説明します。TPACとはWebの標準化団体であるW3Cが年に1回行う全体会合で、通常10月最終週の5日間で北米、ヨーロッパ、アジアのどこかで開催されます。</p>

<p><strong>全体会合</strong>とはいえ、5日間通して全体会議をしている訳ではなくて、実際に全体で集まるのはたいて中間日のTechnical Plenary Dayと呼ばれる日。この日だけはアンカンファレンス形式で進められ、当日の朝に話したい内容がある人が場所を確保して分科会(Breakout Session)を行う、という流れになっています。
<figure>
<img src="/wp-content/uploads/2015/11/breakout00.jpg" alt="breakout00" width="640" class="aligncenter size-medium wp-image-17535" srcset="/wp-content/uploads/2015/11/breakout00.jpg 640w, /wp-content/uploads/2015/11/breakout00-300x200.jpg 300w, /wp-content/uploads/2015/11/breakout00-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption class="aligncenter">分科会の場所を確保する様子</figcaption>
</figure></p>

<p>この日以外は、W3Cにある43のワーキング・グループ（2015年11月6日現在）からそれぞれが議論したい内容、メンバーのスケジュールから日程設定してFace to Faceでのミーティングを行っています。たいていの場合メンバーは世界各国に散らばっているため、普段は電話での会議をしているので顔を合わせてミーティングを行うのは、非常に貴重な時間となっています。</p>

<p>前段が長くなりましたが、ここから本題です。Web Audio API、Web MIDI API（Web Music）の仕様を策定しているのはW3Cのオーディオ・ワーキンググループ(Audio WG)。今回のTPACでは26日、27日にミーティングを行うことになりましたので、せっかくのこの機会に「Audio WGのメンバーとイベントやろう！」と思い立ったのが、今回のMeetupのキッカケです。</p>

<h1>「札幌」でWeb Musicは初めて</h1>

<p>今まで日本で開催されたWeb Music関連イベントは、東京と京都でのハッカソンとMeetup1回だったので、北海道では初めて。そこで、Meetupにして「Web Musicとはなんぞ？」を中心に伝えられるように、以下の方々に登壇していただきました。</p>

<ul>
<li><a href="https://html5experts.jp//twitter.com/ryoyakawai" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">かわい りょうや</a>（開発者、私です）</li>
<li><a href="https://html5experts.jp//twitter.com/cwilso" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chris Wilson 氏</a> (Web Audio/MIDI 仕様の編集者)</li>
<li><a href="https://html5experts.jp//twitter.com/aike1000" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">藍 圭介 氏</a>（開発者）</li>
<li><a href="https://html5experts.jp//twitter.com/toyoshim" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">豊島 隆志 氏</a>（ChromiumコミッターでWeb MIDI APIの実装者）</li>
<li><a href="https://html5experts.jp//twitter.com/joeberkovitz" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Joe Berkovitz 氏</a> (Audio WGの共同議長)</li>
<li><a href="https://html5experts.jp//twitter.com/sascacci" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">渡邊 正和 氏</a>（開発者：VJアプリを主に開発）</li>
</ul>

<h1>セッションの内容</h1>

<h3>かわい りょうや</h3>

<p>Web Audio、Web MIDIとは何か、何ができるのか、どのブラウザで使えるのかを中心に話をしました<a href="https://html5experts.jp/ryoyakawai/12569/" data-wpel-link="internal">ブラウザで電子楽器を作ってみよう！</a>でご紹介したWeb Audioで作ったアナログ・シンセ、FMシンセの紹介とデモを行い、基本的な使い方とできることの説明、またそれに加えて今回はServiceworkerを使ったオフラインでの動作のデモ、またデスクトップからアプリを起動できるWebApp Manifestのデモも実施。モバイル上でもWebアプリは進化していてNativeアプリに近づいていることの説明を行いました。<br />
▶ <a href="https://www.slideshare.net/ryoyakawai/web-musicdevelopersmeetupsapporo" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><strong>スライド</strong></a></p>

<h3>Chris Wilson 氏</h3>

<p><img src="/wp-content/uploads/2015/11/cwilso-300x200.jpg" alt="cwilso" width="300" height="200" class="aligncenter size-medium wp-image-17597" srcset="/wp-content/uploads/2015/11/cwilso-300x200.jpg 300w, /wp-content/uploads/2015/11/cwilso.jpg 640w, /wp-content/uploads/2015/11/cwilso-207x138.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" />
<strong>Making the Web Rock</strong>というタイトルで<a href="http://webaudiodemos.appspot.com/MIDIDrums/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Drum Machine</a>、<a href="https://webaudiodemos.appspot.com/Vocoder/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ボコーダー</a>、<a href="https://webaudiodemos.appspot.com/input/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Audio Input Effect</a>、<a href="http://webaudiodemos.appspot.com/wubwubwub/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">DJ</a>と次々にデモを披露していただき、「Web Audio API、Web MIDI APIを使うとWebブラウザ上でここまでできます」という点を幅広く説明してくれました。また「この<a href="https://aerotwist.com/blog/guitar-tuner/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webアプリのチューナ</a>ができたおかげでOSネイティブなチューナーアプリ（iOSやAndroidのアプリ）は全部消した」という実話も披露していただきました。チューナーとは音の周波数（音程）を正しく調整する為に使う器具のことです。<br />
▶ <a href="http://webaudiodemos.appspot.com/slides/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><strong>スライド</strong></a></p>

<p>ここでChris氏の発表の中から「Webアプリのチューナ以外のOSネイティブなチューナーアプリを削除できた」という点について、旬な話題ですので少しだけご紹介します。</p>

<p><strong>どのようにWebアプリのチューナーが実装されているか</strong><br />
チューナーは例えばギターの弦1本1本を正しく調整（チューニング）する為に、1本の弦を弾いた時に発せられる音声を入力して周波数を正しく表示します。この表示に従って、弦毎にあるべき周波数にチューニングをすることで常に正しい音で演奏しています。このチューニングは演奏する間に必ず行うので、自宅のみならず、あらゆる場所で動作することが求められます。ここでまとめるとチューナーという器具には最低限以下の2つの要件を満足することが求められます。</p>

<ul>
<li>入力した音声の周波数を正しく表示する</li>
<li>携帯性に優れている</li>
</ul>

<p>モバイル・デバイスのアプリ（iOSアプリケ、androidアプリ；以後「モバイルアプリ」と略します）で製作したチューナーはこれらの2つの要件を満足します。チューニングに関してはマイクから入力した音の周波数を正しく表示するよく知られたアルゴリズムがありますし、携帯性に関してもチューナーアプリを一度ダウンロードしてインストールしてしまえばネットワークへの接続に左右されることなく携帯端末上で動作することが可能ですので、  場所を選ばずどこでも動作します。<br />
前置きが長くなりましたが、ここからがこの2つの要件をどうやってWebアプリとして再現するのか？という点です。1つ目の「入力した音声の周波数を正しく表示する」に関しては、getUserMedia()を使いマイク入力をWeb Audio APIを使って周波数を割り出せばなんとか出来そうだと、とお気づきになると思います。しかしながら「携帯性に優れている」の点はいかがでしょうか？ネットワーク接続なしにどうやってWebアプリを動作させるのでしょうか？<br />
その解決には <em>Service Worker</em> を使います。Webアプリを最初に起動した時に、アプリ全体をキャッシュしてしネットワーク接続のに場合はそのキャッシュを利用してアプリを動かすのです。WebアプリのチューナのService Workerの実装は<a href="https://guitar-tuner.appspot.com/sw.js" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ココ</a>にされています。詳しい解説はここでは割愛しますが、Servive Workerインストール時（最初にサイトを表示した時と考えていただいて問題ありません）に、以下の部分でWebアプリのチューナーに必要なファイルをキャッシュしていることが分かります。</p>

<p></p><pre class="crayon-plain-tag">self.oninstall = function(event) {

  var urls = [

    '/',
    '/images/chrome-touch-icon-192x192.png',

    '/scripts/guitartuner-core.js',

    '/elements/audio-processor/audio-processor.html',
    '/elements/audio-visualizer/audio-visualizer.html',
    '/elements/tuning-instructions/tuning-instructions.html',
    '/elements/tuning-instructions/tick.svg',
    '/elements/tuning-instructions/up-down.svg',

    '/third_party/polymer.html',
    '/third_party/webcomponents-lite.min.js',

    '/third_party/Roboto/Roboto-100.woff2',
    '/third_party/Roboto/Roboto-300.woff2',
    '/third_party/Roboto/Roboto-400.woff2',

    '/favicon.ico',
    '/manifest.json'

  ];

  urls = urls.map(function(url) {
    return new Request(url, {credentials: 'include'});
  });

  event.waitUntil(
    caches
      .open(CACHE_NAME + '-v' + CACHE_VERSION)
      .then(function(cache) {
        return cache.addAll(urls);
      })
  );

};</pre><p></p>

<p>もう1点は起動に関してです。Webアプリとして再現できたのに、起動がブラウザのブックマークからだったり、URLバーが表示されていては少しガッカリです。androidであれば、Webアプリであっても、ホーム画面のアイコンから起動し、URLバーを表示しないことが可能です。また起動時のデバイスの向き、スプラッシュ画面（起動処理中に表示する画像）を設定することも可能です。これを <em>Web App Manifest</em> と呼ばれる機能になります。Webアプリのチューナでは<a href="https://guitar-tuner.appspot.com/manifest.json" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ココ</a>に実装されています。</p>

<p></p><pre class="crayon-plain-tag">{
  "short_name": "Guitar Tuner",
  "name": "Guitar Tuner",
  "start_url": "./?utm_source=web_app_manifest",
  "icons": [
    {
      "src": "/images/chrome-touch-icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    }
  ],
  "display": "standalone",
  "orientation": "portrait"
}</pre><p> 
この数行のJSONを設置して、メインとなるHTMLには以下の1行を追加して読み込ませたらモバイルアプリと同じユーザー体験（ホーム画面からの起動）を提供することが可能になります。
</p><pre class="crayon-plain-tag">&lt;link rel="manifest" href="/manifest.json"&gt;</pre><p></p>

<p>詳細な説明は割愛してしまいましたが、こういった技術を使ってProgressive Web Appsを作ってみてはいかがでしょうか？</p>

<h3>藍 圭介 氏</h3>

<p><img src="/wp-content/uploads/2015/11/aike-300x200.jpg" alt="aike" width="300" height="200" class="aligncenter size-medium wp-image-17599" srcset="/wp-content/uploads/2015/11/aike-300x200.jpg 300w, /wp-content/uploads/2015/11/aike.jpg 640w, /wp-content/uploads/2015/11/aike-207x138.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" />
<strong>Web Audio API Creative Coding</strong>というタイトルで、moogのアナログシンセのWeb版の<a href="http://aikelab.net/websynth/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">2D版</a>、<a href="http://aikelab.net/websynthv2/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">3D版</a>、それ以外にもセンサーを使うことで<a href="http://aikelab.net/iphonewah/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Wahペダル</a>だったり、<a href="http://aikelab.net/sw/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ライトセーバー</a>のような動きに反応するアプリケーションも作ることが可能というデモを実施。Web Audio/MIDI以外のAPIとの親和性も高く、手軽に使えることから「Web Audio/MIDIは音楽のためのみならず、表現メディアのプラットフォームになり得る」という点をご説明してくださいました。<br />
▶ <a href="http://aikelab.net/wmmu/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><strong>スライド</strong></a></p>

<h3>豊島 隆志 氏</h3>

<p><img src="/wp-content/uploads/2015/11/toyoshim-300x200.jpg" alt="toyoshim" width="300" height="200" class="aligncenter size-medium wp-image-17600" srcset="/wp-content/uploads/2015/11/toyoshim-300x200.jpg 300w, /wp-content/uploads/2015/11/toyoshim.jpg 640w, /wp-content/uploads/2015/11/toyoshim-207x138.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" />
<strong>Chrome Web MIDI 2015</strong>というタイトルで発表。実際にChromeに実装をしているので、今までのWeb MIDIの実装の歴史、AndroidのWeb ViewでもOperaでもElectronでもChromeと同じようにWeb MIDIが使えるようになっていること、Firefoxでの実装状況、Web MIDI APIの使われる頻度等、APIを実装するという視点から発表をしてくれました。<br />
▶ <a href="http://www.slideshare.net/toyoshim/chrome-web-midi-2015-54372357" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><strong>スライド</strong></a></p>

<h3>Joe Berkovitz 氏</h3>

<p><img src="/wp-content/uploads/2015/11/joe-300x200.jpg" alt="joe" width="300" height="200" class="aligncenter size-medium wp-image-17601" srcset="/wp-content/uploads/2015/11/joe-300x200.jpg 300w, /wp-content/uploads/2015/11/joe.jpg 640w, /wp-content/uploads/2015/11/joe-207x138.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" />
<strong>Music Notation and W3C:
Framing the Future</strong>というタイトルでの発表。Audio WGの共同議長でもあり、また2015年7月にW3CでMusic Notation Community Group(楽譜に関するグループ)の立ち上げも行っており、普段はnoteflight Inc.にてブラウザ上で楽譜を表示、演奏するアプリケーションを開発しています。今回の発表では、Noteflightが実際に楽譜表示を軸にどういった機能を実装しているのか、またWeb上で表示できるようになるとどう変わるのかをデモを交えながらの発表でした。<br />
▶ <a href="https://html5experts.jp/wp-content/uploads/2015/11/MusicNotationNext.pdf" data-wpel-link="internal"><strong>スライド(PDF)</strong></a></p>

<h3>渡邊 正和 氏</h3>

<p><img src="/wp-content/uploads/2015/11/watanabe-300x200.jpg" alt="watanabe" width="300" height="200" class="aligncenter size-medium wp-image-17602" srcset="/wp-content/uploads/2015/11/watanabe-300x200.jpg 300w, /wp-content/uploads/2015/11/watanabe.jpg 640w, /wp-content/uploads/2015/11/watanabe-207x138.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" />
<strong>ライブパフォーマンス、その他（例えば教育）でのWeb Audio/MIDIの活用事例</strong>を紹介。Audio/MIDIがWeb上で使えることで拡がった、音楽の世界を語ってくれました。<a href="https://dl.dropboxusercontent.com/u/50143793/app/lissajous_float.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">リサジューのデモ</a>も披露。</p>

<ul>
<li><a href="http://sascacci-blog.tumblr.com/post/126325315693/takashi-mori-x-masakazu-watanabe" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Takashi Moriさんの演奏とのコラボ</a></li>
<li><a href="http://sascacci-blog.tumblr.com/post/132239501178/networks" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">NETWORKSとのコラボ</a></li>
<li><a href="http://sascacci-blog.tumblr.com/post/127920844973/%E3%82%A8%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AD%E3%83%9C%E3%82%A4%E3%82%B9%E3%81%A8%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%82%A2%E3%83%BC%E3%83%88" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">エレクトロボイスとビジュアルアート</a></li>
</ul>

<h1>Lightning Talk</h1>

<p>3名、1団体からの発表がありました。</p>

<ul>
<li><a href="https://twitter.com/aklaswad" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@aklaswad</a>さん:
wani[WebAudio N Interface]の<a href="http://aklaswad.github.io/wani/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">デモ</a></li>
<li><a href="https://twitter.com/edy555" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">高橋さん</a>：<a href="https://github.com/ttrftech/threejs-spectrum" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ワンセグチューナーから電波を拾ってthree.jsで電波を表示するデモ</a></li>
<li><a href="https://twitter.com/plusadd" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">小池さん</a>：楽譜アプリのpiaScoreの説明とPlasaddがスタッフ募集している件、</li>
<li><a href="http://jp.yamaha.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ヤマハ株式会社</a>：MIDI、音楽系でよく使われるOSC(OpenSound Control)と、Web Socketをごちゃ混ぜのシステムでも簡単に構築できるRaspberry Piで作ったシステムの紹介がありました。</li>
</ul>

<h1>Meetupを終えて</h1>

<p>今回Audio WGでコアに動いている方のほとんどがMeetupに足を運んでくれたこともあって、日本の皆さんにはもとより、Audio WGの皆様には「こういう使われ方もしている」という現状を見ていただけて、とてもよい機会になったと思っています。今後もこういう機会があったら企画したいと考えています。<br />
▶ <a href="https://plus.google.com/u/0/events/coke57atppv4rvgkiueu5mco7tg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><strong>写真等</strong></a></p>

<h1>おまけ：Web Audio、Web MIDIの進捗に関して</h1>

<p>W3Cが定める仕様策定までの5段階のうち、Web Audio/MIDI共に、現在は1つ目の段階（WD:Working Draft）です。しかし、Web Audioは次の段階（LC:Last Call）へと進む気配があります。早くて年内、遅くとも来年4月（<a href="http://webaudio.gatech.edu/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Audio Conference 2016があります</a>）ではないでしょうか。またWeb MIDIに関してもFirefoxに実装が進んでいてMac OSでは動いているとのことですので、こちらも次の段階へ進むことへの期待ができるでしょう。</p>

<p><figure>
<img src="/wp-content/uploads/2015/11/audiowg-640x427.jpg" alt="audiowg" width="640" height="427" class="aligncenter size-large wp-image-17579" srcset="/wp-content/uploads/2015/11/audiowg.jpg 640w, /wp-content/uploads/2015/11/audiowg-300x200.jpg 300w, /wp-content/uploads/2015/11/audiowg-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption class="aligncenter">Audio WGのミーティングの様子</figcaption>
</figure></p>

<p>それでは、今後もWeb Musicをよろしくお願いします！</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
