2012-09

2012-09-02 

Lethargy

イマイチ疲れが取れなくてやる気が起きないので、またドローン/アンビエント系のノイズを録音した。例によって適当な長さのドローンをアドリブで数トラック録音して、paulstretchで引き伸ばすという手法で作った。言うまでもなくキワモノなので、エクストリームミュージックを聴き慣れてない人は聴かない方が無難。そもそも俺自身、自分で録ったドローンは聴けても他人のドローンはあまり聴く気が起きない。

2012-09-06 

例えば神父や牧師による性犯罪なんて珍しくも何ともないし現に問題になってるけど、だからといって「キリスト教徒は性犯罪者予備群」なんて言ったらそりゃヘイトスピーチでしょ。「Aという集団の中にBであるものがいる」からといってそれを全体に拡大してはいけないし、仮に「Bであるもの」が多くいても全てではない以上、あたかも全てであるかのように扱ってはいけないという話なわけだな。一方で「Bであるもの」の存在がまるでないかのような物言いも事実をねじ曲げているので、やっぱりダメなわけだ。

でも犯罪報道の際に飛び交うのは「犯人はオタクだった! オタクは犯罪者予備群!」「オタクはそんなことしねえよ!」で、要するにどっちもNG。

この記事なんてそのいい例で、「サークル活動がうまくいかず自暴自棄になって女の子を乱暴しようと思った」と自供してんだから、どっちかっていうと注目すべきはそっちだろ。それを踏まえた上でも「居合やってる奴は犯罪者予備群」なんて書いちゃいけないのは言うまでもないわけで、アニメの方も同じことでしょ。


最終的に問題の解決を当事者本人になすりつけているクソ記事。というか「このままだと自殺を考えてしまうかもしれない」状況になっている時点で世界を広げる余裕なんてあるわけねえだろ。場合によっちゃ単に逃げ出すためのエネルギーすら自力で出せるかどうかわからないってのに、本人の努力で自殺が防げるなら年間3万人も死なねえよバカ。

少なくとも、怒号の飛び交うオフィスの一区画にギュウギュウ詰めにされ、そこでクソのようなプロジェクト進行の下で馬車馬のように働かされて日々磨り減っている人に「世界を広げろ」などという余計エネルギーを使うような言葉を投げかけるべきではないだろう。そのような人にまず必要なのは「より広い世界」などではなく、もう少し広くて静かな仕事環境だろう。

自殺の背景にあるのはとてもじゃないが個人だけで立ち向かえるような問題ではなく、企業や社会が追い詰められている人を守らねばならんのだ。それを「自殺する奴は世界が狭いので広げろ」などとは片腹痛い。「死ぬぐらいなら逃げろ、逃げさせろ」だけなら、反対する理由はないんだがな。


「死にたい」という人に純粋な善意から「頑張れ」などと言ってしまう人は、恐らくその相手が「自分はまだ努力が足りないんだ、自分はダメな奴なんだ」などとさらに自分を追い込む可能性について考えたことがないのだろう。きっと前向きなメッセージは良い結果を常に産むと素朴に信じているのだろう。そもそもそれが前向きにしか受け取りようがないと信じているのだろう。

2012-09-07 

数日前に「FFは奇数がシステム重視で偶数がシナリオ重視」みたいな意見を見掛けて、そういやそんな説もあったなと思いつつ、以下のページを思い出した。

ここではFFは3作サイクルで動いているという説が唱えられていて、確かにFF9ぐらいまでは世間の評判を見る限りじゃそれっぽい。俺は真面目にやったことがあるのは3と5と6ぐらいで、7以降は自分で買ってやってはいないんだが。13の事はもう忘れたい。俺は友人宅でプレイして閉口し、遡ってプレイした妹が激怒した8については、以下のレビューを読んでちょっとだけ認識が変わった。

まあ、何となく気持ちは分かる。確かに明らかにクソゲー、そこまで行かずとも客観的に見るとダメなんだけど、自分としては気に入ってるとか嫌いになれないとか、そういうゲームはあるよな。

ちなみに俺は別にFFというゲームには大して思い入れはなかったりする。SFC時代のスクウェアのベストワークはLIVE A LIVEだと思っているし、PSになったらデュープリズムとブシドーブレードだな。ブシドーブレードは多分FF8以上に否定意見が多いだろうし、まあぶっちゃけフリーランニングで立ち合いが破綻してるなど純粋な対戦ツールとしては腐ってたけど、手足を切って殆ど抵抗できない相手を死なないように膾斬りとか、足場から落として追い討ちとか、バカゲーとしては天下一品だった。

PS2が出てからは学業とサークルでのゲーム開発などが忙しくて格ゲー以外やってなかったので、その時代の事はあまり知らん。というか今でも据置のゲーム機を殆ど触ってないのでよくわからん。

2012-09-13 

殺人的に忙しいと言うわけでも無いのだが、一週間近く放置していた。いかんな。

最近のCatyはレイフィケーションなどがそこそこ動くようになってきたので、檜山さんが「イヌネコテスト」と呼んでいてるテストが動くようになった。このイヌネコテストというのは本質的にはスモークテストで、とりあえずソフトウェアが動くかのテストだと思えば良い。またテストに使うデータは基本的にランダムなので、ファジングの性質も持っているか。

特に知性の必要ないのテストが行える部分を自動的に探し出し、適当にデータを生成してそれが動くかどうかをテストするという流れなので、人間のような知性は必要ないがイヌやネコのような獲物を探して引っ捕らえる感覚は必要という感じ。

Catyでアプリケーションを作る場合、最小の機能はコマンドという単位で作ることになるが、イヌネコテストではテストするのに知性の必要なさそうなコマンドを片っ端から探してテストをすることになる。この知性の必要性の有無をどう判断するかだが、今のところは型パラメータを取らないコマンドなどがそれに当たる。以下はシステムに存在する型パラメータを取らず、引数も必要ないコマンドを列挙するスクリプト。

sreif:list-applications | each {
  $.name |mos:fullpath --as="app" > app;
  sreif:list-modules %app | each {
    $.name > mod;
    sreif:list-commands %mod | take { 
      case {
        {
          "typeParams": [], 
          "profiles": [{"args": undefined, *: any?}*],
          *: any?
        } => true,
        * => false
      }
    }
  } | list:concat
} | list:concat

さてこのイヌネコテストでどれぐらいのバグが見つかるかというと、俺が軽く頭を抱えるぐらいのバグやデグレードが見つかっているので、もうちょい与えられる指示を改善できれば、相当な量のコマンドがテストできることになる。

2012-09-14 

俺は演奏する音楽のジャンルがジャンルだけにダウンチューニングを行うことが非常に多いのだが、ちょっとベースギターのスケール長について調べてみると、手持ちの機材じゃ無理がある気がしてきた。1音下げのスタンダードD程度ならともかく、スタンダードBまで下げるのはやっぱキツいかも。

手持ちのダウンチューニング用のベースはKillerのKumoviで、これはパッシヴなのにバカみたいに出力がデカくて多少は誤魔化せてるっちゃそうかもしれんのだが、低域のノイズを利用したサウンドを作るのならともかく、タイトなサウンドを作るのに通常の864mm(=34インチ)のスケールでダウンチューニングは相当キツいんじゃないかなと。

何でそんなことを考えたかというと、まずどこまで低い音を安定して出せるかというのは、かなりの部分がスケール長で決まる。以下は弦振動の周波数を求める計算式。だいたいこんな感じだったと思う。

h = √(T/p)/2L

h = 基本周波数(Hz)
L = 弦長(m)
T = 張力(N)
p = 線密度(kg/m)

ダウンチューニングというのは実際にはスケール長を切り詰める行為に等しい。ギターのスケールはロングスケールで648mm、ミディアムスケールで628mm。仮にギターをスタンダードBまでチューニングを落とす場合、それは5フレットにカポをはめたのと同じテンションで演奏する事と等しい。ロングスケールのギターなら488mmぐらいに短くなったようなものなので、それこそ極太の弦を張らないといけないわけだ。俺がバリトンギターを買った理由がこれで、686mmのスケールであればダウンチューニング時に幾分テンションがマシになる。

そんで問題はベースギターの方で、通常のギターの1オクターブ下にチューニングするというのに、ベースはロングスケールでも864mm程度の長さで、12フレットにカポを付けると432mmとなる。これはロングスケールのギターをスタンダードBにチューニングしたよりも遥にテンションが緩い。ベースギター用の弦は確かに極太だが、実際には巻弦の張力はプレーン弦ほど太さに比例してくれない。

大元の楽器であるアップライトベースは1040〜1050mmぐらいのスケール長で、仮にこれを基準とするなら、明らかにベースギターはスケールが短いし、ギターはギターでスケールが長い。ダウンチューニング前提だとバリトンギターは割と適切だが、レギュラーチューニングだとロングスケールは少々長い。そしてベースギターは何にせよ短いということになる。

確か5弦アップライトベースの5弦の太さは3.5mmぐらいで、5弦ベースギター用の弦のも大体そのぐらいの太さ。もちろん使われる弦の材質などは違うのだが、それを踏まえてもテンションが違うだろう。5弦ベースのレポートで「5弦のテンションがダルダル」みたいなのをしょっちゅう見掛けていたし、実際に自分でダウンチューニングをしてみると確かに太い弦を張ってもキツいものがあったが、そりゃそうだよなあというか。5弦ベースでアクティヴベースが主流なのも、そりゃアクティヴ回路で補わないといけないだろということで割と納得。889mm(=35インチ)のスーパーロングスケールの多弦ベースが市民権を得たのも、やっぱ低音弦のテンションの問題だろうな。

しかしこれだけダウンチューニング全盛だというのに、869mm(=35インチ)の4弦ベースみたいなのがあまり出てこないのが不思議。一部のアーティストのシグネチュアモデルを除くと、YamahaのTRB1004Jぐらいか? Spectorも確か出してたかな。でもどっちも高い。Yamahaのは10万円ぐらいするし、Spectorはさらにその3倍ぐらい。流石に趣味かつ片手間にそこまでかけられないな。

ちなみにB0の基本周波数って30Hzぐらいだから、実際には音を「聴く」というよりは「感じる」ようなレベルで、何より普通の家庭にあるようなオーディオ機器じゃ明瞭に再生できるかどうか怪しい帯域だったりする(30Hzぐらいの純音を作ってみると良くわかる)。結局は倍音を含めた音色で印象が決まるので、その意味でも倍音の出方を左右するテンションや弦長なんかの影響は大きいのだろうな。

2012-09-16 

Blinded By Fear

久しぶりにバリトンギターをがっつり弾こうと思い立ち、At The GatesのBlinded By Fearをやった。ドラムがひたすらツタツタ走っててリズムを取るのがちょいと厄介な以外はそんな極悪難度の曲ではないのだが、途中で小指を使った16分3連のハンマリング→プリングのフレーズがあり、何度か書いている通り小指が少々不自由な俺にはその部分がピンポイントで難関になっている。というかそこ練習してたら小指に痛みが走るようになったので、残りの部分をちょいと練習して即録音。もうちょっと押弦の時に力を抜くとか、手首の動きも活用するとかしないとダメだな。

概ね完コピで、いじったところはメインリフを4回繰り返すところは後半2回をハモリフレーズに変えたぐらいか。あとはそんな大きく変えていないかな。ライブ映像みたら運指というかポジションが全然違っていたけど、まあいいや。

それにしてもAt The Gatesは1995年の段階でこんな曲を作っていたのが凄い。今聴いても全然古臭く感じない。再結成してライブ活動はしてるんだけど、できればビッとした感じの新作も期待したいなあ。The Hauntedの方はグルーヴメタルに移行したことだしねえ。

2012-09-17 

人体冷凍 不死販売財団の恐怖」を読んだ。いやー、すげえ内容だった。というか筆者は未だに逃亡生活を続けているというのが危険極まりない。大丈夫なのか、筆者とカミさんは。ってかどう考えてもアルコー延命財団のやってることは犯罪なのだが、

などで生き延び、今でも普通に財団は運営されているようだ。とある議員がアルコーのアレっぷりが目に余るので、冷凍保存による延命についての規制というか監視のための法案を通そうとしたが、アルコーとその狂信者たちの嫌がらせや脅迫で撤回したという。やっぱカルト関連の問題は命がけだなあ。

2012-09-22 

The Last Time
Once Solemn

Paradise LostのThe Last TimeとOnce Solemn。Once Solemnは前に一度録音したが、音作りに相当不満があったので録り直した。The Last Timeはなんか原曲よりもテンポがちと速くなっちまったようで、特にギターソロに皺寄せが来ている。ドラムの録音の手順が

  1. tuxguitarで打ち込んだデータをMIDIに変換。
  2. rosegardenでMIDIファイルを開き、とhydrogenをJack経由で接続。
  3. hydrogenの設定でドラムの各パートを別のチャンネルとして出力する設定にしておく。
  4. ardourの設定を一時的にJackで同期を取るように変更し、ドラムを録音。

と結構面倒くさいので、多少テンポが違うとかぐらいでは直しを入れていないのが原因。

リードギターのフレーズに同一ノートの繰り返しで構成されている部分が多いのでピックを当てる角度を変えてみたりヴィブラートのかけ方をちょっと変えてみたりしたが、効果が出ているかは不明。

Draconian Timesはマジで捨て曲なしの名盤なので、ここからもう何曲かやる予定。Hallowed Land, Shadowkings, I See your Faceあたりかなあ。EnchantmentやForever Failureは本格的に声域が合わないっぽいのでまあ無理だろうな。(Hallowed Landは延々高速トリルを繰り返すギターソロが弾けるかどうか怪しいが。)

2012-09-25 

そういや日記には書いていなかったが、確か先月の終わりぐらいにまたしても中古でギターを購入していて(CharvelのLPタイプ。相場では12,000円のを7,000円で)、もうギターの置き場にかなり困るようになってきた。実用性だけならそれこそミディアムスケール、ロングスケール、バリトン、ベースが各1本ずつあれば十分で、音作りなんぞアンプシミュレータでいくらでもいじり回せるのだが、まあなんていうか色んなタイプのギターを所持していたいというかなんというか。性能で選んでいるわけではないので、中古とか半ばジャンクとかで全然OKで、むしろそういうのを使えるようにするのもまた楽しかったりする。

ただまあやっぱり置き場所の問題は大きいので、ちょっとギタースタンドを自作しないといけなくなってきた。既存の複数本掛けられるスタンドは大抵が普通のシェイプのギター用で、変形ギター愛好家の俺にはちょっと厳しい。特にフライングV。こういうニッチな需要ってなかなか満たされないんだよな。

2012-09-27 

極めてニッチなTips。Pythonではメソッド名など識別子にハイフンは使えない。次のコードはコンパイルエラーになる。

class Foo(object):
    def bar-buz(self):
        pass

が、次のようにすればハイフンを含んだ名前のメソッドを持たせることができる。これはPython3でも可能。

class Foo(object):
    def bar_buz(self):
        pass

setattr(Foo, 'bar-buz', Foo.bar_buz)

これで一体何が嬉しいかというと、まあ普通の構文で呼び出せない以上は別に何も意味はないのだが、cmdモジュールを使ってアプリケーションを作る際に、ハイフンを含んだコマンドを手っ取り早く定義できるという利点がある。

import cmd
class MyCmd(cmd.Cmd):
    def some_command(self):
        pass

setattr(Foo, 'do_some-command', Foo.some_command)

正攻法でやるならget_namesなどの各種メソッドをオーバーライドする必要があるが、まあこういうやり方もできるっちゃできる。ちなみにCmdは自動補完の際にクラスの属性を見ているので、例えば次のように__init__の中でCmdのインスタンスにsetattrすると補完が効かなくなるのでちょっと嬉しくない。(呼び出しは普通にできる。)

import cmd
class MyCmd(cmd.Cmd):
    def __init__(self):
        cmd.Cmd.__init__(self)
        setattr(self, 'do_some-command', self.some_command)

    def some_command(self):
        pass

これで何か問題があったら、まあその時は正攻法でやればいいか。

2012-09-29 

ニンジャスレイヤー ネオサイタマ炎上1

ニンジャスレイヤーの物語は「妻子を殺された男がその仇と、そして自分の内に宿った狂気・邪悪と戦う」という手垢まみれといってもいい復讐譚が根底にあるのだが、掲載順と物語の時系列がまったく一致しないカットアップという手法と(本来はランダムに選んだ単語で詩を作るみたいな手法らしいが、それを時系列に適用したもの)、プログレッシヴな文章表現の妙でありがちに感じない。むしろ王道の物語が一歩間違えれば独りよがりになりかねない表現技法での冒険を「アリ」にして、その新しい表現技法が手垢の付いた物語に新しい命を吹き込んでいるとさえ言えると思う。

というわけで「イヤーッ」「グワーッ」「アイエエエ!?」ぐらいの予備知識でネタのつもりで読んだら結構ハマってしまったので、まあ楽しませてもらったお礼の意味もあって単行本を買ってきた。紙質はちょいとチープな気がするというか普段買ってるような本では使われてない紙質なのだが、何かそれ含めて雰囲気作りしてるのかもしれん。21世紀のパルプ雑誌的な雰囲気というか。ほらあれだ、わざとアンダーグラウンドのメタルやグラインドコアで音質を最新のテクノロジーが使えるのにわざとローファイにしてるというか。

カバーアート含めてわざと「普通」から逸脱してる感じだ。多分やろうと思えばもっと普通向けにできたと思うんだけど、そこであえて独特の立ち位置を狙ったんだろうな。

2012-09-30 

超大雑把な話だが、都内の企業に就職した場合、給料が初年度は20万円/月ぐらいで、1月あたり20日働いて1日あたりの労働時間は8時間と仮定する。というか大体俺がこのぐらいのラインだった気がする。この場合日割で計算すると日給1万円の時給1250円ぐらいとなる。

たまにソーシャルゲームなんかでネットで見つけたアマチュアのイラストレーターを安く使い倒すみたいな話を聞くけど、単純に作業時間の見積りで時給1250円を下回ったらそりゃ下請けソフトウェアハウスの下っ端以下だ。まあこれはイラストに限った話ではないが。俺の妹は専門学校時代にちょいとばっかしデザインの仕事を請け負ったことがあるのだが、その時は学校の先生が「とりあえず最低限の報酬が○万円で採用されたら追加で×円」のように交渉していたそうだ。

一方でそういう交渉なしに「名前を売る」とか思って安く請け負っちゃう人もいることはいるだろうから、そういうとこどうすんのかなと。俺はこの辺の話は専門家じゃないのでよくわからん。いや、名前や恩を売るために安値で仕事を受けたりサービスしたりするのは別にダメではないが、そういうのは売る相手を考えないといけないわけでな。


「二束三文でイラストの仕事を受けることが問題ならフリーソフトウェアはどうなるんだ」と思う人がいるかもしれんが、こっちはかなり事情が異なる。以下は個人や企業がフリーソフトウェアを開発する事の、思想的な面を排除した理由の一部。

個人で作って公開してる奴なんてのは、まあぶっちゃけた話が開発者=ユーザーな状態で、フィードバックがあったらいいな程度のものが多い。そしてプログラマーの能力を見るのに一番手っ取り早い方法はそいつの書いたソフトウェアを見ることなので、仕事を得やすくなるという意味でもフリーソフトウェアライセンスの元でソフトウェアを公開するのは合理的な行動といえる。またそういったソフトウェアは会社を移っても使いつづけられるので、とりあえず適当なフリーソフトウェアのライセンスで公開しておくと都合がよかったりする。

あと前職でも会社の業務としてフリーソフトウェアを書いたり、フレームワークの解析・解説記事を書いたりしていたけど、あれもそういった情報公開をすることで会社のPRだとか新しい仕事の切っ掛け作りとか、まあそういう思惑がいろいろあっての事だったからな。結局下請けソフトウェアハウスなんてのは一品物のソフトウェアの開発で食いつないでいるわけだから、それの開発に使うフレームワークやライブラリがタダでも問題ないわけだし、むしろ多くの人に使われて多くのフィードバックがあるなんてソフトウェアの方が、開発を進める上でいろいろ都合がいいわけだ。

というわけでフリーソフトウェアというのは、別にアホだからタダでソースコードを配っているわけではなく、それが合理的な選択だからやっているわけだ。


そういや補完財なんて考え方もあったな。経済学も専門ではないので以下はかなり雑な話。

補完財というのは、字面の通り相互に補完し合う財の事で、一方がないともう一方が成立しない物の事。この状態では一方の需要が高まればもう一方の需要が高まるので、例えば一方の価格を下げてももう一方の売上でそれを十分賄えるなら、価格を下げる事が出きるという事。例えばゲーム機とゲームソフトは補完財の関係にあるため、ゲームソフトを買ってもらうためにゲーム機の価格を下げるといった事ができる。この場合、本当に売りたいのはゲームソフトの方なので、ゲーム機の価格は自然とその時点で下げられるところまで下がっていく。

要するに本当に売りたい何かがある時にその補完財を限界まで安くするのは理に適ったことであり、ソフトウェアと言うのは例えば

といった企業にとっては補完財であり、それゆえ無償で提供される事が極めて多くて世界中からフィードバックを受けられる可能性のあるフリーソフトウェアに投資するというのは、主要なビジネスを進めるための補完財の開発をしているというわけだな。