RSS Twitter Facebook


« 2012年07月 | 2012年08月のアーカイブ | 2012年09月 »

2012/08/27

AMEIに行ってきました


今日はMIDI規格の策定・管理団体であるAMEIの技術研究部会という所にゲストでお邪魔してWebMidiLinkの話をしてきました。この辺のディープな部分について意見交換できる場ってあまりないのでなかなか楽しいですね。

これで今後すぐにAMEIがWebMidiLinkに対してどうこうという事ではないと思いますが、こういう動きが存在するという事をMIDI規格策定の中枢に知ってもらったというだけでも意義はあったかなと思います。

何しろこの辺のWeb関連技術は進化のスピードが速いので把握するだけでも大変ですし、規格策定団体としてこういう動きにどう対応していくのかはなかなか難しい所かも知れませんが、AMEIでもWeb上のMIDI関連技術はかなりの関心を持って見ているという感じがしました。

posted by g200kg : 7:24 PM : PermaLink

2012/08/26

SNSって...


今までFacebookはアカウント作っただけでほとんど放置していたのだけど、ここ最近、これはこれで面白いかと思ってちらほらと使ってみたりしていたのだが...

ブログ、Twitter、Facebookと全方位に同じ密度でモチベーションをキープなんてとてもできないね
やっぱりアクティブに使うのはブログ=>Twitterとか連携しながら2つ程度が限界かなあと思ったり
こういうのがいわゆるSNS疲れっていう奴の原因になるのかね? それとはまた違う?

posted by g200kg : 7:48 PM : PermaLink

2012/08/19

耳を鍛えるソフト Mr.Soundmanのコンペが開催されているぞ


去年の秋くらいに発表された V-Plugsの「Mr.Soundman」という耳を鍛えるソフトのコンペが開催されています。
以前の記事:V-Plugs Mr.Soundman

このソフトは音を聴いてEQのかかり具合を当てるというニッチすぎる層を狙ったゲーム的なものですが、なかな面白くて音のイメージ⇔周波数の関係を把握する練習になりますね。

去年発表された時からこれを使ったコンペ機能のベータテストなんかはあったのですが、今回は正式開催という事でちゃんと賞品(V-Plugs製品)もでます。エントリーは8月末まで!
Mr.Soundmanのコンペのページ

# とんでもない点数叩き出しちゃう人とか続出するんだろうな...
# しかしこういう試みは新しい感じでおもしろい

posted by g200kg : 7:49 AM : PermaLink

2012/08/09

Webシンセの発音タイミングをまともにする


WebMidiLinkの発音タイミングの精度を上げるためにメッセージにタイムスタンプを付けようとしていたのだが、それ以前にシンセ側の手抜きによるタイミングのブレを対策したら、まあまあいい感じになってしまった。タイムスタンプどうしようかな。もっと精度を求めるには必要なんだけど、ちょっと迷う。

下の図は上段が今の所未対策のWebBeeper、下段が補正対策済みのGMPlayerで BPM150の16分つまり0.1秒周期の音。上段は見ただけでもかなりひどい感じだけど、下段はまあそれなりになっている。

音としてはこんな感じ。
発音タイミングテスト: 前半、補正未対応 WebBeeper / 後半、補正対応済み GMPlayer
発音タイミングテスト

でまあ、何が問題だったかというとWebAudioAPIなりAudioDataAPIなりで音を吐き出す時のバッファを1024サンプルくらい取っていて、これは44.1KHzで23mSecくらいあるので、この途中で受け取った発音情報を参照しながらデータを作らないといけなかったのだけど、面倒だったんで、

1024サンプル作成⇒発音情報更新⇒1024サンプル作成⇒発音情報更新

みたいになってたのだよね。これじゃ最大23mSecブレますな。Javascriptはシングルスレッドなんでバッファ作成ループの中でメッセージ受け取りのハンドラが走らないという面倒な事情もあるんだけどね。やっぱり一度発音情報をキューにいれて音データを作りながらなめないといかんです。

posted by g200kg : 7:48 PM : PermaLink

2012/08/08

ブログの各記事に重くないソーシャルボタンを設置する方法


元々各記事にTwitterとgoogle+とFacebookの公式のボタンを配置してたんですが、個別ページはいいとしてもインデックスページだとずらっと並んだ記事全部にボタンが付く事になり、それぞれJavascriptでごにょごにょやったりしているのでページを開くのがなんだか重くなるわけです。

て事ではずしてみたり付けてみたり、試行錯誤の結果、単純なリンクだけにすれば負荷がかからないかと思ってインデックスページの各記事に付いているソーシャルボタンを公式ボタンじゃないただのリンクにしてみたのでこれで少し様子を見ます。それぞれのソーシャルボタンのリンクは次のようになっています。

Twitter

TwitterにはWeb IntentsというAPIがあって、
<a title="Post to Twitter" href="https://twitter.com/intent/tweet?text=記事のタイトル&url=記事のURL">
<img src="ボタンのイメージ"/>
</a>
というリンクで投稿画面を開けます。またこれは、
というのを一度インクルードしておくと勝手にサブウインドウを開いてくれます。Twitterの他の機能を使うのなら、どうせインクルードする事になりますが、これをインクルードすると多少裏で何かが動く事になると思うので、それも不要なら他のソーシャルボタンと同様に onclick=".."を追加して、ボタンを押した時だけ自力でウインドウをポップアップさせても良いかも知れません。 MovableTypeのインデックステンプレートに入れるなら
<a
 title="Post to Twitter"
 href="https://twitter.com/intent/tweet?text=<$MTEntryTitle encode_url="1"$>&url=<$MTEntryPermalink$>"
>
<img src="ボタンのイメージ"/>
</a>
という感じになります。

Facebook

Facebookの「シェアボタン」をリンクからポップアップさせる方法です。これは「いいね!」とは違ってコメント付きで投稿するボタンです。「いいね!」ボタンだと、どうしても自分が既に押しているかどうかのフィードバックが欲しくなるし、そうするためには公式ボタンを使わざるを得ないので、シェアボタンにしたのですが、実はこのボタンは公式には既にサポートされなくなっていて、今の所まだ動いているという状況です。その内動かなくなるかも知れません。

<a
 title="Post to Facebook"
 href="http://www.facebook.com/sharer.php?u=記事のURL"
 onclick="window.open(this.href,'fbwin','width=650,height=400');return false"
>
<img src="ボタンのイメージ"/>
</a>

Google+

Google+のシェアボタンを単なるリンクにする場合です。Facebookのシェアボタンとほぼ同じ感じです。
<a
 title="Post to Google+"
 href="https://plus.google.com/share?url=記事のURL" 
 onclick="window.open(this.href,'gpwin','width=650,height=400');return false"
>
<img src="ボタンのイメージ"/>
</a>

posted by g200kg : 2:40 PM : PermaLink

2012/08/07

ARAがちょっと素敵


5月くらいに発表されたCelemonyとPreSonusが開発したARA (Audio Random Access)という技術。 以前も少し書いたのですが、(ARA Audio Random Access)、StudioOne2でのメロダインとの統合で使われています。

ここのページに解説があるんですが、いつの間にかちょっと詳しくなっている気がする。
http://www.celemony.com/cms/index.php?id=ara
位置づけとしてはVSTとかAUとかのプラグイン規格と共に使えるエクステンションAPIになっているという事で、要するにプラグイン側から、今再生している音のデータだけでなくてトラック全体にアクセスする方法を追加で提供するという事ですね。これって2パス処理が可能になるのでレイテンシーフリーなリミッターとか、全体を解析した上でのノイズリダクションとか色んな事に使えそうです。

この仕様の開示に関してはそれほどガチガチの契約ベースで固められている感じではなくて、Celemonyにコンタクトすれば割合簡単に知る事ができるみたいです。

問題は今のところこれを搭載しているホストがStudioOne2しかないという事かな。ちょっと広まってほしい。

posted by g200kg : 8:06 PM : PermaLink

GMPlayer+WebSynth×2デモ


aikeさんのWebSynthがWebMidiLinkのリンクレベル1に対応してくださいましたので、デモ曲を作ってみました。

GMPlayerのドラム+WebSynth×2でつくってみた

WebSequencerにWebSynth2台とGMPlayerを読み込んで演奏します。ちゃんとした曲にできる環境に一歩近づいた感じ。

posted by g200kg : 7:24 AM : PermaLink

2012/08/05

WebMidiLink LinkLevel 1仕様


WebMidiLink対応のWebシンセでパッチを保存するための仕様を 「WebMidiLink LinkLevel 1」として書きました。Web MIDI APIとの親和性を高めるために文字列でなくバイナリフォーマット化するという方向の話もあるのですが、急にそちらオンリーに動くという訳でもなく、両立できるかなと思っています。

http://www.g200kg.com/en/docs/webmidilink/spec.html

現在ホストとして WebSequencer、シンセサイザーはGMPlayerWebModularがリンクレベル1に対応しています(GMPlayerのパラメータはマスターボリュームとポリ数だけで、音色の選択などはCC経由という想定ですが)。


WebSequencerでシンセを読み込んだ右上に"LinkLv"という表示が出るようになっています。

これで、音色をWebSequencerでMIDIデータに一体化して保存する事ができます。WebSequencer上でWebModularをいじって音を作った後、「SaveFile」ボタンを押して「SAVED-FILE」からダウンロードするか「SAVED-URL」でジャンプできます。

GMPlayerとWebModularによる怪しいデモ曲

posted by g200kg : 8:46 AM : PermaLink

2012/08/04

KVR Developer Challengeというやつ


KVR 主催のDeveloper Challenge 2012 がスタートしました。
http://www.kvraudio.com/kvr-developer-challenge/2012/
盛り上がって欲しいなあ、という事でたらたら書いてみます。

そもそもこれは、世界最大のオーディオプラグインコミュニティであるKVRが主催する開発コンテストで、今までに3回開催されています。第1回は2006年でこの時の1位はU-heさんのTripple Cheese、第2回は翌年2007年で、xoxosさんのSounds of Nature、第3回2009年はbootsyさんのFerricTDSがそれぞれ一位を取っています。

エントリー作品はフリーウェアとして公開されますので、フリープラグインに興味のある人は要注目ですよ。

u-he : Triple Cheese

xoxos : Sounds of Nature

bootsy (VoS) : Ferric TDS

開発期間はアナウンスがあってから大体3ヶ月くらいなんですが、基本的にこのコンテスト用にプラグインを1つ作る事になりますので、割合敷居が高いイベントではあります。賞金は寄付でまかなわれていて、今までの例では総額で$2000程度ですので賞金で元を取るという感じではないですね。

実は投票が大変

数十個のエントリーがあるのを1つずつダウンロードして動かしてみて、という作業が必要になるんですけど、これが実は結構大変なんです。もちろん、リストをざっと眺めて気になるのだけをちょっと試してみるというやり方もありですけど、ちゃんと評価しようとするとなかなかの手間です。
さらに・・・
開発コンテストという性格上、作品の事前の公開ベータテストは許されていません。作品にとってはこのコンテストが初お披露目の場ですのでテストが充分行われておらず、動作自体が不安定だったりします。前回の経験で言えば、エントリーの何割かがちゃんと動かない、という状況だったりします。投票期間(1ヶ月)の間はバグフィックスは可能(機能追加は不可)なんですが「動かないよ」みたいな報告がいっぱい来てパニくってるデベロッパーさんもいました。

評価の傾向

評価の傾向としては、音楽制作ツールとしての即戦力の実用性みたいな部分が割合重視されてるかなという気がします。やっぱりKVRに来ている人の多くは音楽制作を目的としてますし、投票の際、動かしてみてパッと見で使い方がわからないとか何かの準備が必要、とかいうとそれだけで評価してもらうのが厳しいですね。

かと言ってただの一般的なバーチャルアナログなシンセとかだと、そもそも大量のエントリーの中で埋もれてしまって注目してもらえないので、特徴となる部分とわかりやすさをどう両立させるかというあたりがなかなか難しい所じゃないでしょうか。そういう意味ではプリセットとかデモ曲とかの準備も気をつかう必要があります。投票の時は、1つの作品に対して、デモ曲を聴く、ダウンロードして動かしてみてプリセット選んで音を出して見る、てのを一通りやったらもう大体印象が決まっちゃいますしね。

なんでこんなに不定期開催なの?

元々は毎年開催のつもりだったのだと思うのだけど、開発3ヶ月+投票1ヶ月かかるし2年に一回くらいの方が良いという意見もありました。エントリーする側の常連はいつもノリノリなんですけど、運営をボランティアで手伝ってくれる人がなかなかいないという状況のようです。特に終わった後の賞金以外の賞品の分配が相当面倒そうで、何十人かの人とメッセージをやりとりしながら、色んなデベロッパーが提供してくれたライセンスを1つずつ分配して行くような感じです。この賞品が目当てでエントリーするという人はあまりいないと思うので、もらう事に熱心じゃなくて分配作業自体が滞っちゃったりするんですよね。そもそもプラグインを開発してるような人達なので、もらわなくても自分で作るよ...ていう感じかも知れません。大手メーカーとかがスポンサードしてくれれば雰囲気も変わるんでしょうけど、基本的には商売敵なんでねえ。


とまあこんな感じのイベントなんですけど、見返り云々ではなくて、オーディオプラグインのデベロッパーて大体そんなに数いる訳でもないので、交流のきっかけとしては存在自体が貴重だなと思うわけです。エントリーするのはなかなか大変だけど、投票はKVRメンバーなら誰でもできますし、賞金をまかなうPrize Fundへの寄付も受付中ですので是非ー。

posted by g200kg : 2:02 PM : PermaLink

2012/08/02

KVR Developer Challenge 2012


おおーーー!!! キテター!!!
なんてこった。 最近ちゃんとチェックしてなかったので見逃してた。 DC2012が復活してた!!
もっとちゃんとアドして欲しいな

http://www.kvraudio.com/kvr-developer-challenge/2012/

えーとこれはKVRが主催するプラグイン開発コンテストです。
VSTとかAUとかあるいはスタンドアローンアプリとか音楽制作に関わるソフトウェアなら何でもエントリーできます。それで2009年に開催された後、2年間開催されなかったんですよねー。とにかくコンテストのマネジメントが大変で、主催者側が愚痴をこぼしていたんでもうこれは無理かなと諦めかけていたんですが。

2009年の時には私もエントリーしてました。その時の結果はこちらでなんとか10位以内に入れたという感じ。この時の1位はbootsyさんのテープシミュ FerricTDSでした。
http://www.kvraudio.com/kvr-developer-challenge/2009/

ざっとした日程は10月2日までに開発してエントリー。10月中に投票。11月1日に結果発表という感じになります。

さて、2ヶ月あるわけだが・・・どうするかな
--------------------
エントリー期限は1ヶ月ほど延長するかも、という話。 となると3ヶ月か、ふむ。

posted by g200kg : 8:53 PM : PermaLink

GM Player


Mac JavaのMIDIが駄目すぎてWebBridgeがまともに動かないので自前でGM配列の音源を作ってみました。

URLはこちらでWebMidiLink対応音源として使用できます。
http://www.g200kg.com/en/docs/gmplayer/

と言っても128音色+リズムをまともに作るのは大変なのでそれらしい感じで使いまわししながら並べています。
(最初に音色ファイルを読み込む時に、何か挙動が違うようでFirefoxだと妙にひっかかります) 解消されました。

---

WebSequencerのデモ曲をGMPlayer使用に入れ替えています。
http://www.g200kg.com/websequencer/

posted by g200kg : 11:51 AM : PermaLink

« 2012年07月 | 2012年08月のアーカイブ | 2012年09月 »


g200kg