2014年9月2日火曜日

snd.js更新しました

snd.jsを更新しました。
  • JSON形式の文字列へ出力(セーブ)
  • 出力したJSON形式文字列からのオブジェクト再生成(ロード)
  • ScriptProcessorNodeに対応
ができるようになっています。
ScriptProcessorNodeに対応したことで、JavaScriptで波形を生成できるようにもなりました。
これでノイズ波形を作れます。

興味がある方は、 githubのプロジェクトページ または snd.jsのサイト からどうぞ。


で、せっかく対応させたScriptProcessorNodeなのですが、WebAudioAPI Working Draft 30 August 2014DEPRECATED(非推奨)が付いてしまいました。
詳しい事情はたぶんここらへんで読めるんだと思うんですが、読めそうにない…
今回非推奨になったScriptProcessorNodeのかわりに、AudioWorkerというのを使うようにするっぽい感じみたいです。

最終的にどんな感じになるのか、ブラウザが対応するのがいつぐらいなのか、まだよく分かりませんが、とりあえず心の準備はしておきたいと思います。

2014年8月18日月曜日

snd.jsを更新しました

久しぶりにsnd.jsを更新しました。
今回の更新では、get/setメソッドからプロパティへの変更を行っています。
合わせて、get/set系のメソッドは非推奨(deprecated)としました。
get/setメソッドはそのまま残していますので、今のところ既存のソースに変更は不要です。

非推奨になっているメソッドなどはタイミングを見て削除する可能性が高いので、極力使用を避けてください。

ライブラリのダウンロードなどはsnd.jsのサイト、または、githubのプロジェクトページからお願いします。




ここからは今後の予定です。

2014年7月31日木曜日

WebAudioAPIで多チャンネルサラウンド出力(を目指して)

WebAudioAPIで多チャンネルのサラウンドに対応しようとして、ちょっと迷ってしまいました。
せっかくなので、作ったテストコードにコメントをつけてjsdo.itで公開してみました。


多チャンネル信号の扱いやChannelMergerNodeのクセ(バグ?)など、 多チャンネル対応する際に困ったところにコメントを書いてあります。
単純なステレオ信号のパンニングでも迷いやすい所と思いますので、悩んでたらどうぞ。

2014年7月25日金曜日

Firefoxの開発ツールにWebAudioビジュアライザとエディタが付いたようです

Mozilla Hacksこの記事(Resources for HTML game developers)によると、Firefoxの最新版(31.0)から、開発ツールにWebAudioビジュアライザとエディタが付属するようになってたようです。

sndjs.orgで試してみたのが↓の画像です。

これで見るとこっそり仕込んだオシレータがバレバレですね

ちょっと見づらいですが、下の開発ツールにグラフ状の接続図とWebAudioAPIオブジェクトのリストが表示されています。

開発ツールを表示(Ctrl + Shift + I)後、左側の歯車アイコンをクリックして 、「標準のFirefox開発ツール」の「WebAudioエディタ」にチェックを入れると表示されるようになります。
(歯車アイコンでオプションを設定してあげないと表示されないので、ちょっと迷いました…)

元記事には他にもCanvasエディタやシェーダエディタなどについての説明も書いてあったので、興味があれば一読をおすすめします。

AudioBufferSourceNodeのような使い捨て前提のオブジェクトがガンガン図とリストに追加されていくため、WebAudioエディタのUIに何かもう一工夫あった方が嬉しい感じがするのですが、それでも十二分にデバッグのお供になってくれるのは間違いありません。

2014年7月23日水曜日

snd.jsを更新しました

snd.jsを更新しました。

今回の更新でBufferSourceの保存と読込みができるようになりました。

さらに、BufferSourceにデータを読み込むloadメソッドを3つ追加。
BufferSourceのオブジェクトで直接データを読み込む事が可能になりました。

また、ゲッター・セッターメソッドの多くをプロパティに変更しています。
それに合わせてゲッター・セッターはdeplecated扱いとしています。

その他、README.mdを書き換えたり、ドキュメントの整備、デバッグなども含みます。
 
サイトはこちら
githubはこちら

ライブラリのダウンロードはどちらからでも可能です。

どちらでもお好きな方からどうぞ。



2014年6月29日日曜日

snd.jsのサイトを公開しました

snd.jsのサイトを公開しました。
リンクにカーソルがあう度にポチポチ音がしてリンククリックするとキュピーンとなるうるさいサイトですが、よろしくおねがいします。
有志団体(個人)ということで、ドメインはorgにしました。
 普段広告つけたりとかしないのですが、試しに広告くっつけてみました。
 まだまだ途上ですが、改めてよろしくお願いします。

これでとりあえず体面は整ったので、次はJSON出力かな…
ゆったり構えてぼちぼち進めて行きたいと思います。

2014年6月28日土曜日

バグ取りました

snd.util.createBufferSourcesとsnd.AudioDataManagerにバグが見つかったので直しました。

以下はどうでも良い話です。

2014年6月22日日曜日

2014年5月27日火曜日

snd.jsのシンセサイザークラスにLFOを乗っけました

snd.jsのシンセクラスにLFOを乗せてみました。
これからノイズとか、ローパス・ハイパスとかのフィルタ類とか、色々と乗せていきたいんですが、ワンパターンな構成しかできないんじゃちょっと残念なので、シンセの構成要素を分割してモジュラーシンセに仕立てて行く予定です。
あと、three.jsの立体音プラグインでサウンドコーンとドップラー効果の実装も。

どっちか軽そうな方を優先しようかな …

2014年5月20日火曜日

ちまちま更新しています

snd.js、ブログに書いたりしていませんが、地味に更新しています。
ブラウザのWebAudioAPI対応状況とか含めて、まだ実用にはならないかなー
…とか自分でいってはいけませんね。

ieが対応するまでにある程度の内容を用意できればいいかなー

asm.jsとか

UnityというゲームエンジンがFirefoxに乗っかってプラグインレスで動作!
みたいな話を聞いたので、(今更ながら)ちょっと調べました。

話題そのものはTechCrunchJapanのこの記事にあるやつです。
どうも、Unityで作ったプロジェクトをJavaScript(asm.js)にコンパイルできるようになる、という感じみたいな感じでした。
asm.js自体初耳だったので、ちょっと色々やってみたくなりました。
ChromeやSafari、ieなんかは今のところasm.jsに対応してない(動くけど)みたいなので、Unityはここらへんどうするつもりなんでしょうか?
どのみち動くからいいじゃんくらいのノリなのか、ちゃんと対策取るつもりなのか。
どちらにせよ、楽しみです。

asm.jsについては、「asm.jsとかPNaClとかLLVMに興味あったので調べて回ったら少しだけ理解できた話」が詳しかったです。
あと、「Emscripten によって生成された asm.js 対応コードは本当に人間が書いたコードより速いのか?」も面白かったのでおすすめです。 

asm.js自体初耳だったので、色々と知らない話ばかりで楽しく調べ物できました。
なんかやってみたいけど、特になにも思いつかない…

2014年2月19日水曜日

google codeからgithubに移動しました (snd.jsのみ)

長いことgoogle codeを使ってきましたが、新規プロジェクトだとファイルの添付ができなくなってしまいました。
代わりにGoogleドライブ使ってみましたが、どうも不便なのでgithubに移行することにしました。
前からあるプロジェクトだとファイル添付できていて問題ないんですけどね…

とりあえず、JavaScript用のサウンドライブラリを更新するついでにgithubへ移行させました。
アドレスはこちら→ http://github.com/h10x64/snd.js

他のやつも更新(することがあれば)順次githubに移行しようかなと思います。
自分でzip作らなくてもgithubの方で勝手にzip作ってくれたりして便利ですし。

2014年1月6日月曜日

むしろすでにできていたみたいだよ、という話

前回のエントリで、「立体音響がブラウザで楽しめる日が来るよ、きっと」などと書いたのですが、実はすでに実装できているようでした。
もっとよく調べてから書かないとダメですね。恥ずかしいです。
ついでに、友人に頼まれたWebAudioAPIのラッパーライブラリがざっくりできたので、ベータ版を公開してみました。

よかったらこちらのリンクからどうぞ。