SlideShare a Scribd company logo
Web Audio APIで
シンセサイザーの作成


                      藍 圭介
     http://d.hatena.ne.jp/aike
                   @aike1000
Music
        sm11764888 シャウトVST
        sm11953495 ダブリングVST
        sm14366724 ビブラート描画
        http://youtu.be/MWrF0_du2rA
                      8bit ソフトシンセ
        http://youtu.be/4qsxTV3sg-g
                      竹内関数音楽




Programming
さて
みなさん
シンセ
好きですか?

  http://www.flickr.com/photos/sduck409/
シンセが嫌いな
男子なんていません。
    http://www.flickr.com/photos/bdu/
先日シンセ作りました




http://aikelab.net/websynth/
意外とシンプル
100% Pure JavaScript
処理本体  :430行
GUI   :450行
シーケンサー: 60行
短い
コード
その
秘密は
Web Audio API
・W3C Proposal
・Google Chrome対応
・ノードによる部品化
   (ゲイン、ディレイ、フィルター他)

・ノード同士をconnect()で連結
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
ボリューム→ディレイ→出力の例

 // コンテキスト作成
 var ctx = new webkitAudioContext();
 // ボリュームノード作成
 var volume = ctx.createGainNode();
 // ディレイノード作成
 var delay = ctx.createDelayNode();
 // ノード同士を接続
 volume.connect(delay);
 delay.connect(ctx.destination);
ノード構成
                      Biquad    Gain
           VCO1        Filter
                                Delay
           VCO2




http://github.com/aike/webaudiosynth
Web Audio APIの音
• 三角関数で簡単に波形生成
• 意外に太い音が出た
• フィルターのキレも良い感じ
• 本格的な楽器として使えそう
http://www.flickr.com/photos/it290/
一般的な
ウェブのGUI
一般的な
音楽ソフトのGUI
音楽アプリを
ウェブで作る
  問題点
リアルなノブの
描画ライブラリ
  がない
ないなら
 作ろう
できた。
http://github.com/aike/jqskin
jqSkinの使い方    $('<img />').panel({
                  id: 'id0', image: 'panel.png',
                  left: 10, top: 110
               }).appendTo('#draw');


               $('<img />').knob({
                  id: 'id1', image: 'knob.png',
                  left: 180, top: 145,
       パネル画像      width: 80, height: 80
               }).appendTo('#draw');


                                 ソースコード




ノブ画像
使用例




http://aikelab.net/jqskin/
デモ




http://aikelab.net/websynth/
まとめ
Web Audio API
     +
   jqSkin
シンセが簡単に作れるよ!
      http://www.flickr.com/photos/sduck409/

More Related Content

Similar to Web Audio APIでシンセサイザーの作成

Practical Web Audio API Programming
Practical Web Audio API ProgrammingPractical Web Audio API Programming
Practical Web Audio API Programmingaike
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったCHY72
 
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-Yuuichi Akagawa
 
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介自作ウェブ楽器の紹介
自作ウェブ楽器の紹介aike
 
Web制作のアレコレ
Web制作のアレコレWeb制作のアレコレ
Web制作のアレコレregret raym
 
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリWebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリKohei Kadowaki
 
AngularとWeb Audio APIはじめてみました
AngularとWeb Audio APIはじめてみましたAngularとWeb Audio APIはじめてみました
AngularとWeb Audio APIはじめてみましたpastelInc
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたちKensaku Komatsu
 
HTML5 & The Web Platform
HTML5 & The Web PlatformHTML5 & The Web Platform
HTML5 & The Web PlatformMasataka Yakura
 
Web Audio APIで作る各種ウェブ楽器
Web Audio APIで作る各種ウェブ楽器Web Audio APIで作る各種ウェブ楽器
Web Audio APIで作る各種ウェブ楽器aike
 
東の方からきました@鹿駆動勉強会
東の方からきました@鹿駆動勉強会東の方からきました@鹿駆動勉強会
東の方からきました@鹿駆動勉強会Kazuyuki Honda
 
Assembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko KenjiAssembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko Kenjiasmtanka
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketKazuhiro Hara
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintentsKensaku Komatsu
 
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
 
JavaScriptでいいじゃなイカ
JavaScriptでいいじゃなイカJavaScriptでいいじゃなイカ
JavaScriptでいいじゃなイカYuuichi Akagawa
 
Web Audio APIの初歩
Web Audio APIの初歩Web Audio APIの初歩
Web Audio APIの初歩Shota Kubota
 
もうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとはもうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとはKoji Kawamura
 

Similar to Web Audio APIでシンセサイザーの作成 (20)

Practical Web Audio API Programming
Practical Web Audio API ProgrammingPractical Web Audio API Programming
Practical Web Audio API Programming
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作った
 
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-
 
自作ウェブ楽器の紹介
自作ウェブ楽器の紹介自作ウェブ楽器の紹介
自作ウェブ楽器の紹介
 
Web制作のアレコレ
Web制作のアレコレWeb制作のアレコレ
Web制作のアレコレ
 
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリWebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
 
AngularとWeb Audio APIはじめてみました
AngularとWeb Audio APIはじめてみましたAngularとWeb Audio APIはじめてみました
AngularとWeb Audio APIはじめてみました
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
 
HTML5 & The Web Platform
HTML5 & The Web PlatformHTML5 & The Web Platform
HTML5 & The Web Platform
 
Web Audio APIで作る各種ウェブ楽器
Web Audio APIで作る各種ウェブ楽器Web Audio APIで作る各種ウェブ楽器
Web Audio APIで作る各種ウェブ楽器
 
東の方からきました@鹿駆動勉強会
東の方からきました@鹿駆動勉強会東の方からきました@鹿駆動勉強会
東の方からきました@鹿駆動勉強会
 
Assembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko KenjiAssembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko Kenji
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
 
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 -
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
What's Sketch.app
What's Sketch.appWhat's Sketch.app
What's Sketch.app
 
JavaScriptでいいじゃなイカ
JavaScriptでいいじゃなイカJavaScriptでいいじゃなイカ
JavaScriptでいいじゃなイカ
 
Web Audio APIの初歩
Web Audio APIの初歩Web Audio APIの初歩
Web Audio APIの初歩
 
もうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとはもうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとは
 

Recently uploaded

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルCRI Japan, Inc.
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)NTT DATA Technology & Innovation
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizesatsushi061452
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptxyassun7010
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance
 

Recently uploaded (14)

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 

Web Audio APIでシンセサイザーの作成