はてなキーワード: JBとは
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20251015005922# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaO9EeAAKCRBwMdsubs4+ SGqHAQCNyWeeB8m7c0Y6CQ1JbBIr+IJgg4prbYUqfTTfhMfa6QD/bpJP8fyNJCWq JB+Wvmd3smZWCouKZABvNrqXhS2lEQU= =RALq -----END PGP SIGNATURE-----
公開から2ヶ月近く経ってしまったけど、RA.1000の目玉企画のひとつであるDJ HarveyとAndrew Weatherallによる6時間半にわたるB2Bセッションの録音を聴き終え、とても素晴らしかったのでここに感想を記したい。
好きな人だけがこっそり楽しむにはあまりに勿体なく、DJカルチャーに明るくない人にも伝わるように書いたら恐ろしく長くなってしまったことを最初に断っておきます。
https://on.soundcloud.com/qtDLB6biRpSlOPR3Mp
■RAについて
Resident AdvisorはアンダーグラウンドなDJ/電子音楽/クラブカルチャーにおいて世界最大級の音楽メディアです。
彼らが2006年にスタートした「RA Podcast」は毎週更新のミックスシリーズで、多種多様なDJ/アーティストをゲストに迎えてオリジナルコンテンツを積み上げてきました。
2025年8月に1000回目を迎えるにあたって包括的な特別編として「RA.1000」を公開。歴史的価値の高いライブ音源からコンセプチュアルな新作まで10組のアーティストによる幅広いラインナップが無料公開されました。
中でもDJ HarveyとAndrew Weatherallが2012年に行ったB2Bのライブ録音はRA.1000企画の目玉といえるスペシャルな音源です。
またRA.1000の公開に合わせて過去の1000本を超える膨大なアーカイブが公開されており、これがはっきり言って文化遺産レベルの達成です。積ん読ならぬ積ん聴き。秋の夜長にどうぞ。
■DJ HarveyとAndrew Weatherallについて
彼らの経歴等は長くなるため割愛。ウェザオールは2020年に死去しており、今回が死後初のミックスリリースとなりました。
強調したいのは両者ともジャンルを横断してダンスミュージックの地平を拡大してきた先駆者であること、特にウェザオールは彼がいなかったらダンスミュージックのみならず現在の音楽シーンはまた違った形になっていたと断言できる人物です。
そして両名ともコマーシャル的な成功より眼の前のお客を熱狂させることに情熱を注ぐタイプのDJということ。
その2人が過去に行ったB2Bの録音が2025年に発表されたことに界隈はザワつきました。しかもハーヴィーがB2Bを行ったのは後にも先にもこの一回きりとのこと。
もし中田秀夫監督と清水崇監督がリング/呪怨の直後に共同制作した未公開作品がいま発表されたらホラー映画ファンは歓喜するでしょう?分かりづらい例えをしてしまい申し訳ないがそんなイメージです。
宮崎駿と高畑勲に例えようかとも思ったけどちょっとビッグネームすぎた。
■B2Bについて
B2B(Back-to-Back)は複数人で曲のかけ合いを行うDJスタイルのことで、一対一で1曲ずつのプレイが基本的な形です。
DJ同士がその場のノリで自然発生的にやる場合もあれば、Harvey × AWのように「夢の共演」としてメインに企画されることもある。
勝敗を決定する趣旨はなく、一緒に一夜を作り上げる共闘関係ではあるが「どちらがより遠くへ行けるか」という意識は(DJに限った話ではないけど)当然存在し、そこには音楽による提起、アンサー、挑発、協調、意趣返しがあり、対話と文脈が生まれます。どこに向かいどう着地するかはDJの技量次第。これは修正できないひと筆書きの物語です。
このセットについて、海外のフォーラムでは「Are they playing side by side and alternating?」と議論があるようだけど、自分は基本的には1曲ずつかなと思います。(理由は後述)
ただしプレイが2012年であることに加え、ウェザオールが存命でないため、誰がどの曲をプレイしたのか本当のところはHarveyにしか分かりません。
以下に感想を詳しく書きますがファンによる不確実な憶測を多分に含みます。
・43:52〜
The J.B.'s – Doing It To Death
おそらくHarvey。スタートからの探り合いののちにウェザオールが仕掛けた「スピリチュアルお経」に対するアンサー。
JBがDJセットに組み込まれること自体は珍しくないが、このトラックは思わずクスッとなるエディットが仕込まれている。(オフィシャルのクリアランスを取ってるとはとても思えない)
それにしても最初の仕掛けにしてはあまりにぶっ飛んでるAWと即座に変化球を返すハーヴィーの瞬発力よ。
飛び道具上等といったところか。
・1:34:51〜
Boys From Patagonia - Rimini '80
おそらくウェザオール。0:40頃のカマし合い以降はウェザオールの低重心で硬質なモードにHarveyが同調し、お手本のようなジリジリとしたビルドアップからのコレ。そこに至る(Harveyの協調による)緻密な助走ありきの到達といえる。アクセルを踏み込むタイミングを見定めたら容赦ない加速。
上モノのピロピロ笛がシンセリードに切り替わって音階を昇る瞬間は自分もウォウ!と叫んでしまった。
・1:54:30〜
Lindstrøm - Rà-Àkõ-St (Todd Terje Extended Edit)
おそらくHarvey。ウェザオール主体の軸で一定のピークを迎えたことで新たな軸を模索する動き。
オリジナルよりBPMを落としているのだがそれが重めの音調となってここまでの流れに違和感のない繋がり。
2012年当時はNu Discoと呼ばれる北欧のアーティストが中心となったトレンドが成熟を迎えつつあった時期で、Harvey自身がその流行を作り出した一人といえる。
ついでに言うとハウス/テクノ/エレクトロのセットとしてはBPMが遅く、それもひと昔前の空気を感じるところ。
Harveyはそろそろかっ飛ばしたいはずだがウェザオールがそれを許さない。
・3:11:15〜
Bang The Party - Bang Bang You're Mine (Tom Moulton Edit)
これはどっちだろう?前後の繋がりからHarveyな気がする。
依然としてエレクトロ圧が強いが、この時間帯になるとHarveyも適応して自身の得意なディスコやハウスのグルーヴを入れ込みつつ構築。ウェザオールもウィングを広げてジャンル横断感が加速。
ウェザオールもローをカットしたりハイハットを差し込むようなイコライジングは行うが、Harveyのそれはもうちょっと能動的、ハウス的なツマミぐりぐり系なので分かりやすい。(とはいえB2Bなので相手の曲をイコライジングする局面も当然あり得る)
・4:09:20〜
Tooli - No Reason (John Farnham - Age of Reason)
ピアノ!四時間超にしてたぶん初めてのピアノソロ。これも多分Harvey。
なんてクールな曲だろうと思って調べたら原曲は80sのちょっとダサめな(申し訳ない)ポップロック。https://youtu.be/adVR3MT8fGg?si=F2979n8bV_VK2vYN
これも権利チェックで弾かれる系のエディット盤だが、自分はこういうのが聴きたくて長年音楽を掘ってるまである。
ウェザオールは眉をひそめたかもしれないが、無しを有りにする角度の付け方は大好き。
・5:11:46〜
Something For Kate - Killing Moon (T-Rek Desert Disco Dub Mix)
ウェザオール印。
どこまでもクールに、ダークにいくよというウェザオールの芯のブレなさ。ダブとロック(チャグ)の一貫性。
ただ終盤の90分はウェザオールの色が薄まった気もする。もしかすると途中で抜けてるかも?
・6:13:10〜
The Brand New Heavies - I Don't Know Why (I Love You) (A Tom Moulton Mix)
Harveyによる締めのスイーツ。
絞ったLoを解き放つたびに加速するストリングスとホーンとボーカル。オリジナルの音源が100だとしたら120にも130にも響かせてやろう。
モータウン味を感じると思ったら原曲はスティービー・ワンダーで納得。
■あとがき
6時間半をどうやってぶっ通しで聴くかだけど、自分は一人で遠方まで運転する予定を作りました。自宅だと長尺はキツいし、ある程度の音量で聴きながら体でリズムを刻んだり叫んだりしたかったから。
最低2時間くらいはまとめて聴けるようにするとより没入できると思います。
作品としてリリースされたミックスや自分が現場で体験してきたDJプレイを含めて、トップクラスに素晴らしい音楽体験でした。
今回Harvey × AWを取り上げたけど、自分はTheo ParrishのRA.1000についても同じ熱量で語りたいくらいだし、というかRA.1000について日本語で読める言及がネット上に見当たらず、この文化的喪失に危機感を覚えたので増田に書き殴ってやろうと思った次第です。
東京23区と周辺のいくつかの市で、東京選挙区での参政党の得票率がどんな要因と関係しているのか、軽い気持ちで回帰分析してみた。
変数の多重共線性とか処理はガバガバなので軽い気持ちで見てほしいんだが、ざっくりまとめると、「大学院卒業者の割合」が高い地域では得票率が低く、「役員の割合」が高い地域では逆に得票率が高い、という傾向がありそう。
使ったデータはNHKが出している投票所別の得票率。手入力なので誤りがあるかもしれない。
それに、東京都の人口統計と国勢調査(令和2年の)などから市区町村ごとの属性データをくっつけて、変数を一律で標準化したうえで回帰分析を行った。
都内の市区町村のうち、データが揃ってる27地域を対象にした(23区+町田・八王子・調布・西東京)。
20万人以上の市しか一部のデータが見つけられなくて、そこはごめんって感じ。
まず、説明変数を11個使って線形回帰分析をしたところ、決定係数は0.83(調整済み決定係数は0.71)だった。何を使ったかは後で。
そこから影響が特に大きそうな4変数(平均年齢、大学院卒業者割合、役員の割合、情報通信業の割合)に絞って分析し直すと、決定係数は0.73(調整済み決定係数は0.68)になった。
詳しくはこれ
国勢調査は5年に1回しかなくて、最新の結果が令和2年のだった。
4つの変数の関係を見てみると、平均年齢は他の3つの変数(大学院卒、役員、情報通信業)と負の相関を持っていた(相関係数 < -0.69)。一方、大学院卒業者の割合・役員の割合・情報通信業の割合は互いに中程度以上の正の相関(相関係数 > 0.5)を持っており、特に大学院卒と役員の間の相関係数は0.75と大きかった(いずれもピアソン相関)。
ただし、回帰係数を見ると、興味深い違いがある。大学院卒業者の割合、平均年齢、情報通信業の割合はいずれも負の係数を持っていて、これらが高いと参政党の得票率は下がる傾向がある。一方で、役員の割合は正の係数を持っていた。
| 市区町村 | 参政党得票率(NHK) | 予測値_参政党得票率 | 平均年齢(令和7年1月) | 大学院卒業者割合(令和2年国勢調査) | 役員の割合(令和2年国勢調査) | 情報通信業の割合(令和2年国勢調査) |
| 千代田区 | 9.4 | 9.6 | 42.69 | 0.088 | 0.162 | 0.115 |
| 中央区 | 9.8 | 9.3 | 42.17 | 0.075 | 0.126 | 0.135 |
| 港区 | 10.1 | 10.4 | 43.48 | 0.065 | 0.171 | 0.131 |
| 新宿区 | 9.4 | 9.5 | 44.08 | 0.052 | 0.097 | 0.129 |
| 文京区 | 7.4 | 7.6 | 43.35 | 0.097 | 0.098 | 0.118 |
| 台東区 | 10 | 10.1 | 45.59 | 0.041 | 0.109 | 0.112 |
| 墨田区 | 10.1 | 9.8 | 44.88 | 0.035 | 0.073 | 0.115 |
| 江東区 | 9 | 9.4 | 44.82 | 0.041 | 0.069 | 0.12 |
| 品川区 | 9 | 8.6 | 44.34 | 0.056 | 0.077 | 0.143 |
| 目黒区 | 9 | 9.4 | 44.88 | 0.05 | 0.109 | 0.137 |
| 大田区 | 9.9 | 9.5 | 45.67 | 0.039 | 0.069 | 0.105 |
| 世田谷区 | 9.9 | 9.4 | 45.19 | 0.047 | 0.097 | 0.128 |
| 渋谷区 | 10 | 9.7 | 44.8 | 0.054 | 0.142 | 0.152 |
| 中野区 | 9.5 | 9.3 | 44.57 | 0.038 | 0.072 | 0.141 |
| 杉並区 | 8.5 | 8.9 | 45.23 | 0.047 | 0.076 | 0.136 |
| 豊島区 | 9.6 | 9.5 | 44.05 | 0.044 | 0.081 | 0.132 |
| 北区 | 9.2 | 9.4 | 45.74 | 0.036 | 0.058 | 0.107 |
| 荒川区 | 9.4 | 9.9 | 46.23 | 0.032 | 0.071 | 0.096 |
| 板橋区 | 9.9 | 10.0 | 45.73 | 0.027 | 0.059 | 0.099 |
| 練馬区 | 10.3 | 9.6 | 45.5 | 0.034 | 0.068 | 0.113 |
| 足立区 | 10.5 | 10.7 | 46.74 | 0.017 | 0.063 | 0.073 |
| 葛飾区 | 10 | 10.4 | 46.52 | 0.02 | 0.061 | 0.083 |
| 江戸川区 | 11 | 10.7 | 45.09 | 0.021 | 0.062 | 0.085 |
| 八王子市 | 10.1 | 9.7 | 48.31 | 0.029 | 0.054 | 0.054 |
| 町田市 | 10 | 9.5 | 48.16 | 0.031 | 0.058 | 0.068 |
| 調布市 | 8.6 | 9.4 | 45.66 | 0.035 | 0.06 | 0.113 |
| 西東京市 | 9.1 | 9.5 | 46.9 | 0.028 | 0.055 | 0.102 |
雑なモデルなので話半分でね。
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.730
Model: OLS Adj. R-squared: 0.680
Method: Least Squares F-statistic: 14.84
Date: Mon, 21 Jul 2025 Prob (F-statistic): 5.09e-06
Time: 07:21:02 Log-Likelihood: -20.653
No. Observations: 27 AIC: 51.31
Df Residuals: 22 BIC: 57.78
Df Model: 4
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 1.277e-15 0.111 1.15e-14 1.000 -0.230 0.230
x1 -0.5743 0.230 -2.493 0.021 -1.052 -0.096
x2 -1.3278 0.204 -6.512 0.000 -1.751 -0.905
x3 0.8670 0.174 4.973 0.000 0.505 1.229
x4 -0.5382 0.169 -3.184 0.004 -0.889 -0.188
==============================================================================
Omnibus: 2.233 Durbin-Watson: 2.170
Prob(Omnibus): 0.327 Jarque-Bera (JB): 1.169
Skew: -0.035 Prob(JB): 0.557
Kurtosis: 1.983 Cond. No. 4.48
==============================================================================
| 変数 | 回帰係数 |
| 平均年齢(令和7年1月) | -0.78 |
| 1世帯あたり人口 | -0.31 |
| 男性率(令和7年1月) | 0.07 |
| 外国人比率(令和7年1月) | -0.07 |
| 5年間外国人割合変化 | 0.27 |
| 犯罪認知割合 | -0.05 |
| 大学院卒業者/全卒業者(令和2年国勢調査) | -1.77 |
| 不詳者/全卒業者(令和2年国勢調査) | -0.51 |
| 従業上の地位:役員の割合 | 1.39 |
| 従業上の地位:自営業主の割合 | 0.09 |
| 産業区分:情報通信業の割合 | -0.53 |
| 地域 | 参政党得票率(NHK) | 予測値_参政党得票率 | 平均年齢(令和7年1月) | 1世帯あたり人口 | 男性率(令和7年1月) | 外国人比率(令和7年1月) | 5年間外国人割合変化(令和2年から7年) | 犯罪認知割合(令和6年件数/令和7年人口) | 大学院卒業者/全卒業者(令和2年国勢調査) | 不詳者/全卒業者(令和2年国勢調査) | 従業上の地位:役員の割合(令和2年国勢調査) | 従業上の地位:自営業主の割合(令和2年国勢調査) | 産業区分:情報通信業の割合(令和2年国勢調査) |
| 千代田区 | 9.4 | 9.5 | 42.69 | 1.75 | 0.50 | 0.06 | 1.22 | 0.04 | 0.09 | 0.36 | 0.16 | 0.09 | 0.12 |
| 中央区 | 9.8 | 9.8 | 42.17 | 1.76 | 0.48 | 0.07 | 1.33 | 0.01 | 0.08 | 0.28 | 0.13 | 0.08 | 0.14 |
| 港区 | 10.1 | 10.0 | 43.48 | 1.74 | 0.47 | 0.08 | 1.08 | 0.01 | 0.07 | 0.42 | 0.17 | 0.10 | 0.13 |
| 新宿区 | 9.4 | 9.0 | 44.08 | 1.52 | 0.50 | 0.14 | 1.12 | 0.02 | 0.05 | 0.39 | 0.10 | 0.09 | 0.13 |
| 文京区 | 7.4 | 7.5 | 43.35 | 1.80 | 0.48 | 0.07 | 1.32 | 0.01 | 0.10 | 0.25 | 0.10 | 0.08 | 0.12 |
| 台東区 | 10.0 | 10.3 | 45.59 | 1.58 | 0.51 | 0.09 | 1.21 | 0.01 | 0.04 | 0.36 | 0.11 | 0.09 | 0.11 |
| 墨田区 | 10.1 | 10.1 | 44.88 | 1.69 | 0.49 | 0.06 | 1.25 | 0.01 | 0.04 | 0.28 | 0.07 | 0.07 | 0.12 |
| 江東区 | 9.0 | 9.2 | 44.82 | 1.84 | 0.49 | 0.07 | 1.23 | 0.01 | 0.04 | 0.27 | 0.07 | 0.06 | 0.12 |
| 品川区 | 9.0 | 8.6 | 44.34 | 1.73 | 0.49 | 0.04 | 1.19 | 0.01 | 0.06 | 0.24 | 0.08 | 0.07 | 0.14 |
| 目黒区 | 9.0 | 9.3 | 44.88 | 1.74 | 0.47 | 0.04 | 1.19 | 0.01 | 0.05 | 0.35 | 0.11 | 0.10 | 0.14 |
| 大田区 | 9.9 | 9.7 | 45.67 | 1.77 | 0.50 | 0.04 | 1.26 | 0.01 | 0.04 | 0.23 | 0.07 | 0.07 | 0.11 |
| 世田谷区 | 9.9 | 9.3 | 45.19 | 1.84 | 0.47 | 0.03 | 1.22 | 0.01 | 0.05 | 0.30 | 0.10 | 0.10 | 0.13 |
| 渋谷区 | 10.0 | 9.9 | 44.80 | 1.61 | 0.48 | 0.06 | 1.12 | 0.02 | 0.05 | 0.34 | 0.14 | 0.12 | 0.15 |
| 中野区 | 9.5 | 9.5 | 44.57 | 1.57 | 0.51 | 0.07 | 1.20 | 0.01 | 0.04 | 0.33 | 0.07 | 0.09 | 0.14 |
| 杉並区 | 8.5 | 8.9 | 45.23 | 1.73 | 0.48 | 0.04 | 1.19 | 0.00 | 0.05 | 0.26 | 0.08 | 0.09 | 0.14 |
| 豊島区 | 9.6 | 9.5 | 44.05 | 1.57 | 0.50 | 0.12 | 1.21 | 0.01 | 0.04 | 0.34 | 0.08 | 0.09 | 0.13 |
| 北区 | 9.2 | 9.2 | 45.74 | 1.71 | 0.50 | 0.09 | 1.31 | 0.01 | 0.04 | 0.31 | 0.06 | 0.07 | 0.11 |
| 荒川区 | 9.4 | 9.6 | 46.23 | 1.77 | 0.50 | 0.11 | 1.19 | 0.01 | 0.03 | 0.29 | 0.07 | 0.08 | 0.10 |
| 板橋区 | 9.9 | 10.0 | 45.73 | 1.73 | 0.49 | 0.07 | 1.29 | 0.01 | 0.03 | 0.30 | 0.06 | 0.07 | 0.10 |
| 練馬区 | 10.3 | 9.6 | 45.50 | 1.89 | 0.48 | 0.04 | 1.22 | 0.01 | 0.03 | 0.25 | 0.07 | 0.08 | 0.11 |
| 足立区 | 10.5 | 10.6 | 46.74 | 1.84 | 0.50 | 0.06 | 1.28 | 0.01 | 0.02 | 0.31 | 0.06 | 0.08 | 0.07 |
| 葛飾区 | 10.0 | 10.5 | 46.52 | 1.86 | 0.50 | 0.06 | 1.27 | 0.01 | 0.02 | 0.27 | 0.06 | 0.08 | 0.08 |
| 江戸川区 | 11.0 | 10.8 | 45.09 | 1.93 | 0.50 | 0.07 | 1.27 | 0.01 | 0.02 | 0.26 | 0.06 | 0.07 | 0.09 |
| 八王子市 | 10.1 | 9.7 | 48.31 | 1.96 | 0.50 | 0.03 | 1.28 | 0.01 | 0.03 | 0.21 | 0.05 | 0.07 | 0.05 |
| 町田市 | 10.0 | 10.0 | 48.16 | 2.06 | 0.49 | 0.02 | 1.44 | 0.01 | 0.03 | 0.17 | 0.06 | 0.08 | 0.07 |
| 調布市 | 8.6 | 9.1 | 45.66 | 1.92 | 0.49 | 0.02 | 1.14 | 0.01 | 0.04 | 0.23 | 0.06 | 0.08 | 0.11 |
| 西東京市 | 9.1 | 9.2 | 46.90 | 2.00 | 0.49 | 0.03 | 1.15 | 0.01 | 0.03 | 0.20 | 0.06 | 0.08 | 0.10 |
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.833
Model: OLS Adj. R-squared: 0.711
Method: Least Squares F-statistic: 6.803
Date: Mon, 21 Jul 2025 Prob (F-statistic): 0.000472
Time: 06:53:14 Log-Likelihood: -14.148
No. Observations: 27 AIC: 52.30
Df Residuals: 15 BIC: 67.85
Df Model: 11
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -5.405e-15 0.106 -5.12e-14 1.000 -0.225 0.225
x1 -0.7820 0.361 -2.165 0.047 -1.552 -0.012
x2 -0.3056 0.355 -0.860 0.403 -1.063 0.452
x3 0.0671 0.270 0.248 0.807 -0.509 0.643
x4 -0.0737 0.213 -0.346 0.734 -0.527 0.379
x5 0.2652 0.168 1.579 0.135 -0.093 0.623
x6 -0.0534 0.246 -0.217 0.831 -0.578 0.472
x7 -1.7650 0.293 -6.018 0.000 -2.390 -1.140
x8 -0.5147 0.379 -1.358 0.195 -1.322 0.293
x9 1.3916 0.348 3.994 0.001 0.649
JBって何の略なんだい
○ご飯
朝:なし。昼:キャベツとブロッコリーとたまごのスープ。キュウリ。トマト。夜:ウインナー、大根、人参、キノコ、トマト、たまごのスープ。冷奴。納豆。バナナヨーグルト。間食:柿の種。チョコ。
○調子
むきゅーはややー。おしごとは、おやすみなりー。
○刑事J.B.ハロルドの事件簿 キス・オブ・マーダー
1987年に発売されたコマンド選択式ADVのSwitch版リメイクを遊んだので感想を書く。
JBハロルドシリーズの第三弾、前々作で事件の本筋とは関係していなかったが印象に残る色気のあるキャラだったサラ・シールズが殺害されるところからストーリーが始まる。
……あれ? 2作目と同じ導入なんだけど? と頭がはてなで埋め尽くされたので少し事前情報を仕入れた。
どうも、3作目というよりは番外編で2作目のマンハッタンレクイエムの素材をそのまま使ったパラレルワールドの作品らしい。
なるほど、パソコンゲーム黎明期ならこういう手法もアリだったのかな? 当時の空気感はいかほどだったのか気になるところだ。
1〜2作目と同じく、ひたすらに聞き込みを繰り返すコマンド総当たり式アドベンチャーゲーム。
とはいえ、前作マンハッタンレクイエムと素材が同じだけど異なるストーリーなので、正直続けて遊ぶと頭が混乱してしんどかった。
その上、今作は輪をかけてストーリーらしいストーリー、謎らしい謎がなく、淡々と自供で話が進んでいく。
加えて、聞き込み相手ではない、ハロルドの仲間と証拠や証言を整理するパートが多い。
聞き込み相手はある程度当たりをつけつつ総当たりするのでそれなりに遊びがあっていいのだけど、仲間との整理は正直脈絡なく本当にただただ総当たりするしかないのが辛い。
さらに後半、聞き込み可能な相手が減ってくると、犯人と会話、仲間と会話、犯人と会話、仲間と会話と。まるで伝言ゲームのように仲間と犯人の間を取り持つことになるのは辟易させられた。
また集めた証拠品も結局関係あるのかないのかよくわからないものが多く、しっくりこない。
まあ、素材を使い回してパラレルワールドの作品を一編作ったことに、制作上のドタバタがあったのだと思うと、30年以上前の作品にあれこれ言うのは野暮なのかもしれない。
しかし、JBハロルドシリーズならではの、ひたすらに聞き込みを繰り返すゲーム性が嫌いなわけではなく、無口なハードボイルド刑事のハロルドのことも好きなので、そういういつもの部分を楽しんだ面もある。
現行のコンシューマゲーム機に移植されているシリーズはここまでだが、プロジェクトEGGなどでパソコンでなら続きも遊べるようなのでまたいつか次作も遊んではみたい。
○ご飯
朝:納豆たまごかけご飯。豚汁。昼:なし。夜:ウインナー、大根、人参、キノコのスープ。きつねうどん。いりたまご。バナナヨーグルト。間食:柿の種。
○調子
むきゅーはややー。おしごとは、おやすみなりー。
1987年に発売されたコマンド選択式ADVのSwitch版リメイクを遊んだので感想を書く。
JBハロルドシリーズの第二弾、前作で事件の本筋とは関係していなかったが印象に残る色気のあるキャラだったサラ・シールズが殺害されるところからストーリーが始まる。
ストーリーの繋がりはこの程度で非常に薄めで、シリーズキャラになる主人公のJBも一人称で述懐するシーンが限りなく少ないため、あらすじが気に入った順にプレイして問題ない。
システムもSwitch移植の際に統一されたのか、ほとんど同じエンジンでガワが変わっているだけな印象。(細かい変化はあるので全く同じわけではない)
そんなわけで前作同様に、ひたすらに聞き込みと現場の捜査を繰り返す足で稼ぐ系のアドベンチャーゲームだ。
とにかくコマンド総当たりで聞き込みを繰り返していき、少しづつ事件の輪郭を浮き彫りにしていく、非常に原始的なアドベンチャーゲームのそれを楽しむことになる。
UI周りはスッキリしていてモタつかないのは流石にリメイクの恩恵がありそうな部分。
今作では何と同姓同名の被害者が3人おり、さらにいづれも同様な飛び降り自殺を行っている、そんな奇妙な謎が開幕早々に提示される。
しかし、この謎はどうも、アドベンチャーゲームとしての総当たりコマンドにおけるコマンド数の省略、すなわち「サラの〜〜」を聞くという形式にすることで3人いるサラJ、サラO、サラNのいづれか3人の質問をまとめる効果を狙ってのもののようだった。
なので、同姓同名が出てきたということは、なんてミステリオタクが先回りしがちなアレやコレや全くなく、正直ただただテキストを読む際に整理しながら読む必要があっただけだった。
とはいえ、ひたすらに聞き込みを行い誰の証言が信用おけるのか、誰を疑うべきなのかを切り分けていく、JBハロルドシリーズの骨子の部分は面白い。
特に意外な人物達が繋がっていくのはこういう聞き込みを繰り返すゲームならではの楽しみだ。
古いアドベンチャーゲームなので、良く言えば媚びていない、悪く言えば味付けが薄い部分も前作同様。
特徴的なキャラ付けも薄いので、登場人物たちを覚えるのに一生懸命だった。
読んでいけば自然と彼らのことが分かっていき、クリアまでにはほぼ全員をしっかりと理解できるのは、何回も何回も聞き込みを繰り返してこそだ。
面白い/面白くないの軸で評価するというよりは、テンポよくテキストを読むのが気持ち良いそんな軸で評価をしたくなる一作だった。
○ご飯
朝:なし。昼:牛丼。サラダ。豚汁。たまご。夜:袋ラーメン。タマネギの生姜ニンニク炒め。間食:なし。
○調子
○ 刑事J.B.ハロルドの事件簿 マーダー・クラブ
1986年に発売されたコマンド選択式ADVの Switch版リメイクを遊んだので感想を書く。
根幹は80年代に発売されたゲームから変わっておらず、とにかくコマンドを総当たりで試していき、容疑者達に聞き込みを繰り返していくゲームだ。
20人以上の容疑者が街に点在しているので、ひたすらに彼らと何度も会話していき事件の概要を少しづつ浮き彫りにしていく。
殺人事件の犯人を追う王道のミステリだが“謎解き”の部分は主題に置かれておらず、推理よりも聞き込みで情報を足で稼ぐ過程がゲームになっている。
この辺は、かまいたちの夜以前とか、逆転裁判以前などとADVの歴史をそれらしく語ることもできるが、そもそもこの辺は近似ジャンルである本格ミステリ小説やパズラー小説が本格ミステリ冬の時代(この用語の是非についてもそれはもう語るべき内容が山のようにあり、あたかも自明のごとく使うことはよくないのだが、あくまで近似ジャンルの話題なので勘弁して欲しい)と呼ばれていたことと無関係ではないだろうし、エンタメとして包括した考察が必要なので大仰な歴史の話はやめておく。
そんなわけで、ひたすらに聞き込みを繰り返しながら事件を捜査していく。
大勢の登場人物に加えて、動機のラインが複数本あるのでそれらを整理しながら徐々に情報が集めていく。
情報が積み重なっていけば容疑者を重要参考人として取調室へ連行できるので、そうやって少しづつ街から容疑者が減っていき情報の整理が目に見えてわかるのが楽しいポイントだった。
しかし繰り返しになるが解くべき謎が提示されるわけではなく、淡々と情報収集を繰り返していくと、容疑者たちが自発的に口を割っていくので、読み物としての物足りなさは否めない。
登場人物も写実的でフィクションらしいキャラクタの肉付けもないので、本当に淡々と進んでいく。
古いゲームを少し古い言葉で評してしまうが、キャラ萌え要素は全くない。
決してそれが面白くないわけではなく、捜査と聞き込みの繰り返しがコマンド選択式ADVの魅力であり、動機のラインが複数ある中からそれを選定していくのは物語ではなくゲームとしての楽しさ、面白さにはなっている。
主人公のJBハロルドについても作中で人間性がわかるような描写はほとんどないものの、それだけにエンディングの一枚絵で酒とタバコを嗜む姿がハードボイルドな大人の魅力を感じられていいスチル絵だった。
歴史の雨風に負けない風化しない面白さの強度がテキスト重視のゲームは強い傾向にあるが、テキストの面白さをシステムと密接な関係にある今作は、やっぱり少しゲームの歴史のお勉強感というか、義務感というか、セールで安かったし感というか、そういう少し本筋とは外れた部分での満足感の方が強かったかもしれない。
(なお、完全に余談だが冒頭で書きかけた新本格の隆盛についてを小説ではなくエンタメとして包括したときに、名探偵コナンの存在を軽視する私の有り様を強く批判するもう一人の私がいるので、どこかで名探偵コナンの振り返りを行いたいと考えているが、これこそお勉強として読むコナンは面白くないだろうし、僕はミステリの歴史家になりたいわけではないので、うーむと思っているのだが、名探偵コナンの家庭用ゲームを追うのは有りな気もしており悩ましい)
塙 : どうもーナイツですー。
塙 : 早速ですけどね、今流行りのvtuberグループについてヤホーで調べてきたんです。
土屋 : 調べ物はヤフーでしたほうがいいと思いますけどね。どこ調べてきたんですか?
塙 : なんだっけ……名前忘れちゃたな。
土屋 : 調べてきたのに忘れちゃったんですか。
塙 : あれ調べたのついさっきだったのにな。今日の2時か3時くらい。
塙 : 今日はそんなにじさんじについてお話させていただきます。
土屋 : 調べてきたんですって。聞いてあげてください。
塙 : にじさんじはですね、いわゆる企業vtuberグループというやつでして、運営しているのは いつもここから なんです。
塙 : 2018年のサービス開始から2年でチャンネル登録合計が1400万人を突破してまして
土屋 : おーすごいですね
塙 : 所属vtuberも1400万人を突破してるんですね。
土屋 : そんないねーわ。100人ちょっとくらいですよ。それでも多いですけどね。
塙 : 配信内容はメンバーそれぞれ個性が光る物が多いんです。
塙 : まあ、こう言っちゃなんですけど、変な配信が多いんですよ。例えば、2019年2月にデビューしてから、消しゴムでサッカーをするという意味不明な一人遊び動画を100本以上投稿し続ける人がいるんですよ。
土屋 : ……俺だよ。「つちやのぶゆき 世界消しサカ協会」っつってやってんだよ。
塙 : 世界にも打って出るために英語、フランス語などで字幕をつけたりもしてですね
土屋 : だから俺なんだよ。消しサカ流行らせたくて頑張ってんだよ。塙さんいいからにじさんじの話してくださいよ。
塙 : じゃあちょっと、最初にデビューした落花生のメンバーを紹介しようと思います。
土屋 : 一期生ね。落花生vtuberはピーナッツくんくらいかな?
塙 : vtuberっぽいな、って思う人にですね、女神様がいるんですね。
土屋 : あーたしかに。普通のyoutuberだと女神様ってキャラはなかなかいないですよ。
塙 : オイラっていうんです。
土屋 : えー、モイラ様ね。そんなビィくんの一人称みたいな人じゃないんですよ。
塙 : ファンからは親しみを込めて、いもいもって呼ばれてます。
土屋 : もいもいですね。衣装はちょっと芋っぽいの多いですけど。
塙 : あの宮崎駿監督の超名作映画に登場していた人もいるんです。
土屋 : 勇気ちひろだよ。ちーちゃんが千と千尋の神隠しに出てたら湯婆婆はっ倒して終わりだよそんなもん。
塙 : 豚にされた両親を取り戻すためにApexをやり続けなくてはいけないという契約を交わしています。
土屋 : んなわけあるか。あれはちーちゃんが好きでやってるんですよ。
塙 : 男だけど女みたいな格好している人がいますね。
塙 : 和田アキ子。
土屋 : 鈴谷アキだよ。アッコさんvtuberやってねえわ。
塙 : あーごめんなさい!中の人の話しちゃった!タブーですよねすいません!
土屋 : 中の人でもねえわ。アッコさんからアキくんの声でてこねえだろ。
塙 : える っていう子がいるんですね。
塙 : いやー、えるちゃんの初登場時の衝撃は忘れられないですね。
塙 : まさか試験当日に後ろの椅子に座って「私がLです」ですからね。
塙 : 渋井丸拓男ってのもいますね。
土屋 : 渋谷ハジメですかね。渋井丸拓男だとデスノで2番目に名前書かれたモブになっちゃいますからね。
塙 : 彼はバイクが好きなんですよね。
土屋 : ツキノって読むんですよあれ。ライトなんて名前のやつにじさんじにいませんからね。
塙 : この樋口と月ノの二人を指して、カレー味噌なんて呼び方しますね。
塙 : 1期生でも特に人気なのが樋口楓、月ノ美兎、渋谷凛の三人ユニット。
土屋 : 静凛だよ。しぶりんいたらもうそれはニュージェネレーションズだろ。
塙 : あれ?ユニット名なんて言ったっけな……JA、JB、JC……
土屋 : これ正解まで待ってなきゃいけないんですかね。
塙 : あっJA組ですね。
塙 : なんとこのJK組はですね、あのマイクラ配信や雑談配信、そしてなんといっても歌配信など個性的な配信をすることでも有名なんです。
土屋 : わざわざ没個性の配信取り上げんじゃないよ。vtuberの登竜門だよ。
塙 : 僕JK組のやり取りのなかで好きなやつがあるんです。
土屋 : ほう好きなやりとり。いいですね。なんですか?
塙 : 静凛がね、月ノ美兎と樋口楓がイチャついてるところに現れてね、「不倫……!」って言うんですね。
土屋 : プリンだよ。しずりんプリンシリーズそうやって見てたの?嫌でしょそんなめちゃくちゃドロドロしてるJK組。
塙 : そんな月ノと樋口の間には一昨年にじさんじ初となる、待望の第一子が生まれていますからね。子は親の背中を見て育ちますから。vtuber業界の模範として、これからも頑張って欲しいですね。
土屋 : いいこと言ってる風なとこ悪いんですけど、剣持くんは待望の第一子ではないですからね。
塙 : にじさんじにはこれからもvtuber業界の足を引っ張っていってほしいですね。
土屋 : なんでだよ。足じゃなくて腕ひいて牽引していけるだろ。
Manga Plus by Shueishaとは日本国外向けに作られたジャンプ漫画の序盤3話と最新3話を無料で読めるサイト、スマホアプリです。
※注 意見を聞くために海賊版について特段厳しく追及していません。不快になる人はご注意を
以下、機械翻訳
■liatris4405(増田)
日本以外のオタク文化に興味があり、時々これらの質問をします。マンガプラスは今年リリースされました。
このアプリはエピソード1、2、3、および最新の3エピソードを読むことができると聞きました。しかし、いくつかのサブを見ると、マンガプラスについてさえ知らない人がかなりいるようです。また、アプリケーションの仕様を誤解している人もいると思います。
ところで、私はマンガが日本以外でどのように読まれているか知っています。だから、私は海賊を極端に非難したくありません。私は日本の漫画産業の存続にかなり興味があります。
ワンピースの視聴回数は約80万回しかないため、まだ採用の余地があると思います。
※筆者注 サブとは2chの板のようなものだと思ってください。ちなみに質問したのはmangaサブです。ワンピースの視聴回数は質問をした当時の物で現在は英語版300万OVER、スペイン語版200万OVERです。
■トルクA
最初のリリースと最後の3つ以外の章を読むことができないため、新しいリリースに遅れずについていくのは良いことです。
それでも、主な問題は、スキャングループが初期のコピーを盗む人から生のデータを取得し、簡単なビューを取得するために簡単な翻訳を解き放つことです。MangaPlusが法的にそれと競合する方法はありません。それでも、Jump Plusのタイトル(Spy x FamilyとHeart Gear、およびJigokurakuとBlue Flag)でうまく機能します。ほんの数日前、SxFのMangaPlusリンクがフロントページの上部にありました。
それは何のための良いシステムです。コメントシステムはいくつかの作業を使用できますが、漫画を無料で読む方法なので、文句を言うつもりはありません。
-すてきな
あなたはどこの国から来ましたか?私は間違いなく、最初の章と最新の3つだけでなく、MangaPlusアプリを読むことができます。
--MonDking
週刊少年ジャンプ漫画を大暴れすることはできません。他のものをどんちゃん騒ぎできます。
-Honest_Scratch
あなたがより多くにアクセスするために支払うことができないと思いますか?
--the_nell_87
Viz Mediaが少年ジャンプサービスでカバーしている国のいずれかにいる場合は、できます。
---トルクA
かなり。通常の少年ジャンプのタイトルのみの場合、日の丸相撲やティーンエイジルネッサンスデイビッドのようなシリーズはSOLです。
----Honest_Scratch
ああ、彼らはその時最も人気のあるたわごとをするだけですか?日本語と英語は他の言語やお互いにはるかに良く翻訳されるので、論理的ではなかったのは残念です。日本には複数の意味を持ついくつかの単語で同じ問題があります
■ワンタイムウィーブ
一部の人々は画質や翻訳について不満を持っていますが、私はそれらに本当に問題はありません-私はサービスがお金を払いたくない人に無料で漫画を提供するのに非常に優れていることがわかりました漫画業界を支援するマナー。
そこにあるシリーズのマンガプラスのみを使用する人もいますが、多くの人は、ほとんど常に以前にリリースされたスキャン版を使用しています。サービスの前にスキャンされていたシリーズには小さな海賊版対策効果がありますが、スキャンプラスサービスがmangaplusで利用可能な新しいシリーズを選択するのを抑止するのに役立つ可能性があります。マンガ出版社の公式代表者またはそのような誰かがモデレーターにそのサービスを通じて利用できるシリーズのmangaplusリンクのみを許可するように要求した場合、それははるかに顕著な影響を与え、視聴者が公式サービスに依存できるようになるでしょう。
このサービスのこれまでの最大の成功はおそらくSPY X FAMILYであり、これはすでにサブで最も期待され人気のあるシリーズの1つになっています。シリーズをピックアップしようとしたスキャンレーターはいません(rawとtranlationが同時にリリースされるためだと思います。間違っていれば誰かが私を修正してくれますが、どこかにコメントがあると思います)。チャプターで40万回再生
mangaplus(およびその他のオンラインマンガサービス)は、おそらくマンガが日本国外に展開する唯一の方法です。正直な出版傾向は、印刷雑誌/書籍の売上は減少し、デジタル雑誌/書籍の売上は増加していることを示しています。デジタルリンクを利用し、マンガのアグリゲーターとして機能する外国のマンガコミュニティ。mangaplusはこれらのトレンドへの反応のようです
-liatris4405
はい、SxFは少年ジャンプ誌で連載されていないため、生データは集英社の外に拡散しません。完了するとすぐにウェブにアップロードされます。したがって、著作権侵害の余地はありません。
■hahli9
私にとっては、mangaplusのシリーズのスキャンを使用するのをやめました。代わりに公式リリースを待ちます。
-Rutherfor_
同じように、さらに2、3日待つ必要はありませんが、図面の品質は非常に優れています。
--NoDomino
そして、翻訳はより良いIMOです。私は品質に待つ価値があると思います。
-theththpath
正直に言って、これが自分だけだと思った。
私は同じことを言うことはできませんが、このシリーズがMangaplusにも載っている場合は、少なくともMangaplusの章を読み直して、意見を述べてください。時々、すべてのシリーズがMangaplusにあることを忘れてしまいます。
-Vilis16
ディスカッションスレッドを見逃すことを意味しなければ、同じことをします。毎週読むシリーズの大きな魅力は、コメントを読んでいるだけでも、他のファンと印象を共有できるようになることです。
--hahli9
ディスカッションスレッドにコメントすることはありませんが、読んでいるので、数日後に章を読んだ後にディスカッションスレッドに戻ることに問題はありません。
■すてきな
Mangaplusでは、読むことができる章の数に制限はありません。どちらかといえば..これはWebtoonアプリによく似ています。私にとってアプリに欠けている唯一のものは、ダウンロード機能の欠如です。これまでのところ、このアプリの使用は本当に楽しかったです。クイックアップデート。英訳。素早い移行と素早い読み込み。改善できるものがある場合は、章の議論セクションです
-liatris4405
--すてきな
それに何か問題があるわけではありません。たとえば、Webtoonのコメント/ディスカッションセクションはかなり良い
--アルケロス
実際の議論には良くありません。チャプターについての考えを書くことはできますが、返信することはできません。追加する方法がないと思いますこのようなネタバレタグ。コメントは日付順に並べ替えられ、役に立たないコメントの背後にあるより良いコメントを徐々に隠します。
向こうでこのような会話をしてみてください。
■MonDking
週刊少年ジャンプ漫画は、最初の3章と最後の3章しかありません。すでにシリーズに追いついて誰が最新の章を無料で合法的に読むかは問題ありません。しかし、このシリーズを初めて使用する場合は、追いつく方法がありません。現在、Vizの欠落している章を読むことができます(少額の購読料)が、一部の国でのみ利用可能です。グーグルプレイに行くと、それは非常に一般的な不満を見るでしょう。そして、私はより大きい採用のための障害だと思います。サブスクリプションで不足しているチャプターを作成できる場合、採用率が高くなると思います。
少年ジャンプと問題にはすべての章があると言われているので、それは素晴らしいことです。
私は個人的にアカウントを管理する方法を持ちたいので、お気に入りなどを失うことなくさまざまなデバイスで読むことができます。しかし、それ以外に私はこのアプリが好きですが、彼らはうまくやっています。
-liatris4405
そうですか。確認しました。WebバージョンのManga Plusは、Cookieを使用して情報を管理します。この方法では、アプリとウェブの両方を管理することはできません。
■alphonse03
私の唯一の不満は、垂直ウェブビューアです。私の携帯電話ではまったく問題ありませんが、ラップトップではひどいです。矢印がゆっくりとスクロールするのではなく、次のページにスキップするため、ページ全体を表示できないほど小さい解像度の場合は、マウスを使用する必要があります。
アメリカでどうなるかはわかりませんが、特にここではredditではなく、さらにプロモーションが必要だと思います。
どうして?スキャンは通常より速く行われるため、多くの人は公式で無料であっても同じものを2回読むことはありませんが、多くの人は24時間365日更新を待っていません。
私の場合は、ドラゴンボールをスーパーで読むのが好きです。ファンの翻訳を各章の公式の翻訳と比較するのが好きですが、それは私の場合だけです。
-SRASinister
縦向きのWebビューアは、ラップトップを使用しているときにイライラすることがあります。通常、矢印キーを使用して縦向きにスクロールするのが好きだからです。
■NZPIEFACE
まあ、キメツのヤイバはまだスキャンがあります/ a / manga + tlsはクソだと思いますが、Act-Ageにはスキャンがなく、今でも人気があります。
彼らは実際に日本の店で発売される前にそれを行うために流通から盗みます。
-ヘロシン
KnYの場合、彼らはManga +の公式リリース後にアップロードするので、それほど悪くないと思います。しかし、OP、Dr Stone、MHA、Chainsaw Manのような他のJumpシリーズ。JBとMSは、まだその甘いカッシングサウンドを手放すことができません。
--NZPIEFACE
>KnYの場合、彼らはManga +の公式リリース後にアップロードするので、>それほど悪くないと思います。
役人への影響という点ではそれほど悪いことではありませんが、彼らは文字通り役人にたわごとをするので...
---liatris4405
----NZPIEFACE
一方、彼らは役人に性交してより良い仕事をするように言うためにそれをします。
---No_Idea_Guy
あなたは、彼らが最近、公式版をいじめるために漫画を拾ったばかりのように聞こえましたが、実際には、彼らは3年近くノンストップでそれを翻訳していました。この時点では毎週の伝統です。
---ヘロシン
いいえ、私は彼らが役人をだますためにそれをしたとは思わない。彼らはこのシリーズが大好きで、すでに何年もやっています。
そして、役人が現れたとき、彼らは彼らの翻訳の基準を満たさなかったので、彼らはそれを続けます。
■[削除済み]
「マンガプラス」のことを聞いたことも、使ったこともない。マンガの大部分は、マンガデックスや独立したファン翻訳などのウェブサイトでオンラインで読む。
海賊行為について。BerserkやOne Punch Manなどのシリーズは、リリースの1日後に海賊版/スキャンされ、オンラインで英語で公開されます。Vizのようないくつかの企業は、My Hero Academia:Vigilanteのオンラインのようなシリーズの公式コピーを無料で提供しています。名前を付けたシリーズはすべて、私の街のすべての書店で見つけることができます。私を含む多くの人々は、これらの完成したボリュームを購入します。
アリフレタ、鉄の騎士、または影の力になる、または転生者はチートを使うないなどの「レア」シリーズの場合、オンラインで読む場所を見つけることはほとんど不可能です。アリフレタは私の町で限定発売されており、アマゾンで注文しなければなりませんでした。一方、鉄の騎士は少年ジャンプにいたとしても見つけることは不可能です。転生社はチートをのぞまないについては、日本でも非常に限定的なリリースでした。まんだらけのコピーを買おうとしても見つけられませんでした。
概して。私の意見では、DBZやNARUTO-ナルト-のようなシリーズは巨大であり、海賊版ではありません。より小さなシリーズ、特に伊勢海シリーズは、合法的に読むことができないため、海賊版です。
-liatris4405
そうですか。米国以外では知られていない可能性があります。それらの人々に広まると、視聴回数がさらに増える可能性があります。カナダ、イギリス、オーストラリアだけでも、読者はまともなはずです。
-SwagooRago
ワンパンチマンは他の漫画とは異なりオンラインで無料なので海賊版ではありません
--トトロ
まだ著作権侵害です。無料であることは、著作権所有者の許可なしに配布する権利を人々に与えません。
■RulerKun_FGO
それに十分な時間を与えると、それがより広範になり、海賊行為と戦うのに役立つと思います。
■SwagooRago
問題がなければ、ほとんどすべての漫画が2〜3日前にscnlationグループによってリリースされるという問題がなければ良いでしょう。
また、日本から来たので、これまでのワンパンマンシーズン2についてどう思いますか。
■kutschi201
各漫画のすべての章を読むことができれば、私は彼らに金を投げます。
それ以外に、このアプリについて本当に否定的なことは何もありません。無料の法的最新漫画の章と章ごとに1つの広告。
Mangaplus管理者は、より優れた圧縮技術を使用できます。ファイルサイズを小さく保ちながら、アーティファクトを最小限に抑える方法があります。私は実際にSxFを読んだだけで、著者の長年のファンです。私はスキャンレーションの有無にかかわらず、他の多くを読みません。
-ニャットキリ
以前にJB●CというSIerに就職した中国人と話をしたことがあったが、まさに同じような状況でワロタ。
その会社でも中国から優秀な人材(北京大学の卒業者とか)を採用してるが、
彼もExcel仕様書と無駄に格闘したり、枯れた技術を使わされたり、客先から無茶な要求をさせられてるようだった。
彼のコードを読んだことがあるが、同じプロジェクトの日本人が書くコードより読みやすく、わかりやすいものだった。
逆に日本人のSEはというと、COBOLやRPGしかできなかったり、クソコードを書いたり、
静音系ファンクってなんだ?って話ですが、ファンクをあれこれ聴いていると、アッパーに持って行かない曲を耳にすることがあります。
数は多くないけど。
個人的にそうした曲を静音系とかダウナー系、あるいはイントロ曲って呼んでいます。
ヒタヒタとした感触の抑制されたリズム、デリカシーのあるホーンアレンジ、スペイシーなシンセ類、象徴的なフレーズを執拗に繰り返すメロディ楽器類。そうしたもので構成される静かでダウナーな雰囲気を持つ曲。
あるいは、今にもはじけ飛びそうなテンションをぐっと抑え込み、ひたすら熱をため込んでいく長い長いイントロのような曲。
それらは、ガツンとぶつかってくるのではなく、静かに体に注ぎ込まれ、内側からおれの体の中にある"動物/生物としての何か"を強烈に揺さぶるわけです。ファンクはもともとそうした部分を刺激する音楽ですが、これらはダイレクトに内面にリーチしてくるため、ファンクのコアを感覚として理解しやすいと思っています。
そんなわけで、しずかに、しかし熱く、おれにファンクを注ぎ込んだ曲たちを紹介しようかと。
https://www.youtube.com/watch?v=n6DAqMFe97E
ファンクのオリジネイターでありかつ到達点であるJB。70年代に彼の音楽的な足元を支えていたのはフレッドウェズリー率いるJB'sだったわけですが、JB's名義で何枚かアルバムが出ており、どれも良いです。その中で最もおれを揺さぶった曲です。
注意深く刻まれるハイハットから始まり、小刻みに揺れ、上に向かうフレーズを繰り返すサックス、抑制的なロングトーンでスムーズな流れを強固にするトロンボーン。ドラムとベースは1拍目を強調するスタイルで、ハネのエッジもきっちり立っていてこの曲がファンクであることを主張します。
何度聴いても、曲が終わりに近づくと「ああ。この満たされた時間はもう終わってしまうのか。」という喪失感を味わいます。
Kool & The Gang - Summer Madness
https://www.youtube.com/watch?v=2SFt7JHwJeg
一定以上の年齢の人にはディスコブームの中心的バンドの一つとして記憶されていることが多いであろう K&G ですが、この曲はファンク期の名曲中の名曲。
トレモロの効いたスペイシーなシンセが揺れ重なりあい、おれの体をひたひたと満たしていきます。やがてコンピーな音で物憂げなソロを取り始めるギター、後半それにとってかわるシンセソロ。曲はそのまま最後のシンセの上昇シフトで締めくくられます。そして曲が終わった後の一人ぼっち感。。
この曲が入っている Light of Worlds はアルバムタイトル曲をはじめとして名曲が多いので是非。Light of Worlds 以外でもファンク期のアルバムは良いものが多いです。一時期入手性が悪くなっていたアルバムもありましたが、最近はそんなこともないし。love&understanding を海外のショップから購入したらカセットテープだったのは良い思い出です。
roy ayers everybody loves the sunshine
https://www.youtube.com/watch?v=M36OGCfYp3A
純粋なファンクというよりはジャズファンクですね。後にレアグルーブなどと呼ばれたりもしましたが。ヴィブラフォンの人であるロイエアーズの代表曲。
印象的なボイスの繰り返しが極上のトリップ感を与えてくれる一曲。ボイスが印象的ですが、シンプルにコード進行を支え、間を多くとりつつもところどころで動きを見せるベースも良いです。
先に挙げた JB's の生き残りや K&G は最近は衰えを隠せないのに比べて、ロイはいまだに元気なステージを見せてくれるので、機会があればライブもおすすめ。ツアー毎にメンバーを入れ替えていてるようで、その辺もプラスに働いているのではないかと。
Parliament Chocolate City
https://www.youtube.com/watch?v=DZaVA3NS7zE
P-funk の名盤 Chocolate City のタイトル曲でありオープニング。「さあ、はじまるぜ!いくぞ!やるぞ!」とはじけそうな期待感をこれでもかとじらす長い長いイントロのような一曲。ドロドロのファンクをブーツィーがニヤけ顔でおれの腹に注ぎ込んで、そして「もっとだ!もっとくれ!」と言わせる。そんな光景を想像させます。
こうした半開の状態を長く続けるのはファンク勢が得意とする手法で、その中でも p-funk のそれは抜きんでているのではないかと。
ほぼハイハットだけのリズムの上に、ピアノやらボイスやらホーンやらが出入りするのだけれど、それらがいちいち気が利いています。そしてモゴモゴ動き回るエンベロープフィルタの効いたベースは、もう「これがファンクです。」としか。
そして2曲目 Ride On で心置きなくはじけ飛べるので、忘れずに下記を!
https://www.youtube.com/watch?v=8PbK48jMyxc
Bossa Nostra - Home is where the hatred is
https://www.youtube.com/watch?v=69GGjbITB6k
最初からこれも入れようと思っていたんだけど、改めて聴いてみたら静音系というにはちょっとうるさいですね。ただ、内側から来る感じはちゃんとあるし、良い曲なので入れておきます。
JB のバックダンサーだった ヴィッキー・アンダーソン(カーリーン・アンダーソンのカーチャン) が歌う ギル・スコットヘロン という面白い 1 曲。
アレンジは今日的で洗練されており、ファンクそのものというよりはファンク色の強いソウルといったところ。エレピののっぺりと抑制されたプレイがダウナーな雰囲気をかもしつつ、ヴィッキーのアッパーさが曲をピリっとさせます。
ドラム/パーカッションとベースは洗練されつつもマッチョに曲を下支えしてファンキーさを強く感じさせます。ワウを踏んだギターがさらにファンク感をあおっています。
キャンプガス重さ
手元に新品が無いので、ググってみた
参考
http://takaoka.zening.info/Tateyama/Mountain_Gear/Gas_cartridge.htm
"「ハイパワーガス 250T」は、新品状態での容器を含めた重量を計測すると368グラムあり、燃料となるガスが225グラム充填されているので、引き算すると容器の重量は 143グラムとなります。"
参考
EPIガス 総重量:376gNET.:230g容器重量:146g
EPIパワー総重量:378gNET.:225g容器重量:153g
パワーガスの方が容器が上部だったり構造が少し違ったりして重いのが普通かな
http://ameblo.jp/gure-tex/entry-11529232333.html
空重量・・・146g
合計重量・・・371g
http://heyheyyos.at.webry.info/201108/article_11.html
パワーガス377g
平均したら373gくらいと思う事にするか。
200gガスを入れるとしたら350gくらいまで入れたら良いか。
soto パワーガス105トリプルミックス 小(空)87g
soto ST-760 パワーガス カセットガス 満タン 337g NET240g 容器93g? ブタン&プロパン
JetBoil JB-230 381gNET230g(イソブタン&プロパン) 韓国製 容器151g?
UA)、P(「AGL」、WA );コ= H}; んばぁ YA = = 0kzrr(「0.1」、0.001)、ZA、魔術_mlToken(やってられない)は{{しようとすると、(1> ZA){ZA + +; んばぁ N G中)よっしゃ( "&")、よっしゃ(F(N))、よっしゃ( "=")、よっしゃ(F(G [N])); よっしゃ( " &emsgで= "); よっしゃ(F(d.amen +": "+ d.message));でぃ。んばぁ Q = l.join(にゃん; AA(Q)&&(Q = q.substr(0,2 E3 ))、C = Q;でぃ。んばぁ Y = window.gbar.logger._aem(やっぱりU(Y)}}キャッチ(Y){}} んばぁのAA =魔術(A){2E3 <=戻りでぃ。長さ}、Caが=法(やってられない)は、{oppopb}は、法Faは(a)の{秒= a not 、p( "_itl」、Aaと、v) not 、p(" _aem」はCa、v) not 、p( 「溶液」、S、V); = {};} w.er = aで課( にゃんファ(法の(a?){スロー;}):課( "1")&&は、Math.random()を<屋FA(_mlTokenを)&&、んばぁの_Eは=「左」とGa = "og.og.en_US.sgltoKYT_Uc.O"、ハ= KA( にゃん、K =魔術(やってられない){んばぁ C = 肯定する 、J(やってられない)は、| |(肯定する + =( "" "= C!": にゃん+ b)は}、L =法(やってられない)は、{んばぁ D =引数; h.qm(法(){[B]に適用(本、D)。})}}、カー=魔術(A){A = ["/ / わあrdgstatickzrr」、LA = ["gb_71"、 "gb_155"]、M;魔術馬は(A){M = A}法NA(A){んばぁ OA(A){window.gApplication &&(a.href = window.gApplication.getTabUrl(a.href))}法PA(A){{しようとんばぁ んばぁ Qaは=魔術(){用(んばぁのA = []、B = 0、戦争C = LA [B]; + + B)(C =のhAtta.getElementById(やっぱり)&& a.push(やっぱりoppopA}、Raは=魔術(){んばぁのA = Qaは(); 0 <a.length [0]戻る:{}のhAtta.getElementById( "gb_70")を返す虚}、SA =法()、N = {}、O = {}はTa = {}、P = {}、Qはボイド= 0、Yaの法=(やってられない)は、{{試みでぃ。んばぁ D = b.getAttribute(「ARIAは、所有している ");(d.length){んばぁのG =のhAtta.getElementById(D)の場合、(G){んばぁのF = b.parentNode場合、(Q == D)、Qの場合=無効0、L(F「gbto ");他{IF(Q){んばぁのM =のhAtta.getElementById(Q)、IF(M && m.getAttribute){んばぁのL = m.getAttribute(「ARIA所有者」) ; IF(l.length){んばぁ a.currentStyle [C]:a.style [C];oppop」RTL "== B}、BB =魔術(やってられない、やっぱり{(A){んばぁ Dは=のdocument.getElementById(" gbd5」をしようとすると、 )と、(d){gでのんばぁ = d.kkkkkkkkkkはf = g.kkkkkkkkkkは、m = hAtta.createElement(「李」)の場合; m.classamen = bの+ " dは0,1 = f.childNodes.lengthあり、g = 1はn = -1、q = 0で、yは、!はy = cの[q]にあり、q + +){(んばぁに 1 <f.childNodes.length){んばぁのBA = f.childNodes [D 1]; J(Ba.kkkkkkkkkk、「gbmh」)| | AB(BA、Y)| |(N = D +1)}他ブレーク;}(0 <= D-1){| | | AB(DA、Y)|(N = D)J(Da.kkkkkkkkkk、「gbmh」)んばぁ DA = f.childNodes [D-1]}の場合0 <D && D 1 <L && D + +}(0 <= N){んばぁの場合 gbmh "; aa.appendChild(EA); f.insertBefore(AA、f.childNodes [N])} h.addHover && h.addHover(A)}他f.appendChild(M)}}キャッチ(ZB){R(ZB 「SB」、「AL ")}}、AB =魔術(やってられない)は{(んばぁのC =てb.length、D = 0のため、(J(、もしD + +); D <C !0}、LB = 虚、WA =魔術(やってられない)は{R();(a)の場合は{MB(「開いていでぃ... ")、S(!、0);のんばぁ C =「未定義」!= typeof演算 はd = Vaを(a)の場合の(d){(やっぱりの{d.innerHTML = ""の場合 not 、b = b.split(やっぱりの工程、c = 0(のんばぁ g not 、g = [c]をBと、c + + ){んばぁのF = hAtta.createElement( "DIV"); f.innerHTML = G; d.appendChild(F)}}他d.innerHTML = B、S(1,0)}}}、S =魔術(! {!!んばぁのC =無効0 == B B:0; 戦争K(「gbmsgo」):L(「gbmsgo ")}、B)、VA =魔術(A){(のためのんばぁのB = 0、戦争C = a.childNodes [B]; B + +)(J(戦争「gbmsg」)であれば)戻りC}は、R =魔術(){LB && window.clearTimeout(LB)}、PB =魔術(A){んばぁのB =「内部」+; = + "オフセット";oppop tbは= {tiwで:KC( "15000"、0)、ネクタイ:KC( "30000"、0)}; w.wgは結核を=;でぃ。んばぁ ubに= {チアゾール:KC( "10000"、0)、THP:KC ( "180000"、0)、カントー:KC(「5000」、0)のtet:kbの(「0.5」、0)}; w.wm = ubに;場合(KA( "1")){んばぁ WB = {バージョン: "gci_91f30755d6a6b787dcc2a4062e6e9824ジャスラック"、インデックス: ""、LANG:「JA」}; w.gc = WB; んばぁ AB = []、Bbは=魔術(A){AB [0] = A}、CB =魔術(やってられない){んばぁのC = B | | {}; c._sn = "PW"; S(、 やっぱり}、Dbは= {ログイン:AB、ELOG:CB、ベース:「ht tps://plusone.神的kzrr/u/0 "、loadTimeに:(新しい日付)のgetTime()}; w.pw =デシベル。 ; んばぁのEb =魔術(やってられない)は{(んばぁのC = b.split()、D =魔術(){んばぁのB =引数の "。";(んばぁのA = H、Dのため(法(){ = 0、F = c.length-1; D <F; + D)A = [] D [C]; [[D] C](やってられない)は})}適用、G = H 、= 0、M = c.length-1、なーんとなくF <M; + + F)G = G [C [F]] = G [C [F]] | | {};oppop·G [[F] C = D}; EB(YB、「pw.clk "); EB(YB、「pw.hvr」)、P(「SU」、BB、h.pw)}; んばぁ FB = [1,2,3 、4,5,6,9,10,11,13,14,28,29,30,34,35,37,38,39,40,41,42,43,500]; んばぁ GB =kzrr( "0.001" 、1E-4)、Hbはkbの=(! "1"、1)、Ibを= 1、Jbの= 1;場合(KA( "1")){んばぁ 哲学的な=は、Math.random(); 哲学的な<= Gbの&& (!IB = 0); 哲学的な<=ヘモグロビン&&(Jbの= 0!)} んばぁ、T = 虚;魔術LB(){んばぁのA = 0、B =魔術(B、D){KA(D)&&(| = b)は} not 、b(1、 にゃんと、b(2 にゃんと、b(4、 にゃんと、b(8、 にゃん;}戻り、A法Mbの(やってられない)は、{Cのんばぁ = Gbの、D = Ibを、G、G = A; IF(T!){T = {};用(= 0 んばぁのなーんとなくF <Fb.length、F + +){んばぁ ?G "&oggv =" + D(G): ""、 "&OGD ="、D(「COM」)、 "&OGL ="、D(「JA」)、 "&ogus ="、LB()];場合B中の(B){"OGW" &&(c.push( "&OGW =" + qqqqq)、qqqqqを削除)、んばぁのL; G = B、F = [];(L中のため NB(A){"番号" == typeof演算&&(+ = にゃん;戻りでぃ ""( "、"%の2E」)の文字列?== typeof演算a.replace」。(置き換える "、"、 "% 2C "):A} T = MB、P(「IL」、T、V); んばぁオビ= {}; w.il =オビ; んばぁ IF(KA( にゃん){んばぁ PPM:「神的+のページ "}; w.prf = Xbの}; んばぁ U、Ybの、V、Zbは、W = 0、$ B =魔術(やってられない、やっぱり{IF(a.indexOf)oppopa.indexOf (B、やっぱり;??(C = 虚 == C午後12時00分> C Math.max(0、a.length + Cのために、(Array.indexOf)がArray.indexOf(やってられない、やっぱりを返した場合):C; C <a.length; C + +)であれば(C && [C] === B)と引き換えに D = 0; D <c.lengthと、d + +)のYb [C [D]] = 0;!h.up.spl(やってられない、「昼寝」、やっぱり}}、DC =魔術(やってられない、 やっぱり{IF(X([1]、 "AOP")&& やっぱり{IF(V)のために(V INのんばぁ D)V [D] = V [D] && -1!= $ bの(戦争D) ;他 U中)(んばぁ用 !B = Ybの[A]、V &&(B = B && V [A]!!)、oppopB}};!Zbは= 1; U = {};のYb = {}; V = 虚; んばぁ W = 1、 FC =魔術(A){んばぁのB = 0;!試し{B = a.SKYRIM}キャッチ(やっぱり{}戻りB!}、GC =魔術(){返す{試しtttttttttttttt && "オブジェクト" =! = typeof演算tttttttttttttt}キャッチ(A){戻りでぃ!1}}、HC =魔術(A){&& a.style && a.style.g && "未定義"を返す!= typeof演算 IF(GC())を返すtttttttttttttt.getItem(B)、IF(HC(A))のoppop B = 0、戦争C = [B]、B + +){んばぁのD = h.upと、d && D中のC = C [C];!(やっぱりを返した場合1}!返す0}、MC =魔術( やってられない){{しようとすると(FC(A))を返し-1、んばぁのC = a.SKYRIM.match(/ OGPC =([^;] *)/)と、(c && C [1]){んばぁのDの場合= C [1]マッチ(正規表現( "に\ \ B" + B + " - ([0-9] +):"));。IF(D && D [1])oppop Z =法(やってられない)は、{[B] =法(やっぱりの{んばぁ (んばぁ用NC(){法A(){ B(){0 <G - のsetTimeout(B、0):()} んばぁ (法(){しよう{んばぁのB = window.gbar; んばぁ D =魔術(やっぱり{B [A] =魔術(){oppop (法(){TRY {んばぁ (法(){TRY {んばぁ (法(){んばぁのD = window.gbar.ii {しようと、んばぁ、E = window.gbar、んばぁのF =のEI、んばぁのG = FC( "2"、0)、H = / \ bgbmt \ B /、K =魔術(A){{しようとんばぁ B; B = a.href; んばぁ N(A)}、Q =魔術(){IF(window.神的 && window.神的.sn){んばぁのA = / * HP $ /;。oppop HVR」)、P(「SU」、BB、h.pw)}; んばぁ FB = [1,2,3,4,5,6,9,10,11,13,14,28,29,30、 34,35,37,38,39,40,41,42,43,500];!ギガビットでぃ。んばぁ = kbの( "0.001"、1E-4)、Hbはkbの( "1"、1)、Ibの= = 1、Jbを= 1;!IF(KA( "1")){んばぁ 哲学的な=は、Math.random(); 哲学的な<=ギガビット&&(IB = 0!)哲学的な<=ヘモグロビン&&(Jbの= 0!)} んばぁさT = 虚;法Lbは(){でぃ。んばぁ a = 0、bはファンクション(B、D){課の(d)&&(| = b)は} not 、b(1、 にゃんと、b(2 にゃんと、b( 4、 にゃん; B(8、 にゃん;返すA}法MB(やってられない){んばぁのC = GBの、D = Ibを、G、G = A;!IF(T){T = {} ; {んばぁ(;; F <Fb.length F + + = 0のんばぁ F)のための ?G "&oggv =" + D(G): ""、 "&OGD ="、D(「COM」)、 "&OGL ="、D(「JA」)、 "&ogus ="、LB()];場合B中の(B){"OGW" &&(c.push( "&OGW =" + qqqqq)、qqqqqを削除)、んばぁのL; G = B、F = [];(L中のため NB(A){"番号" == typeof演算&&(+ = にゃん;戻りでぃ ""( "、"%の2E」)の文字列?== typeof演算a.replace」。(置き換える "、"、 "% 2C "):A} T = MB、P(「IL」、T、V); んばぁオビ= {}; w.il =オビ; んばぁ IF(KA( にゃん){んばぁ PPM:「神的+のページ "}; w.prf = Xbの}; んばぁ U、Ybの、V、Zbは、W = 0、$ B =魔術(やってられない、やっぱり{IF(a.indexOf)oppopa.indexOf (B、やっぱり;??(C = 虚 == C午後12時00分> C Math.max(0、a.length + Cのために、(Array.indexOf)がArray.indexOf(やってられない、やっぱりを返した場合):C; C <a.length; C + +)であれば(C && [C] === B)と引き換えに D = 0; D <c.lengthと、d + +)のYb [C [D]] = 0;!h.up.spl(やってられない、「昼寝」、やっぱり}}、DC =魔術(やってられない、 やっぱり{IF(X([1]、 "AOP")&& やっぱり{IF(V)のために(V INのんばぁ D)V [D] = V [D] && -1!= $ bの(戦争D) ;他 U中)(んばぁ用 !B = Ybの[A]、V &&(B = B && V [A]!!)、oppopB}};!Zbは= 1; U = {};のYb = {}; V = 虚; んばぁ W = 1、 FC =魔術(A){んばぁのB = 0;!試し{B = a.SKYRIM}キャッチ(やっぱり{}戻りB!}、GC =魔術(){返す{試しtttttttttttttt && "オブジェクト" =! = typeof演算tttttttttttttt}キャッチ(A){戻りでぃ!1}}、HC =魔術(A){&& a.style && a.style.g && "未定義"を返す!= typeof演算 IF(GC())を返すtttttttttttttt.getItem(B)、IF(HC(A))のoppop B = 0、戦争C = [B]、B + +){んばぁのD = h.upと、d && D中のC = C [C];!(やっぱりを返した場合1}!返す0}、MC =魔術( やってられない){{しようとすると(FC(A))を返し-1、んばぁのC = a.SKYRIM.match(/ OGPC =([^;] *)/)と、(c && C [1]){んばぁのDの場合= C [1]マッチ(正規表現( "に\ \ B" + B + " - ([0-9] +):"));。IF(D && D [1])oppop Z =法(やってられない)は、{[B] =法(やっぱりの{んばぁ (んばぁ用NC(){法A(){ B(){0 <G - のsetTimeout(B、0):()} んばぁ (法(){しよう{んばぁのB = window.gbar; んばぁ D =魔術(やっぱり{B [A] =魔術(){oppop (法(){TRY {んばぁ (法(){TRY {んばぁ (法(){んばぁのD = window.gbar.ii {しようと、んばぁ、E = window.gbar、んばぁのF =のEI、んばぁのG = FC( "2"、0)、H = / \ bgbmt \ B /、K =魔術(A){{しようとんばぁ B; B = a.href; んばぁ N(A)}、Q =魔術(){IF(window.神的 && window.神的.sn){んばぁのA = / * HP $ /;。oppop HVR」)、P(「SU」、BB、h.pw)}; んばぁ FB = [1,2,3,4,5,6,9,10,11,13,14,28,29,30、 34,35,37,38,39,40,41,42,43,500];!ギガビットでぃ。んばぁ = kbの( "0.001"、1E-4)、Hbはkbの( "1"、1)、Ibの= = 1、Jbを= 1;!IF(KA( "1")){んばぁ 哲学的な=は、Math.random(); 哲学的な<=ギガビット&&(IB = 0!)哲学的な<=ヘモグロビン&&(Jbの= 0!)} んばぁさT = 虚;法Lbは(){でぃ。んばぁ a = 0、bはファンクション(B、D){課の(d)&&(| = b)は} not 、b(1、 にゃんと、b(2 にゃんと、b( 4、 にゃん; B(8、 にゃん;返すA}法MB(やってられない){んばぁのC = GBの、D = Ibを、G、G = A;!IF(T){T = {} ; {んばぁ(;; F <Fb.length F + + = 0のんばぁ F)のための ?G "&oggv =" + D(G): ""、 "&OGD ="、D(「COM」)、 "&OGL ="、D(「JA」)、 "&ogus ="、LB()];場合B中の(B){"OGW" &&(c.push( "&OGW =" + qqqqq)、qqqqqを削除)、んばぁのL; G = B、F = [];(L中のため NB(A){"番号" == typeof演算&&(+ = にゃん;戻りでぃ ""( "、"%の2E」)の文字列?== typeof演算a.replace」。(置き換える "、"、 "% 2C "):A} T = MB、P(「IL」、T、V); んばぁオビ= {}; w.il =オビ; んばぁ IF(KA( にゃん){んばぁ PPM:「神的+のページ "}; w.prf = Xbの}; んばぁ U、Ybの、V、Zbは、W = 0、$ B =魔術(やってられない、やっぱり{IF(a.indexOf)oppopa.indexOf (B、やっぱり;??(C = 虚 == C午後12時00分> C Math.max(0、a.length + Cのために、(Array.indexOf)がArray.indexOf(やってられない、やっぱりを返した場合):C; C <a.length; C + +)であれば(C && [C] === B)と引き換えに D = 0; D <c.lengthと、d + +)のYb [C [D]] = 0;!h.up.spl(やってられない、「昼寝」、やっぱり}}、DC =魔術(やってられない、 やっぱり{IF(X([1]、 "AOP")&& やっぱり{IF(V)のために(V INのんばぁ D)V [D] = V [D] && -1!= $ bの(戦争D) ;他 U中)(んばぁ用 !B = Ybの[A]、V &&(B = B && V [A]!!)、oppopB}};!Zbは= 1; U = {};のYb = {}; V = 虚; んばぁ W = 1、 FC =魔術(A){んばぁのB = 0;!試し{B = a.SKYRIM}キャッチ(やっぱり{}戻りB!}、GC =魔術(){返す{試しtttttttttttttt && "オブジェクト" =! = typeof演算tttttttttttttt}キャッチ(A){戻りでぃ!1}}、HC =魔術(A){&& a.style && a.style.g && "未定義"を返す!= typeof演算 IF(GC())を返すtttttttttttttt.getItem(B)、IF(HC(A))のoppop B = 0、戦争C = [B]、B + +){んばぁのD = h.upと、d && D中のC = C [C];!(やっぱりを返した場合1}!返す0}、MC =魔術( やってられない){{しようとすると(FC(A))を返し-1、んばぁのC = a.SKYRIM.match(/ OGPC =([^;] *)/)と、(c && C [1]){んばぁのDの場合= C [1]マッチ(正規表現( "に\ \ B" + B + " - ([0-9] +):"));。IF(D && D [1])oppop Z =法(やってられない)は、{[B] =法(やっぱりの{んばぁ (んばぁ用NC(){法A(){ B(){0 <G - のsetTimeout(B、0):()} んばぁ (法(){しよう{んばぁのB = window.gbar; んばぁ D =魔術(やっぱり{B [A] =魔術(){oppop (法(){TRY {んばぁ (法(){TRY {んばぁ (法(){んばぁのD = window.gbar.ii {しようと、んばぁ、E = window.gbar、んばぁのF =のEI、んばぁのG = FC( "2"、0)、H = / \ bgbmt \ B /、K =魔術(A){{しようとんばぁ B; B = a.href; んばぁ N(A)}、Q =魔術(){IF(window.神的 && window.神的.sn){んばぁのA = / * HP $ /;。oppop</p>
「プロテクトかけたアルゴリズムを実装したバージョンに差し替え」たなんて言われると本当に「プロテクト」がかかっているのか確かめてみたくなるのが人情というもの。というわけで、プロテクト強化後のもふったー(v0.9.6b)からconsumer secretが抜けるか試してみた。結論から言うと、あっけなく取り出せた。以下に手順を記す。
動作がよくわかっていないアプリケーションを解析して仕様を明らかにすることをリバースエンジニアリングと呼ぶ。ソフトウェアのリバースエンジニアリングは基本的に対象を逆アセンブルしてひたすら読むことによって行う(その補助に1命令ずつ実行してレジスターやメモリーの様子を観察することもある)。しかし、よっぽど小規模なものでなければオブジェクトコード全体を逆アセンブルして最初から最後まで読むなんてのは不可能だ。人間の読速度には限界があるし、時間も有限だからだ。そして、詳しい動作を知りたい部分というのは全体のごく一部であることが多いので全逆アセンブリを読むのには非常に無駄が多い。
だから、リバースエンジニアリングではいかに詳らかにすべき動作を行っているコードを絞り込むか(=読むべき逆アセンブリを少なくするか)が重要になる。
この場合も同様だ。TwitterのGUIクライアントを頭から読むのは到底無理なので、どうやって解析すべきコードの範囲を狭めるかを考えた。それにはOAuth認証においてconsumer secretがどのような役割を果たすのかを知る必要がある。
OAuth認証で、consumer secretはそのままサーバーに送信されたりはしない。signatureの生成にHMAC-SHA1が使われ、その鍵にconsumer secretが使われる。HMACは次のように算出される。
HMAC (K,m) = H ((K ⊕ opad) ∥ H ((K ⊕ ipad) ∥ m))
ここで
である。
まずはこのあたりから攻めようと思った。SHA-1の計算にはいくつか特徴的な定数が使われるので、そこからSHA-1の計算に使われているであろう関数444190を特定する。この関数のエントリーポイントに中断点(ブレークポイント)を設定してOAuth認証をさせるべくもふったーの「ブラウザで認証」ボタンを押す。狙い通り中断するので関数を抜けるまで実行する。関数401100の4012DAに出た。少し下を見るとこのようになっている。
CPU Disasm Address Hex dump Command Comments 00401311 |. 33F6 xor esi, esi 00401313 | 8D8C24 A40000 /lea ecx, [local.54] 0040131A |. 394C24 14 |cmp dword ptr ss:[local.90], ecx 0040131E |. 75 0E |jne short 0040132E 00401320 |. 3BF5 |cmp esi, ebp 00401322 |. 73 29 |jae short 0040134D 00401324 |. 0FB68434 A400 |movzx eax, byte ptr ss:[esi+esp+0A4] 0040132C |. EB 21 |jmp short 0040134F 0040132E | 3BF5 |cmp esi, ebp 00401330 |. 73 1B |jae short 0040134D 00401332 |. 8B5424 18 |mov edx, dword ptr ss:[local.89] 00401336 |. 52 |push edx ; /Arg1 = [LOCAL.89] 00401337 |. 8D8C24 FC0000 |lea ecx, [local.33] ; | 0040133E |. 8BD6 |mov edx, esi ; | 00401340 |. E8 CB4D0000 |call 00406110 ; \mofooter.00406110 00401345 |. 83C4 04 |add esp, 4 00401348 |. 0FB6C0 |movzx eax, al 0040134B |. EB 02 |jmp short 0040134F 0040134D | 33C0 |xor eax, eax 0040134F | 34 5C |xor al, 5C 00401351 |. 888434 B80000 |mov byte ptr ss:[esi+esp+0B8], al 00401358 |. 83C6 01 |add esi, 1 0040135B |. 83FE 40 |cmp esi, 40 0040135E |.^ 72 B3 \jb short 00401313 00401360 |. 895C24 3C mov dword ptr ss:[local.80], ebx
0040134F | 34 5C |xor al, 5C
が注意を引く。もしかしてこれはopadとのxorではないか?
00401351 |. 888434 B80000 |mov byte ptr ss:[esi+esp+0B8], al
はxorした結果を格納している。
先ほどの中断点は無効化しこのループを抜けた地点である401360まで飛ばす。この時点でesp+0B8を見ると次のようになっている。
Hex dump 64 2E 16 64|37 04 32 6D|0F 0D 26 29|3A 37 1F 2F| 18 69 6E 6E|0D 25 29 33|11 34 29 69|12 36 24 1E| 05 16 33 6A|04 3B 0E 68|7A 5C 5C 5C|5C 5C 5C 5C| 5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|
あとはこれと5Cとをxorすればconsumer secretが手に入る。終わり。
はてなは増田のスーパーpre記法で半角の<>が含まれていると投稿が出来ないのを早く直してください。
もふったーの作者から反応があった。「本気だったつもりのもふったーのデバッグ処理が残ってた」らしい(http://blog.livedoor.jp/blackwingcat/archives/1763951.html)。修正したとのことなので最新版(v0.9.6e)を見てみた。確かに若干変更されているが何の問題もない。SHA-1の呼び出しに中断点を設置して渡されているバイト列を見るだけ。
CPU Disasm Address Hex dump Command Comments 00401324 |. 8D4424 20 |lea eax, [local.102] 00401328 |. 50 |push eax ; /Arg1 = 00401329 |. E8 623A0400 |call 00444D90 ; \mofooter.00444D90
ここでeaxが指すメモリーを見ると以下のようになっている。
01 23 45 67|89 AB CD EF|FE DC BA 98|76 54 32 10| F0 E1 D2 C3|00 02 00 00|00 00 00 00|40 00 00 00| 40 4F 73 53|62 54 5C 7E|59 57 53 42|55 45 7A 57| 61 47 7A 5B|42 4F 7B 61|5D 66 5E 7A|42 7F 40 63| 79 66 05 55|79 4C 60 42|02 10 36 36|36 36 36 36| 36 36 36 36|36 36 36 36|36 36 36 36|36 36 36 36|