SlideShare a Scribd company logo
1 of 15
Download to read offline
Web Audio APIを使って
可聴域を調べるアプリを
つくってみた
@kubosho_
自己紹介
• /kubosho_?/
• 社所属

「 社」でググると一番上に出てきます
• http://blog.o2p.jp/
• へのへのもへじの人
• Web Audio APIに最近触れ始めました
目次
• 可聴域を調べるアプリをつくってみた
• ハマったところ
可聴域を調べる
アプリをつくってみた
サンプル
http://kubosho.github.io/hearing-test-app/
AndroidのかたはChromeを使ってください
このアプリについて
• 20Hz∼20,000Hzまでの音を出力する
• 周波数はレンジを使って変更することができ
る
• 再生と停止ボタンを使って、自分で任意のタ
イミングで音を鳴らしたり、止めたりするこ
とができる
やってること
• 最初に周波数を引数として、init()を呼びだす

内部ではcreateOscillator()で正弦波を作りだし
た後、その正弦波の周波数設定をおこなう
• connect()で作りだした音と出力先をつなぐ
• 再生が押されるとstart()が、停止が押されると
stop()が呼びだされる
つくろうと思ったきっかけ
つくろうと思ったきっかけ
• Web Audio APIを使って何かしらつくりた
かった
• 聴力検査という言葉にピコンときて、つくろ
うと思った
ハマったところ
OscillatorNodeが使い捨て
• 再生し停止した後、ふたたび再生しようとし
たら以下のエラーが出た
• Uncaught InvalidStateError: Failed to execute
'start' on 'OscillatorNode': cannot call start
more than once.
OscillatorNodeが使い捨て
• OscillatorNodeに限らずAudioNodeは、条件
を満たした際にガベージコレクションされる
• Vue.jsの$watchでisPlaySoundという再生状態
かどうかのフラグを監視して、値がfalseだっ
たら、音を再生成+作った音と出力をつなぐ
終わり
参考文献
参考文献
• Web Audio API (日本語訳): http://
g200kg.github.io/web-audio-api-ja/
• サウンドの生成 | Web Audio APIの基本処理 |
WEB SOUNDER - Web Audio API 解説 -
http://curtaincall.weblike.jp/portfolio-web-
sounder/webaudioapi-basic/oscillator

More Related Content

What's hot

WEB MIDI APIをうまく使うための話
WEB MIDI APIをうまく使うための話WEB MIDI APIをうまく使うための話
WEB MIDI APIをうまく使うための話Shin Fujisawa
 
20141115 fx os-codereading
20141115 fx os-codereading20141115 fx os-codereading
20141115 fx os-codereadingNoritada Shimizu
 
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -Ryoya Kawai
 
Androidの音声読み上げ機能とは
Androidの音声読み上げ機能とはAndroidの音声読み上げ機能とは
Androidの音声読み上げ機能とは高見 知英
 
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトiOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトShuichi Tsutsumi
 
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介自作ウェブ楽器の紹介
自作ウェブ楽器の紹介aike
 
Web audio control-webaudio.tokyo
Web audio control-webaudio.tokyoWeb audio control-webaudio.tokyo
Web audio control-webaudio.tokyoRyoya Kawai
 
music app research1
music app research1music app research1
music app research1Ken Nakai
 

What's hot (8)

WEB MIDI APIをうまく使うための話
WEB MIDI APIをうまく使うための話WEB MIDI APIをうまく使うための話
WEB MIDI APIをうまく使うための話
 
20141115 fx os-codereading
20141115 fx os-codereading20141115 fx os-codereading
20141115 fx os-codereading
 
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
 
Androidの音声読み上げ機能とは
Androidの音声読み上げ機能とはAndroidの音声読み上げ機能とは
Androidの音声読み上げ機能とは
 
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトiOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
 
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介自作ウェブ楽器の紹介
自作ウェブ楽器の紹介
 
Web audio control-webaudio.tokyo
Web audio control-webaudio.tokyoWeb audio control-webaudio.tokyo
Web audio control-webaudio.tokyo
 
music app research1
music app research1music app research1
music app research1
 

Viewers also liked

AWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行け
AWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行けAWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行け
AWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行けHajime Ogushi
 
WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!mganeko
 
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D WeekズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D WeekMignon Style
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT Akabane Hiroyuki
 
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務Yutaka Kachi
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 

Viewers also liked (7)

AWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行け
AWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行けAWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行け
AWS Summit Tokyo 2015 megane LT JAWS-UG TRAIN TRAIN 栄光に向かって走って行け
 
WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!
 
LTのネタLT
LTのネタLTLTのネタLT
LTのネタLT
 
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D WeekズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
ズルいLT 〜はじめてのライトニングトーク〜 / WP-D Week
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT
 
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 

Web Audio APIを使って可聴域を調べるアプリをつくってみた