Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AngularJSとWeb Audio APIはじめてみました
Search
Kenichiro Okada
August 30, 2015
Technology
0
370
AngularJSとWeb Audio APIはじめてみました
Angular meetup #2での資料です
Kenichiro Okada
August 30, 2015
Tweet
Share
More Decks by Kenichiro Okada
See All by Kenichiro Okada
将来を語るのが苦手なメンバーと向き合ってわかったこと
pastelinc
0
17
探索的なスタイルでフィードバックを使って、学びを豊かにしてみよう!
pastelinc
0
50
100%の傾聴を実践する
pastelinc
0
110
組織を変革する最初の一歩に躓いたけど、それはそれで良かった話
pastelinc
1
1.5k
ひとりでも安定して 組織を変える活動を続けていくための ストレスマネジメント
pastelinc
0
2.1k
慣習から旅立つチーム
pastelinc
0
1.4k
Progressive Web Apps
pastelinc
0
400
AngularJSを通してDockerと触れ合った
pastelinc
0
980
Other Decks in Technology
See All in Technology
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.1k
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
230
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
770
Microsoft Agent Frameworkの可観測性
tomokusaba
1
110
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
330
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
2
200
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.1k
AWSに革命を起こすかもしれない新サービス・アップデートについてのお話
yama3133
0
510
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
190
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
590
AI駆動開発の実践とその未来
eltociear
2
500
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
110
Evolving SEO for Evolving Search Engines
ryanjones
0
76
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
31
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
51
Amusing Abliteration
ianozsvald
0
71
Raft: Consensus for Rubyists
vanstee
141
7.3k
Are puppies a ranking factor?
jonoalderson
0
2.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
51
46k
Transcript
AngularJSͱWeb Audio API ͡ΊͯΈ·ͨ͠
ࣗݾհ
pastelInc ژࡏॅ ࣄͰPHP ΑΖ͓͘͠ئ͍͠·͢
ࠓͷඪ
• Web Audio APIͷϫΫϫΫΛײͯ͡Β͏ • AngularͰ͑Δ͜ͱΛͬͯΒ͏ • Web Audio APIΛҰճ৮Γ͍ͨͱࢥͬͯΒ
͏
Web Audio APIͷ ৺͕༂ΔαʔϏεୡ
X-Sound https://github.com/Korilakkuma/X-Sound
Audio Trackr https://github.com/chrisbateman/Audio-Trackr
ઌͷYAPCʹͯ
WebAudio 300bps FSK modem https://github.com/cho45/WebAudio-Modem http://cho45.stfuawsc.com/WebAudio-Modem/FSK/modem.html
AngularҎ֎ʹͪΖΜ͋Γ·͢ http://chromium.googlecode.com/svn/ trunk/samples/audio/index.html
Web Audio API ͷ͜ͱΛΔ
Web Audio APIͷඪ • WebϕʔεͷήʔϜɺΠϯλϥΫςΟϒͳମ ݧΛఏڙ͢Δ • ϛΩγϯάɺϓϩηγϯάɺϑΟϧλϦϯάॲ ཧػೳΛͨͤΔ
Web Audio APIͷػೳ • ϨΠςϯγʔͳԻͷ࠶ੜ • JavaScriptͰͷΦʔσΟΦετϦʔϜͷ߹ͱՃ • ҟͳΔAudioNodeΛҙʹܨ͛Δػೳ ʢϞδϡϥʔϧʔςΟϯάʣ
• 3DήʔϜΛαϙʔτ͢ΔۭؒԻڹʹυοϓϥʔͱ͔ • ΦγϨʔλʹൃৼث ʢपظੑΛͭ࣋ଓతͳৼಈΛൃੜͤ͞Δஔʣ
ϞδϡϥʔϧʔςΟϯάʁ
ྫ
ϞδϡϥʔϧʔςΟϯά • ͯ͢ͷଓAudioContext෦ͰߦΘΕΔ • ιʔεϊʔυʹೖྗ͕ͳ͍ • σΟεςΟωʔγϣϯϊʔυʹग़ྗ͕ͳ͍ • σΟεςΟωʔγϣϯϊʔυ͕࠷ऴతͳΦʔσΟΦϋʔ υΣΞʹͭͳ͕Δ
• ϑΟϧλͳͲͷϊʔυ͜ͷ̎ͭͷؒʹஔ͢Δ
AudioNode • ೖྗग़ྗΛ࣋ͭ • ೖྗΛॲཧ͠ɺग़ྗʹΦʔσΟΦ৴߸ΛૹΓ ग़͢ • ग़ྗ1ͭҎ্ͷνϟϯωϧΛ࣋ͭ • ෳͷೖྗʹରͯ͋͠͠ΘͤΛߦ͏
ιʔεͱͳΔAudioNode • OscillatorNode ʹൃৼثɻपظతͳܗΛग़ྗɻपͱܗઃఆ͕Ͱ͖Δ • AudioBufferSourceNode ʹόοϑΝσʔλΛग़ྗɻ࠶ੜɺϧʔϓઃఆ͕Ͱ͖Δ • MediaElementAudioSourceNode ʹaudioλάΛιʔεʹͯ͠ग़ྗɻ
• MediaStreamAudioSourceNode =WebRTCͷMediaStreamΛιʔεʹग़ྗɻϚΠΫ৴߸ͳͲ
AudioContext • Web Audio APIͷى • AudioNodeͷ࡞Λ੍ޚ͢Δ • ೖग़ྗ༻ͷAudioNodeͷੜ͔͜͜Β •
ҰͭͷΠϯελϯεͰෳͷೖྗʹରԠͰ͖ Δ
Πϝʔδͣ͠Β͍ ͱࢥͬͨΒ
Web Audio PlayGround https://github.com/cwilso/WebAudio
Web Audio APIͷ ͡Ί͔ͨ in Angular
ࡐ • ਖ਼ݭϓϨΠϠʔ • ؆୯ͳྫͰϞδϡϥʔϧʔςΟϯάΛཧղ͢ Δ • start/stopϘλϯͰൃੜΛίϯτϩʔϧ • ৼ෯ௐઅػೳ͚ͭΔ
ܨ͛Δϊʔυͨͪ • ιʔεϊʔυ ʹOscillatorNode • ϘϦϡʔϜૢ࡞ ʹGainNode • σεςΟωʔγϣϯϊʔυ ʹAudioDestinationNode
ਤʹ͢Δͱ
context • factoryϝιουͰAudioContextΛαʔϏεʹ ొ • ҰΠϯελϯεΛ࡞ͨ͠ΒͦΕ͖ͬΓͰ ͍͍ • AudioContextΛϥοϓͯ͋͛͠Δ͚ͩ
oscillator • ਖ਼ݭΛίϯτϩʔϧ͢ΔαʔϏε • start/stop/volumeΛίϯτϩʔϧͰ͖Δ
player • ΧελϜdirectiveʹ࣮ • ϢʔβʔͷϘλϯΫϦοΫʹ߹ΘͤͯΦγϨʔ λΛ͏
ਖ਼ݭฉ͑ͨ͜ʂ
stopͯ͠࠶start
Ͱ͖ͳ͍ʂ
ͳͥͳΒ • Ұstart→stopͤͨ͞ιʔεϊʔυ࠶ ࡞ͬͯଓͯ͋͛͠ͳ͍ͱ͍͚ͳ͍ • Ұstartͨ͠ιʔεϊʔυʹ࠶startΛ͢Δ ͱΤϥʔͳͷͰ࠶start͢ΔલʹstopΛߦ ͏
Ͳ͏͢Δ͔ • stopͨ͠λΠϛϯάͰ࠶ΦγϨʔλͷ࡞ ɺଓΛߦ͏ • $watchͰϓϨΠϠʔͷ࠶ੜঢ়گΛνΣοΫ͠ ͯstopͨ͠λΠϛϯάʹˢΛߦ͏ • playerʹ࣮ͨ͠
݁Ռ
ࠔͬͨ • GainNodeҎ֎ͷAudioNode͕૿͑ͨͱ͖Ͳ ͏͢Δͷ͔ • start/stopͷνΣοΫdirective?service?Ͳͪ Βʹॻ͘ͷ͔໎ͬͨ • Իָ৴߸ॲཧͷઐ༻ޠ͕ଟͯ͘ΦʔσΟ ΦɺԻʹؔ͢Δ͕ࣝٻΊΒΕΔ
·ͱΊ • Web Audio API͢Ͱʹଟ࣮͘ྫ͕͋Δ ϥΠϒϥϦزΒ͔͋Δ • AudioContext͕ར༻ͷىʹͳΔ • OscillatorNodestopΛ࣮ߦ͢Δͱ࠶ੜ͠
ͯ͋͛Δඞཁ͕͋Δ
ษڧͨ͠ใݩ • 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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ