SlideShare une entreprise Scribd logo
1  sur  27
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/

Contenu connexe

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

Web制作のアレコレ
Web制作のアレコレWeb制作のアレコレ
Web制作のアレコレ
regret raym
 

Similaire à 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とは
 

Dernier

Dernier (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

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