第4回 CreateJS勉強会 発表資料

Browsers have come a long way over the years, and we are now able to achieve amazing results using all of the great new technologies often referred to as HTML5. However, generally speaking, audio still sucks. Thankfully, Google decided to create Web Audio API and make all our lives easier. The problem is that only the latest browsers support this new-fangled browser audio, so what are we to do? We
新しく書き直した。 以前のバージョンと全然互換性がなくて申し訳ないのだけど、可読性とかかなり使い勝手が良くなっていると思います。ライブラリ自体のコードも分かりやすくなっているはず。 http://mohayonao.github.com/timbre.js/ Chrome, Safari, Firefox あと node.js で使えます。 あとついでに SuperCollider みたいな関数を集めたものも用意しました。 http://mohayonao.github.com/subcollider.js/ timbre.js と合わせてアルゴリズム的なものを作るのに使えます。 デモ どういうことができるのかは簡単なデモで確認できます。 http://mohayonao.github.com/timbre.js/beatbox.html http://mohayonao.github.c
API Pico.play(audioprocess: function): void Pico.pause(): void Pico.sampleRate: number Pico.bufferSize: number Pico.isPlaying: boolean
Web Music Developers JP Advent Calendar 2012 の 5日目の記事です。 最後に 色々なブラウザで使えるリアルタイム信号処理用の簡易インターフェイスを作りました。 Chrome, Safari, Firefox, Opera, IE9, iOS6(*1), ブラウザじゃないけど node.js で動作します。 pico.js - Simple interface for a real-time audio processing *1 iPhone4S, iPad3 のSafari (UIWebViewではない)で確認しました 記事はここから さて、タイトルのとおりブラウザから音を出す良さそうなやり方について書こうと思ったのですが、ぶっちゃけたところ現状では良いやり方はありません。WebKit系なら Web Audio API、Firefoxなら Au
ウェブアプリケーションデプロイしたあとしばらくエラー出てないかログ見たりすると思う.たとえばデプロイした瞬間にエラー出まくったら戻すとか,アクセスログが流れなくなったら誰もアクセスできてないということだからおかしいとか,いろいろあると思う. アクセスログずっと見てるの疲れるからwebtailを使って聞けるようにしてずっと聞いてる.直近5秒間のGETとPOSTの数にあわせて音程が変わる,500が出たらピンクノイズが流れる,みたいな感じ. デプロイするときアクセスログ聞いててエラー出たらピンクノイズ流れるようにしてるけど急にザーっていう音出るから心臓に悪いし本当に障害起きると直るまでずっとピンクノイズ聞き続けることになる— 趣味はマリンスポーツですさん (@hitode909) 10月 31, 2012 アクセスログの形式ちがったら73行目の正規表現書き換えれば動くと思う.73〜77行目くらい
ちょっとやろうと思ったことがあって、確認と練習がてら色々試したら表題にあるとおりの動画プレイヤーができたので、どんな感じでやるのかを簡単に書きます。 こういう感じのものが出来ます。 Glitched Movie Player 1. ドラッグ&ドロップで動画を読み込む $(window).on 'dragover', -> false $(window).on 'drop', (e)-> file = e.originalEvent.dataTransfer.files[0] video = document.createElement 'video' $(video).on 'loadeddata', -> video.muted = true video.play() video.type = file.type video.src = URL.createObjectURL file
僕と同じようにブラウザで動くシンセを開発しているg200kgさんがすごい技術を考案しました。 お客様の中にWebシンセプログラマはいらっしゃいませんか | g200kg Music & Software どういうことかというと、HTML5のpostMessageで簡易的なMIDIメッセージをクロスドメインで送ってWebシンセ同士で同期させるというものです。シンセ側は以下のようなわずか数十行のJavaScriptを追加するだけでスレーブとして制御してもらえちゃいます。 http://aikelab.net/websynth/websynth_message.js 動画をとったのでまずは見てみてください。g200kgさんのサイトから、僕のWebAudioSynthとg200kgさんのWebModularを制御して同期演奏しています。 すごい時代になった……。 Google API Expert
FizzBuzzというプログラムがあります。1 - 2 ときて Fizz、つぎに 4 ときて Buzz、そして 12 - 13 - 14ときて FizzBuzz ですね。タイマーを使ってJavaScriptで書いたらこんな感じ。 Fizz Buzz var count = 0; function fizzbuzz() { count += 1; if (count % 15 === 0) { console.log("FizzBuzz"); } else if (count % 5 === 0) { console.log("Buzz"); } else if (count % 3 === 0) { console.log("Fizz"); } else { console.log(count); } } setInterval(fizzbuzz, 600); プログラミングの最初の方の課
そろそろWebベースのシンセサイザーもなんとか作れる環境が整いつつあるのですが、今のところはまだ、音源部とシーケンサー部をまとめてクローズドなアプリにするしかありません。今後を考えるとここをどうするかが課題です。 やはり複数の楽器を同期運転したいですよね!! Web楽器のurlを指定してプラグインのように使う、というのができればなあ・・・ という事でまじめに考えて見た。 HTML5のpostMessageでクロスドメインの連携ができますので、ここにMIDIメッセージをのせてホストからWebシンセに送ります。パフォーマンスの問題もあるので今のところはやりとりするのはMIDIのみとして、音の出口はとりあえずそれぞれのWebシンセが WebAudioAPIなりを叩いて勝手に出します。 postMessageで送れるのは文字列のみなのでこんな感じのフォーマットにします。 "midi,90,3c,6
とりあえず疲れた。リポジトリもめちゃくちゃだし。暴飲暴食もした。 timbre - JavaScript Library for Objective Sound Programming http://mohayonao.github.com/timbre/ 新しいデモもつくった http://mohayonao.github.com/timbre/examples/004_timbresynth.html ライブラリにはUIついていないけど、デモのときは分かりやすいのでわざわざ書いた。バッハとJavaScriptは相性が良いとおもう。JSだけに。 そういえば、前につくった これ もバッハだった。 関連エントリ サウンドプログラミング用のJavaScriptライブラリをつくっている
Audiolet is a JavaScript library for real-time audio synthesis and composition. Audiolet is awesome. It uses graph based routing and has lots of generators and effects and a sample-accurate scheduler and it supports sub-patches and pattern based composition and feedback routing and microtonal tunings and lots of other cool stuff. Audiolet is simple. This is all you need to start making noise: var
I started working on timbre.js successor, v13.xx. It's almost a full rewrite, so this project page is no longer recent working. The new project page is here: http://mohayonao.github.com/timbre.js/ CAUTION!! The new timbre.js(v13.xx) is not compatible old timbre.js(v12.xx), but you may approve the new version, because that is truly convenient and super awesome than old. See Also: Overview of what's
アイデア 例えば Cメジャー のコードは ド ミ ソ で構成される。 和音は加算で書けるので、 ド + ミ + ソ これを、lispよろしくこう記述する。 (+ ド ミ ソ) ドっていうのは、 (sin 523.25) みたいな感じで、523Hzのサイン波 みたいな感じ。位相や振幅も指定できるけど省略している。音色は sin でなくて tri とか saw とかでも良いし、サンプリングした音でも良い。 ピアノみたいな減衰音は、 (adsr 0 1000) こう書くとする。ADSRエンベロープで Attack が 0msec、Decay が 1000msec、Sustain と Release は省略。この場合、1000ミリ秒で減衰する。 振幅はかけ算で書けるので、さっきのコードと合わせて書くと (* (+ ド ミ ソ) (adsr 0 1000)) こう書ける。 詳細に書くなら (* (+
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く