« 裁判員裁判で悩む | トップページ | スペイン製ギターで悩む »

2009年9月 5日 (土)

Ninjamサーバで悩む

オンライン・リアルタイム・セッションのNINJAMのことがだいぶわかってきた。要するに、お互いに送りあう音の時間差をできるだけ少なくしているということなんだろう。何かもっとややこしいことをしているのかと思ったりもしたが(例えば、2小節のコードの繰り返しがあったら、前回の音をミキシングして周回遅れの音を送る、とか)単純にタイムラグを少なくする努力をしたということらしい。[9月8日追記:これはやはり「周回遅れ方式」を採用しているらしい。セッションモードというのが別の方法なのかもしれないのだが、そちらはまだよくわからない。]

問題は、音の回り込み(一般にいう「ハウリング」に近い現象)を防ぐために、PC上でミキシングした音を送れないことだ。ステレオミキサーの出力を送ってしまうと、その音がまた返ってきてステレオミキサーに入ってしまうので、音が無限に繰り返されることになってしまう。つまり「録音コントロール」で、マイクとかライン入力あたり(ステレオ/モノラルミキサー以外なら何でもよい)しか選択できないということで、これはなんでもないようだが私のようにオケを使うことが前提(前提?)な奴にとってはつらいし、そうでなくても、こういうシステムにつなぎにくる人にドラマーは希少なので、ドラムは何とか電子的に入れたいのだが、それが難しくなってしまうのだ。

で、どうしているかというと、Reaperという、なんと言えばいいのか、ええとACIDみたいなといっても知らない人も多いだろうし、ループ系のマルチトラック音楽製作ソフトなんだけれども、これがNINJAMに対応していて、NINJAMとの通信をひとつの仮想チャンネルとして定義できる。なので、Reaperでドラムと、必要ならばベースのトラックを作っておけば、NINJAMのクリックと同期させたオケとして使うことができる・・・ということなんだけれども、Reaperが私の環境ではまだちゃんと動かせていないので、説明するにもいまひとつリキが入らない。

だから、NINJAMで遊ぶときにはNINJAM.EXEを立ち上げ、NINJAMのサイトにアクセスしてサーバの利用状況を確認し、録音コントロールで入力を管理しなくてはならない。これは面倒なので、バッチファイルNINJAM.BATを作ってクリック一発でこれをできるようにする。

start sndvol32 /r
"C:\Program Files\NINJAM\NINJAM.url"
"C:\Program Files\NINJAM\NINJAM.exe"
exit

「NINJAM.url」はNINJAMサーバへのインターネットショートカットで、その中身は、

[InternetShortcut]
URL=http://www.ninjam.com/jamfarm/index.php

となっている。インターネット・ショートカットの作り方は自分で調べていただきたい。私はこのショートカットを「C:\Program Files\NINJAM\」に作ったが別にこれはどこにあっても良い。

で、PCを2台使ったりしてくふうすると、たいていのことはできるんだな、ということは昨夜と今夜で実験済み。

ひとつは一台のPCでNINJAMにLoginしつつ、もう一台でStickamにloginしてNINJAMでのセッションをStaickmに中継する。というもの。もうひとつは2台のPCでNINJAMにloginし、その片方をOKE流しにだけ使ってもう一台のloginしないPCで生成したオケを流す、もう一台ではふつうにNINJAMにloginしてセッションに参加する。このとき、クリックは無視することになる。

さて、本題のNINJAMサーバなのだが、NINJAMサイトにはtestサーバが置いてあって匿名(Annonymous)で利用することができるのだが、何しろ世界中から使いに来るわけなので、混むときは混んでしまうわけだ、だからがんがん使いたい人は自分でサーバを立てなさいということでNINJAMサイトにはWindows版とかOS-X版とかLinux版とかのサーバが置いてある。WindowsPCが余っていればWindows版でも良かったのだが、ちょっと今整理してしまったのでLinux版に挑戦してみることにした。

Linux版はソースコードをtarしたものが置いてあるので、これをダウンロードして解凍し、コンパイルする。ディストリビューションはFedora9である。warningエラーがたっぷり出るが、何とか動くものができて、構成ファイルも、付属しているexample.cfgをconfig.cfgとしてコピーし、annonymousユーザを許可するように変更して「ninjamsrv config.cfg」として起動する。その起動スクリプト「/etc/init.d/ninjam」に設定してchmodのあとこんなふうに起動。

[root@LL500 ~]# /etc/init.d/ninjam
NINJAM Server v0.06 built on Sep 4 2009 at 19:36:16 starting up...
Copyright (C) 2005-2007, Cockos, Inc.
Server starting up...
Port: 2049
Using defaults 120 BPM 8 BPI

これを、サーバ起動時に自動起動するようにchkconfigで--addして設定するのだが、ここでちょっとまずいことになった。というのは私の自宅サーバは静音性と低消費電力を狙って中古のノートPCを使っていて、外部からのアクセスがないときは基本的にスタンバイ状態になっているのだが、NINJAMを動作させているとスタンバイにならないのだ。HDDとファンが回ってひゅんひゅんとうるさい。

なので、NINJAMサーバは常時立ち上げないことにした。必要なときだけSSHでログインしてNINJAMを起動し、セッションが終わったらlogoffして終了させる。

で、ファイアウオールに穴を開けて外部からこのサーバにアクセスできるようにして、次はこのサーバを誰に対して公開するかなのだが、自宅サーバのアドレスは公開したくないので、例えばここに書いてみんなで使おうということにはしないつもりだ。常時起動なわけでもないし。おそらくStickamでいっしょに遊んでくれている方々に公開することになると思う。まずは私をNINJAMへ導いてくださったYummyさんに遊んでいただこうと思うのだが、Yummyさんはここ見てないしなぁ。URLを送っとこうか(知らせた)。

|

« 裁判員裁判で悩む | トップページ | スペイン製ギターで悩む »

音楽」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Ninjamサーバで悩む:

« 裁判員裁判で悩む | トップページ | スペイン製ギターで悩む »