Submit Search
Upload
AngularとWeb Audio APIはじめてみました
•
1 like
•
1,054 views
P
pastelInc
Follow
ng-kyoto meetup #2 Web Audio APIの発表資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 39
Recommended
Web Audio APIの初歩
Web Audio APIの初歩
Shota Kubota
Web Audio API 入門
Web Audio API 入門
Sota Sugiura
Web Audio APIを使って可聴域を調べるアプリをつくってみた
Web Audio APIを使って可聴域を調べるアプリをつくってみた
Shota Kubota
Web audio control-webaudio.tokyo
Web audio control-webaudio.tokyo
Ryoya Kawai
Web Audio API, Web MIDI API - 2015 html5 conference
Web Audio API, Web MIDI API - 2015 html5 conference
Ryoya Kawai
Web Audio APIで作る各種ウェブ楽器
Web Audio APIで作る各種ウェブ楽器
aike
インタラクションデザインについて、デザイナーが学ぶべきこと
インタラクションデザインについて、デザイナーが学ぶべきこと
Toshiaki Otsuka
喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由
Masaru Gushiken
Recommended
Web Audio APIの初歩
Web Audio APIの初歩
Shota Kubota
Web Audio API 入門
Web Audio API 入門
Sota Sugiura
Web Audio APIを使って可聴域を調べるアプリをつくってみた
Web Audio APIを使って可聴域を調べるアプリをつくってみた
Shota Kubota
Web audio control-webaudio.tokyo
Web audio control-webaudio.tokyo
Ryoya Kawai
Web Audio API, Web MIDI API - 2015 html5 conference
Web Audio API, Web MIDI API - 2015 html5 conference
Ryoya Kawai
Web Audio APIで作る各種ウェブ楽器
Web Audio APIで作る各種ウェブ楽器
aike
インタラクションデザインについて、デザイナーが学ぶべきこと
インタラクションデザインについて、デザイナーが学ぶべきこと
Toshiaki Otsuka
喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由
Masaru Gushiken
なるほど分かった!平成最後のApp Serviceハンズオン
なるほど分かった!平成最後のApp Serviceハンズオン
Takayuki Fuwa
スキスキIonic
スキスキIonic
Kon Yuichi
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Akira Ouchi
GPUと戯れる
GPUと戯れる
Serverworks Co.,Ltd.
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Shuichi Tsutsumi
AWSで自宅サーバ?
AWSで自宅サーバ?
祐磨 堀
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
pastelInc
smartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用について
剛志 森田
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発
Yusuke Goto
国会図書館サーチの概要
国会図書館サーチの概要
Kosuke Tanabe
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
mookjp
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
Ryoya Kawai
HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向
Shumpei Shiraishi
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介
aike
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Masayuki Abe
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
Kensaku Komatsu
Web Audio APIでシンセサイザーの作成
Web Audio APIでシンセサイザーの作成
aike
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
Kensaku Komatsu
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』
Futomi Hatano
More Related Content
What's hot
なるほど分かった!平成最後のApp Serviceハンズオン
なるほど分かった!平成最後のApp Serviceハンズオン
Takayuki Fuwa
スキスキIonic
スキスキIonic
Kon Yuichi
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Akira Ouchi
GPUと戯れる
GPUと戯れる
Serverworks Co.,Ltd.
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Shuichi Tsutsumi
AWSで自宅サーバ?
AWSで自宅サーバ?
祐磨 堀
What's hot
(7)
なるほど分かった!平成最後のApp Serviceハンズオン
なるほど分かった!平成最後のApp Serviceハンズオン
スキスキIonic
スキスキIonic
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
Opera Mobile for AndroidのカメラサポートをつかってWebコンテンツにカメラ機能をつけてみたお話
GPUと戯れる
GPUと戯れる
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
AWSで自宅サーバ?
AWSで自宅サーバ?
Viewers also liked
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
pastelInc
smartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用について
剛志 森田
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発
Yusuke Goto
国会図書館サーチの概要
国会図書館サーチの概要
Kosuke Tanabe
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
mookjp
Viewers also liked
(6)
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
smartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用について
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発
国会図書館サーチの概要
国会図書館サーチの概要
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
Similar to AngularとWeb Audio APIはじめてみました
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
Ryoya Kawai
HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向
Shumpei Shiraishi
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介
aike
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Masayuki Abe
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
Kensaku Komatsu
Web Audio APIでシンセサイザーの作成
Web Audio APIでシンセサイザーの作成
aike
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
Kensaku Komatsu
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』
Futomi Hatano
About WebRTC
About WebRTC
Seiya Konno
Mohawk presentation-gdg-kobe
Mohawk presentation-gdg-kobe
Tsubasa Kato
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編
Monaca
20220518_ongaqjs.pdf
20220518_ongaqjs.pdf
Hiroyuki Takakura
20141115 fx os-codereading
20141115 fx os-codereading
Noritada Shimizu
Capacitor
Capacitor
Masayuki KaToH
9th nov2012 kof2012
9th nov2012 kof2012
Kensaku Komatsu
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of Things
Futomi Hatano
Real time Media streaming Web technologies
Real time Media streaming Web technologies
Nobo Okada
Programming AWS with Python
Programming AWS with Python
Yasuhiro Matsuo
Mobile + HTML5
Mobile + HTML5
Shinobu Okano
Similar to AngularとWeb Audio APIはじめてみました
(20)
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
Web Audio APIでシンセサイザーの作成
Web Audio APIでシンセサイザーの作成
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』
About WebRTC
About WebRTC
Mohawk presentation-gdg-kobe
Mohawk presentation-gdg-kobe
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編
20220518_ongaqjs.pdf
20220518_ongaqjs.pdf
20141115 fx os-codereading
20141115 fx os-codereading
Capacitor
Capacitor
9th nov2012 kof2012
9th nov2012 kof2012
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of Things
Real time Media streaming Web technologies
Real time Media streaming Web technologies
Programming AWS with Python
Programming AWS with Python
Mobile + HTML5
Mobile + HTML5
Recently uploaded
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Recently uploaded
(12)
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
AngularとWeb Audio APIはじめてみました
1.
AngularJSとWeb Audio API はじめてみました
2.
自己紹介
3.
pastelInc 京都在住 仕事ではPHP よろしくお願いします
4.
今日の目標
5.
• Web Audio
APIのワクワクを感じてもらう • Angularでも使えることを知ってもらう • Web Audio APIを一回触りたいと思ってもら う
6.
Web Audio APIの 心が躍るサービス達
7.
X-Sound https://github.com/Korilakkuma/X-Sound
8.
Audio Trackr https://github.com/chrisbateman/Audio-Trackr
9.
先日のYAPCにて
10.
WebAudio 300bps FSK modem https://github.com/cho45/WebAudio-Modem http://cho45.stfuawsc.com/WebAudio-Modem/FSK/modem.html
11.
Angular以外にももちろんあります http://chromium.googlecode.com/svn/ trunk/samples/audio/index.html
12.
Web Audio API のことを知る
13.
Web Audio APIの目標 •
Webベースのゲーム、インタラクティブな体 験を提供する • ミキシング、プロセシング、フィルタリング処 理機能をもたせる
14.
Web Audio APIの機能 •
低レイテンシーな音の再生 • JavaScriptでのオーディオストリームの合成と加工 • 異なるAudioNodeを任意に繋げる機能 (モジュラールーティング) • 3Dゲームをサポートする空間音響=ドップラーとか • オシレータ=発振器 (周期性をもつ持続的な振動を発生させる装置)
15.
モジュラールーティング?
16.
例
17.
モジュラールーティング • すべての接続はAudioContext内部で行われる • ソースノードには入力がない •
ディスティネーションノードには出力がない • ディスティネーションノードが最終的なオーディオハー ドウェアにつながる • フィルタなどのノードはこの2つの間に配置する
18.
AudioNode • 入力や出力を持つ • 入力を処理し、出力にオーディオ信号を送り 出す •
出力は1つ以上のチャンネルを持つ • 複数の入力に対して足しあわせを行う
19.
ソースとなるAudioNode • OscillatorNode =発振器。周期的な波形を出力。周波数と波形設定ができる • AudioBufferSourceNode =バッファデータを出力。再生速度、ループ設定ができる •
MediaElementAudioSourceNode =audioタグをソースにして出力。 • MediaStreamAudioSourceNode =WebRTCのMediaStreamをソースに出力。マイク信号など
20.
AudioContext • Web Audio
APIの起点 • AudioNodeの作成を制御する • 入出力用のAudioNodeの生成もここから • 一つのインスタンスで複数の入力に対応でき る
21.
イメージしずらい と思ったら
22.
Web Audio PlayGround https://github.com/cwilso/WebAudio
23.
Web Audio APIの はじめかた in
Angular
24.
題材 • 正弦波プレイヤー • 簡単な例でモジュラールーティングを理解す る •
start/stopボタンで発生をコントロール • 振幅調節機能もつける
25.
繋げるノードたち • ソースノード =OscillatorNode • ボリューム操作 =GainNode •
デスティネーションノード =AudioDestinationNode
26.
図にすると
27.
context • factoryメソッドでAudioContextをサービスに 登録 • 一度インスタンスを作成したらそれっきりで いい •
AudioContextをラップしてあげるだけ
28.
oscillator • 正弦波をコントロールするサービス • start/stop/volumeをコントロールできる
29.
player • カスタムdirectiveに実装 • ユーザーのボタンクリックに合わせてオシレー タを使う
30.
正弦波聞こえた!
31.
stopして再度start
32.
できない!
33.
なぜなら • 一度start→stopさせたソースノードは再度 作って接続してあげないといけない • 一度startしたソースノードに再度startをする とエラーなので再度startする前にはstopを行 う
34.
どうするか • stopしたタイミングで再度オシレータの作 成、接続を行う • $watchでプレイヤーの再生状況をチェックし てstopしたタイミングに↑を行う •
playerに実装した
35.
結果
36.
困った問題 • GainNode以外のAudioNodeが増えたときど うするのか • start/stopのチェックはdirective?service?どち らに書くのか迷った •
音楽や信号処理の専門用語が多くてオーディ オ、音波に関する知識が求められる
37.
まとめ • Web Audio
APIはすでに数多く実装例がある ライブラリも幾らかある • AudioContextが利用の起点になる • OscillatorNodeはstopを実行すると再生成し てあげる必要がある
38.
勉強した情報元 • https://webmusicdevelopers.appspot.com/ codelabs/webaudio/index.html?ja-jp • http://g200kg.github.io/web-audio-api-ja/ •
http://mmckegg.github.io/web-audio-school/ • http://qiita.com/mohayonao/items/ d79e9fc56b4e9c157be1
39.
ご静聴 ありがとうございました!