作成者別アーカイブ: uraku

既存のPHP 4系WebアプリをCodeIgniter 3.xに乗せ換えた話

PHP 4.xで書かれた歴史有るWebアプリをフルスクラッチせずにPHP 5.6&CodeIgniter 3.xで動くように乗せ換えた話です。具体的なコードというよりも、こうやって進めた、という話になります。

この記事はCodeIgniter Advent Calendar 2016の11日目の記事になります。

現状

  • フレームワーク利用無し。
  • DBとしてPostgreSQL 8.2以前が組み合わされている。
  • ORマッパーとかも無い。
  • register_globals = On で動く前提で作られている。
  • かなりの数がある画面のほとんどのページが数個程度のPHPファイルに纏められている。GETやPOSTの値に機能やページの指定も含まれていて、if文でページを切り替えている。
  • 画面表示はCodeigniterでいうHTMLヘルパーのような、フォームやテーブルを楽に作るためのクラスが用意されていて、その関数を呼んでいる。
  • テストコードなんて無い。
  • ソースコードの文字コードもDBの文字コードもEUC-JP。

なかなか辛そうな感じですが、下手にフレームワークを使われているより、フルスクラッチ的なPHPの方がCodeigniterへの移植相性は良い(と思った)ので移行は出来るだろうと判断しました。

全コードをUTF-8に書き換え

今後の事を考えて文字コードはUTF-8に統一します。EUC-JPのコードをnkfでサクッと書き換えます。htmlspecialcharsしている所を検索し、見つけた1つ1つをUTF-8に対応した形で書き換えます。

PostgreSQL 9.x系への入れ替え

既存のDBの内容はすべてダンプで出力します。ダンプの中身をテキストエディタで開き、文字コードに関連している記述をすべてUTF-8準拠に書き換えます。そしてnkfで実際にUTF-8へと書き換え、PostgreSQL 9.4へ流し込みます。ここは意外と問題になりませんでした。

ここで処理上の問題になるのはキャストの仕様変更になります。

キャストを追加してバージョン互換性を保つには
http://lets.postgresql.jp/documents/tutorial/cast/

PostgreSQL 8.3 では型変換のチェックが厳密になるよう仕様変更されました。特に文字列型への暗黙の型変換が無くなったため、以前のバージョンで動作していたアプリケーションであっても 8.3 上ではエラーが発生するかもしれません。

これがもろに該当しSQL実行時にエラーになるのですが、今はまだ修正しません。

PHP 5.6への入れ替え

先のOS入れ替えの時点でremiレポジトリからPHP 5.6を導入しています、ので、アプリが正常に動かない状態ではありますが、PHP 5.6で動作する環境となっています。

試しに動かしてみる

全然動きません。ここからひたすら修正していく作業になります。

静的解析と実際に動かして出るエラーをひたすら潰していく

Eclipse+PDTで作業しています。世間的にはPhpStormな潮流となっていますが、こういう元々動かないようなコードをPhpStormに放り込むとエラー数がすごい事になるので、PDTが静的解析する分が丁度よかったりします(PhpStormでも解析する範囲は調整できるのですが)。これは体感的な物なので実際はどちらでもいいでしょう。ただ、静的解析の無いテキストエディタでのコーディングはお勧めできません。

ここでIDEによる静的解析でエラーになっている物、ワーニングになっている物をひたすら修正していきます。例えば、元のコードでは連想配列を使用する際にほとんどの添え字がシングルクォーテーションで囲まれていなかったりしました。連想配列は相当な数が使用されているので、これが一番作業としてつらかったですね……。

register_globalsに関してはオンにしてはいけない、というかPHP5.6ではそもそも使用不可なので、各ファイルの先頭に全てのGETとPOSTを変数に展開するコードを一時しのぎで書いています。

foreach ($_POST as $post_name => $post_value) {
    if (isset($$post_name)) {
        continue;
    }
    $$post_name = $post_value;
}
foreach ($_GET as $get_name => $get_value) {
    if (isset($$get_name)) {
        continue;
    }
    $$get_name = $get_value;
}

PostgreSQLのキャストで問題になるエラーも、実際に動かしてみながらエラーが出る個所を潰していきます。一か所エラーが見つかれば、そのカラムを扱うところすべてが怪しいので、コード全体をカラム名で検索し該当箇所をまとめて修正します。

とりあえずPHP 5.6とPostgreSQL 9.4で動くようになった

実はまだバグが残っていたりしますが、機能として重要な部分は正常に動作する状態ですので、他は見つけ次第随時潰していく、という対応を取りました。何かしらフレームワークが使われていたらフレームワークまで含んだコード量やフレームワークのメンテナンス状態、それを入れ替えるための仕様変更部分もろもろの理由で諦めていたかもしれませんが、フルスクラッチなのでひたすらバグを潰していくだけで移行が出来ました。

CodeIgniterへの入れ替え

やっとCodeIgniterの話になります。既にPHP 5.6で動く状態ですので処理の移植は結構楽です。ちなみにここからIDEをPhpStormに切り替えています。

コントローラの作成

既存のアプリはGETとPOSTの値だけで複数のページを実装していましたが、素直に

/分類A/insert
/分類A/edit/xxx
/分類A/detail/xxx
/分類B etc…

というような形で動くコントローラに作り替えました。分類部分がコントローラのクラス、insertやedit、detailの部分がコントローラ内のメソッドになります。既存のWebアプリとはここでURLの互換性が一旦なくなります。コントローラでルーティングした後は、すぐにモデルに渡してしまう形にします。

モデルの作成

GETとPOSTで振り分けていた処理ブロックの中身をモデル、モデル内のメソッドに分割していきます。つまり元の処理をひたすらコピペをしていくような作業になります。また、register_globalsや先のregister_globals一時しのぎ処理で作られた変数については、$this->input->get() や $this->input->post() から取得するようにします。

SQL実行部分に関しては、組み立てたSQLをPHPのPostgreSQL関数ではなく、CodeIgniterのSQL実行関数 $this->db->query() に渡すようにします。SQLのエスケープ処理もCodeIgniterの標準エスケープ関数 $this->db->escape() に切り替えました。実行結果は元の実装が連想配列前提でしたので、 $query->result_array() で取り出します。DBアクセスに独自の仕組みではなくSQL文スクラッチのような形でも特に問題にならないのは、CodeIgniterへの移植のしやすさとして大きい部分だと感じます。

共通処理的なコードは適宜、メソッドでまとめるなり、(CodeIgniterでいう)ライブラリを追加するなりしました。

ビューの作成

今回はTwigを使用しました。CodeIgniterで使える形のTwigは @kenji_s 様の「CodeIgniter Simple and Secure Twig」が利用できます。
http://blog.a-way-out.net/blog/2015/05/25/codeigniter-twig/

元々の実装に有ったHTMLヘルパー的クラスは用意せず、シンプルにTwigを使ったテンプレートを作成していきました。

デザイン的にはUIフレームワークとして Bootstrap 3.x を利用するようにしました。そのため各UI部品、Webアプリ全体のデザインについてはあまり時間をかけずに現代的な物になりました。元々のWebアプリではフレームでメニューを表示していましたが、ヘッダーにメニューバー(navbar)を設ける形に作り替えました。

URL互換性レイヤー

なんてたいそうな名前を付けていますが、元のWebアプリとのURL互換性を取るためのレイヤーをCodeIgniterのコントローラとして作成します。

例としてURLが
/?function=機能A&page=detail&code=xxx
のようなものが来たら、GETとPOSTの値で判断し、
/機能A/detail/xxx
のURLにリダイレクトさせます。

public function functionA() {
    $get_arr = $this->input->get();
    // 機能A
    if (!empty($get_arr['functionA']) && !empty($get_arr['detail']) && !empty($get_arr['code'])) {
        redirect($url_base . '/FunctionA/detail/' . $get_arr['code'] . '/');
    }
}

この互換性コントローラの呼び出しは
application/config/routes.php
のルーティング設定に定義します。URLには都合よく旧アプリにしか含まれない文字列が有りましたので、

$route['文字列A:any'] = 'compatiblelayer/functionA';
$route['文字列B:any'] = 'compatiblelayer/functionB';

のように振り分けます。

基本的には新しいURLを使ってほしいですが、既存の資料なりブックマークなりで古いURLを持っていたしても、これを用意しておく事でURL互換性が保たれます。

所感

文量にも表れていますが、既存のコードをPHP 5.6で動かした場合にバグとなる部分を修正する作業が一番重いです。ただ、それを乗り越えると既存のフルスクラッチコードは簡単にCodeIgniterのコントローラ、モデル、ビューに分割していく事が可能でした。またDBアクセス部分に関しても、旧来のSQL組み立てロジック、PHPが標準で備える関数での実行、結果を連想配列として扱う処理がそのままに近い形で移行できます。どちらもCodeIgniterが独自の作法を極力持たない、フルスクラッチに近い感覚で書けるという良さが移植においても現れた物かと思います。太古のPHPアプリが有れば、その近代化の選択肢としてCodeIgniter 3.x 、いかがでしょうか?


シンデレラガールズ 4th LIVE ~Tri Castle Story~ 感想

はじめに

以上です。宜しくお願いします。

アイドルマスター シンデレラガールズ 4th LIVE ~Tri Castle Story~
2016年9月3日~4日公演の Starlight Castle、
2016年10月15日公演の Brand new Castle、
2016年10月16日公演の 346 Castle
に参加された皆様、キャストやスタッフ、関係各社の皆様含めお疲れ様でした。

Starlight Castle について

スターライトという事で、昨年始まった新タイトル「アイドルマスターシンデレラガールズ スターライトステージ」(デレステ)に関連する事が考えられていたライブです。

ちひろさんの盛り上がるナレーションと共に暗闇の中から大きな城が現れていく、開幕から凄いというよりもエグみを感じるほどの演出の凄さを感じる始まりでした。どんだけ予算有るんだよとw(褒めています)。これも短い期間で決して成し得られるものではなかったんだろうなと感じます。

セットリストの内容としては、「S(mile)ING!」、「Naked Romance」、「おねだり Shall We~?」、「Twilight Sky」、「小さな恋の密室事件」等の定番どころから、「Snow Wings」、「生存本能ヴァルキュリア」、「ハイファイ☆デイズ」等のデレステで新しく増えた新曲などが披露されました。デレステで楽しめる曲を強くフューチャーしたステージという事で、全く新しいコンテンツでありながら安心感のある選曲となっていました。

その中でも強いインパクトを残したものは藤本里奈役 金子真由美さん、松永涼役 千菅春香さん、向井拓海役 原優子さん、大和亜季役 村中知さん、そしてシークレットで登場の木村夏樹役 安野希世乃さんによる「純情Midnight伝説」。熱い新曲はこれが新規メンバー陣によるパフォーマンスだという事を感じさせない熱量を持っていて、炎陣というユニットのポテンシャルを見せつけてくれました。個人曲が無いとは言われているけど、この熱いデビューシングルを持っているユニットの強くない訳ないだろという。デレステのモデルを使い全メンバーが揃うという粋な演出からの安野さん本人の登場は盛り上がらない方がおかしい演出。「Rockin’ Emotion」もユニットでカバーしたぜ!って感じでした。

そしてそれに負けずとも劣らない「Love∞Destiny」、多田李衣菜役 青木瑠璃子さん、小日向美穂役津田美波さん、佐久間まゆ役 牧野由依さんのそれぞれのLoveの表現をストイックに歌い上げる一曲。個性とそれが纏まった赤く重いイメージを纏った空気感が素晴らしい。津田さん、牧野さん、青木さんがぞれぞれ違った魅せ方を持っていて、組み合わせでどんどん変わる曲なんだろうなと。今回が勿論良かっただけでなく、今後も色んな雰囲気の曲になるんだろうなと予感させる。振り付けもパート分けも好き。

そして津田美波さんによる「空と風と恋のワルツ」。CD版から好きだった「空と風と恋のワルツ」がステージ上でも圧倒的世界観を持っていて、ただただ歌ってくれてありがとうという気持ちです。音もCDよりも響く、ステージ上だからこその重厚感と伸びが有って素敵です。

「Snow Wings」、他のデレステ新曲の濃さに比べると影が薄い所も有るけど、聴けば聞くほど良い曲です。

疾走感が有ってとてもカッコいい「咲いてJewel」。実際のステージ上でも同様の良さを持っている事が感じられて良かった。

トークパートでは高森奈津美さんと大坪由佳さんの回すが、自分のラジオかって感じの安定感と面白さが有り、こういった部分でも実力の高さを感じると共に、ただただ楽しく聴けます。

星輝子役 松田颯水さんによる「毒茸伝説」、披露される度に毎回すごい物を見せられるのが凄い。ステージ曲としてかなり好きなのでこれも聴けて大満足。

部分部分としては千菅春香さんは声の強さが良かったし、今井麻夏さんは動きのキレが有ったし、長島光那さんは眼鏡が良かった。長島さんのナチュラルな眼鏡感はとてもすごいと思います。

そして初披露になる「Yes! Party time!!」、さらなる新タイトル「ビューイングレボリューション」からの新曲。イントロからのレトロフューチャーなサウンド、バックで流れている映像もレトロSFネオン感丸出しで良い感じです。シンデレラにもそろそろこういう曲が欲しいなーと思っていた所にちょうど来た感じで、良いタイミングで持ってきたなーと。

この2日間で忘れられないのは佐久間まゆ、そして牧野由依さんの凄さを感じる「エヴリデイドリーム」。過剰なほどにアイドル感を出したというその曲は、牧野さんのみならず佐久間まゆの凄さも感じさせるもので、そりゃあまゆPも増えていくわという物でした。

この2日間はLVでの参加でしたが、カメラ映像はアップでも遠景でもない間くらいの画角がもうちょっとほしかったなーと感じます。

「 GOIN’!!!」をやったのは意外でした。もしかしたらこの曲は軽度の「自分REST@RT」みたいなことになっていくのだろうか。

Brand new Castle について

さいたまスーパーアリーナで開催された「Brand new Castle」「346 Castle」は、○ndライブとしては初の現地参加です。

なんというか、こんなにも「ヤバい」という感想が当てはまるライブも初めて見ました。この一日の感想は結局はこの1文にまとまってしまいます。

ちひろ氏「今日のライブは長い」
ちひろ氏「(~いつもの口上)なので休憩は有りません」
会場「は?」 ここから既におかしい。1曲も始まっていない段階から凄いものを予感させる。

そして現れるキャスト陣はなんとそれぞれ自キャラに合わせた衣装です!

各キャストが全員それぞれ自キャラに合わせた衣装で出るってデレでは今まで無かったし、そこが既に神戸公演とは全く違っていた。統一感のないばらばらの個性の集まりが視覚的に分かるのがもうBrand newの雰囲気を高めていく。

開幕では最新タイミング声付き組(三船美優、森久保乃々、佐藤心、依田芳乃)のナレーションを入れてくれたのもBrandnewでしたね。

そしてそれぞれの衣装の造り込みもなかなかレベルが高い。二宮飛鳥役 青木志貴さんの完璧な飛鳥度はただものではありませんでした。

1曲目、Flip Flopをやってくれてありがとうございます(藍子好並感)。

五十嵐響子役 種﨑敦美さんの「恋のHamburg♪」、全体を通してのソロ一曲目から、この歌唱、振り付け、演出、キャラ寄せの完成度である。五十嵐響子ってすげぇな。始めから想像を超えたものが出てくる。フライ返しを持って踊る振り付けもかわいい。映像も良く出来ている。

ライブ皆勤の桜咲千依さんもここで密室事件ではなく「Bloody Festa」、「Lunatic Show」を出してくれたのはタイミング的にもライブ内容的にも良かった。密室事件とはまた違う小梅の曲の引き出しがようやくステージでも披露されて楽しみが広がりますね。

堀裕子役 鈴木絵理さんによる「ミラクルテレパシー」、ほんと良い曲。そして堀裕子を体現する鈴木絵理さんの笑顔溢れるパフォーマンスがとても堀裕子。赤い衣装も素敵。

「Absolute NIne」、このオリジナルメンバーで出来るって貴重。割と自由にメンバーを入れ替えるデレのLIVEにおいて、今日の公演は元ユニットを意識した編成が多くて、もともとである事の良さを改めて感じる。

山下七海さんの大槻唯感、長島光那さんの上条春菜感は以前より感じていたけど、木村珠莉さんもなかなかに相葉夕美でしたね。

驚く以外にない輿水幸子役 竹達彩奈さんによる「To my darling…」。衝撃。

同じくサプライズ登場となる久野さんの「みんなのきもち」はアンセムだった。この曲、「Radio Happy」並のクラブ曲だと思うんですがどうでしょう。会場だけでなくキャスト陣もエビやカニになったりと会場の一体感高まる場面でした。

Radio Happy<山下七海さん>~気持ちいいよね 一等賞!<杜野まこさん>~Can’t Stop!!<和氣あず未さん> この流れはおかしい(褒めてる)。「Radio Happy」からの流れは山下七海さんのセンターだけでのパフォーマンスに集まる会場の熱気、それに合わせて会場がどんどん黄色く染まっていく空気感が凄かった。それでいて短いこの曲。楽しいのに短くて寂しい感じがRadio Happyの魅力だと思います。

炎陣メンバーの金子真由美さん、千菅春香さん、原優子さん、村中知さんの安定感。特に原優子さんはトークパートも強力なパワーと通る声でしっかり場を回していて強力。

トークパートでは皆が足を揃えている中、他の人が喋っている間も片足を前に出してクロスして、本当に常時笑顔を絶やさない佐久間まゆ役 牧野由依さんむっちゃカッコよかったですね。凄い。

セットリスト的には、今日は「Yes! Party Time!!」やらないだろうなと思っていた所、それに代わるものが新曲「EVER MORE」だとは思わなかったし、シンデレラまだまだ持ち球有るなと。

属性曲3でトロッコ(馬車)を使い、全キャストがトロッコに乗っている、というのもお得感が有った。

もともと全公演の中でもかなりキャストが多い日でありながら、全く想像外から輿水幸子役 竹達彩奈さん、市原仁奈役 久野美咲さんまでサプライズ出演で出てきてステージの人数と衣装の個性が更に凄かったし、この新人だらけのメンバーで回せるというのがデレの将来の強さを感じさせる、そんな新しさとこれからの未来を感じさせる一日でした。

サイパンスーパーアリーナ。
フレデリカ役の髙野麻美さん、走るの速かったよね。

346 Castle について

Day1/Day2のライブだという感覚が全然なくて、昨日のキャラ密度、曲密度、サプライズの多さで「昨日でもうライブは終わったのになぜか今日もある」という感覚でいる。そんな午前中でした。

予想外の頒布物として入場の際に「サイコミ」を頂きます。430ページ有ります。告知されたばかりの新コミック展開を雑誌丸ごと渡してしまうという……。

最終日の「346 Castle」は前半3公演に比べると見知ったキャストかつアニメ版の曲をやるであろう事が最初から分かっていて、始まる前は「答え合わせ」に近い感じもありました。しかし、1曲目から一気にOP曲である「Star!!」、「Shine!!!」、劇伴を元にした「Story」と、アニメシンデレラガールズとして重要度の高い曲が一気に続く開幕。様子がおかしい。これは本当に(アニメ曲を)埋める気なんだなと。

アニメ版の締めくくりは間違いなくシンデレラガールズ 3rd LIVEで完成していた訳ですが、個人的にはまだ「Memories」などの積み残しが有って、噴水広場でのリリイベから待ち続けていたオリジナルキャストでの「Memories」、そして「LEGNE」が見られて、その部分でもう最終日は半分満足した感じが有ります。このためのシンデレラプロジェクト フルメンバーであり、ダイジェストのような駆け抜けだったんでしょう。

洲崎綾さんと上坂すみれさんの歌い方であったり、お互い見つめ合ったり別の方向を向いたりといった振り付けが美しくLOVE LAIKAここに有りという感じが有ったし、途中から神崎蘭子役 内田真礼さんも加わってラブランコもバランスよく見られたのは美味しい。

「LET’S GO HAPPY!!」、3人ともそれぞれキャラを彷彿とさせる個性のあるパフォーマンス。黒沢ともよさん、松嵜麗さん、山本希望さんともにステージの広さを感じさせない強いパフォーマンス、楽しい動き、全体的なクオリティの高さを感じる一曲だった。

「-LEGNE- 仇なす剣 光の旋律」、これをSSAの大きなステージで見られて良かったし、リリイベに来られていない人にも見てもらえてよかった。内田真礼さんの明らかな歌唱力の向上も感じたし、赤と青に染まった会場も良かった。歌上手いよなぁ。

木村夏樹役 安野希世乃さんによる「Rockin’ Emotion」、3rdでも披露しているわけですが、その時に比べて余裕を感じさせる歌い方で、会場にのびのびと響き渡る声が印象的でした。

そこからのなつきちソロから入る、Heart Beat Versionの「ØωØver!!」、今回はこっちのバージョンをやるだろうなとは思っていたけど、安野さんが最初のソロをやるのは完全に想像外で新しかった。

過去最高のTriad Primusだったのでは!? という「Trancing Pulse」。アニサマ2016でもオリジナルメンバーのTPは聴いているのですが、そこからも更に発展を感じます。福原綾香さんの曲全体を支える声、渕上舞さんの綺麗な高音とともに、松井恵理子さんの力強いソロが加わって相当に強力な構成だった。正直なところ松井恵理子さんの力強さがここまであるとは思っていなかった。

Trancing Pulseは会場映えの有る迫力ある低音部分に波紋が満ちる映像のカッコよさ、やりすぎなほどに多用するレーザーの海にあの声だからもう強かった。

高垣楓役 早見沙織さんのサプライズ登場による「こいかぜ」。来るなら早見さんだろうなとは思っていたけど、実際に来られるとやっぱり泣く。アニメ版でもこいかぜを歌われただけで泣けました。Aメロからの圧倒的な高垣楓と早見さんの歌声、真緑の会場、ほぼスポットライト切り替えのみの演者際立つ演出。空気感が凄い。口からCD音源とは言われるけど、完全にCD音源だったのは1stの方で、今回はそれにライブらしい様々な感情や表現が乗っかった、今まで聴いた事無いこいかぜだった。

いわゆる2階席なので、曲が終わる前に奈落が開くのが分かる訳ですが、早見さんがいる状態で1つ空いて、誰のソロが来るんだろうかと思っていたらまさかの東山奈央さん登場からの「Nocturne」。これもオリジナルメンバーでは初。Nocturneまで完成させてくれるとは思わなかった。貴重な機会だった。東山さんきたから今回はもう無いと思っていた「サマカニ!!」1%ぐらいあるのでは!? と思っていたけど無かったですね……(そりゃそうだ)。

「この空の下」をやったらもう「心もよう」だし、次は「流れ星キセキ」に決まっているわけで、この流れ完全にアニメシンデレラガールズに一区切りつける、前述の積み残しもすべて昇華する総決算ライブなんだなと思わせる構成だった。そりゃあ次は「M@GIC☆」ですよ。

そして「夢色ハーモニー」、全話をアニメーション演出でも駆け抜け346 Castleの締め。サプライズ部分を除けば完全にアニメ曲だけで、346としてやれる事は全てこれでやった内容だったしStarlight、Brand newとテーマが分かれているからこそ実現できた内容でした。

(GOIN’!!! がPだけで最初から最後まで歌う曲になりましたね……)

そして第4の城「Future Castle」パートの始まり。新しいタイトルの始まりであり、かつそれを感じさせる雰囲気の新曲「Yes! Party time!!」をここに持ってきたのは3rdの届けアイドルを思い出させる。レトロフューチャーなイントロサウンドもまさしく未来的ですね。

ここからステージ初披露ラッシュとなります。

城ヶ崎莉嘉役 山本希望さんの「SUPERLOVE☆」から始まる新曲ソロパート、JC莉嘉の若さから溢れるエネルギーを感じさせる、莉嘉を完全に体現したパフォーマンスだった。

対になるような城ヶ崎美嘉役 佳村はるかさんによる「NUDIE★」、TOKIMEKIとは全く違ったエモーショナルな歌詞と曲調で良い2曲目だよなぁと思う。曲に合った感情が載っているうえで、佳村はるかさん自身がとても楽しそうなのが良かった。

三村かな子役 大坪由佳さんによるおかしな国のおかし屋さん(おかおかさん)。この曲をやるならこのぐらいまでやってほしい!と思ってたので、背景演出や小道具、上坂すみれさん扮する王子様役を用意した演出には満足感が有った。大坪さん自身の演技・演出力も高い。1番、2番と歌い、満を持して現れたパイ、誰もが期待している中、満を持して食べる! この期待を裏切らないパイは大坪さんお手製。

多田李衣菜役 青木瑠璃子さんによるSparkling Girl。りーなの爽やかさあふれる曲、クオリティに磨きがかかった感のあるエアギター。センターから全方向にパフォーマンスしてくれたのも良かった。

ただただ高森奈津美さんの凄さを再確認した「ニャンと☆スペクタクル」。「おっ、喧嘩か?」と本人も言っていた高難易度のBメロを歌いきるプロ根性、(休憩も兼ねた?)採点演出は2回目になつねぇがぶっ倒れたのも面白かった(お疲れさまです)。ニャンと☆スペクタクルは動きのキレも良くて、ダンサーさんと並んで足を上げるパートでは同じ高さまで足が上がっていて凄かったし、ハードなまま曲の終わりまで進んでいく感じは前川みくのリスペクト対象である安部菜々のメルヘンデビュー!に似たものを感じる。

本田未央役 原紗友里さんによる「ステップ!」。曲の雰囲気通りなステージのあちらこちらを回る楽しさある演出。楽しそうな表情溢れる原さんはかなり本田未央だった。近くに来てくれると見やすくて良い。

渋谷凛役 福原綾香さんの「AnemoneStar」は「Never say never」とはまた違ったタイプの力強い楽曲。この蒼い曲は今後まだ凄くなるポテンシャルを感じました。

島村卯月役 大橋彩香さんの「はにかみdays」。「S(mile)ING!」よりも柔和な曲で、卯月のナチュラルな笑顔が見られたような気がした。福原さんと大橋さんはソロ曲をやる時の雰囲気がだいぶ違いますね。

トークパートは「このままではこの曲は歌えないなと思い○○~」とレッスン内容を語るくだりが後半完全に乗っかりに来ている感じで、Day2の一門感を感じると共に、笑いにしつつもやっぱり2曲目はどれも難しいものになっている事がはっきりと分かる。新たな楽曲、新たな表現、それに対する挑戦と、まだ発展をするんだなと。

中も外も25歳になった楓さんの話や、やはりLOVE LAIKAの登場前に手を握ったエピソードも良かったですね。今でも続く五十嵐裕美さんの「キャンディアイランドが1番可愛い」主張も好き。

Feature Castle

結果的に4つの構成になった公演でした。

知っている曲の中にも新しい表現が有り、様々な「ユニット」が個人曲では出せない別の魅力を出し、まだまだ新しい気でいたデレステより更に新しいタイトルも新曲を引っ提げて出てくる。見知ったキャスト陣は次のステップになる曲を披露する。

それぞれのステージに魅力が有って、新しい流れがこれからも沢山有る事を感じさせる、予想だにしないサプライズがまだ起きる余地が有る。4回目でありながらまだまだ新しさあふれる作品群だという事を感じられるライブでした。

正直な所、先述の積み残しを除いて3rdライブはかなりの満足度が有りました。ここまで満足できればもう4thは行かなくてもいいかなという選択肢まで有った所でしたが、それに答えるCPフルメンバーであったり、予想外に増えた魅力あふれる新曲が有ったおかげで4thを観に来ることになり、この衝撃だらけの4thを見られてとても良かったです。

改めて、キャストやスタッフの皆さん含め参加された方々はお疲れ様でした。

番外

  • 中~高音の微妙な感じは会場自体がそういう感じなんだろうし、あのサイズの箱用意するならまぁ仕方ないよね。武道館に比べるととても良いです。
  • 400レベルの2列目は、1列目の人が立てない事になっていてとても見やすい。トークパートは双眼鏡で全体も表情も見えてモニターいらずでした。
  • チケット譲ってくださいではなく「パンフレット譲ってください」のボードを持っている人は初めて見かけました。現地でもパンフ売り切れるんですね。
  • 巨大フラワースタンド内部で観られるムービーは、これまでの歴史を一挙に見るものでいい感じの出来でした。これも未来に向けての内容だったLIVEの為のおさらいだったんでしょうね。
  • けやき広場のありす勢が強そうな感じでした。
  • 実物で見るぴにゃこらたは思っていたよりもかわいい。
  • 治安はとても良かったです。
  • このブログ書いてたらモバマス ハロウィンイベの最後のストーリー見逃しましたね……

間奏にギターソロが入らないミリオンライブ!楽曲一覧

曲の1番、2番が終わってからCメロが始まるまで、もしくはCメロと大サビの間に入る間奏によく入るギター・ベースソロ。ミリオンライブ!楽曲は体感でとてもギターソロ率が高い気がしていたので、逆に入っていない曲はどういう曲なんだろうというまとめです。
以下前提

  • 間奏に数フレーズでもギター/ベースのソロ部分が有る:ソロ有り判定
  • 間奏に数フレーズでもギター/ベースの主張が強い部分が有る:ソロ有り判定
  • ギターが鳴ってはいるが多くの楽器の一つとして小さくなっている:ソロ無し判定
  • 楽器がいくつか有るがギターの主張が強い:ソロ有り判定
  • アコースティックなタイプ:ソロ有り判定ですが一応注記します。
  • 歌ではなくセリフや掛け声であったりする場合は間奏判定している場合があります。
  • 作詞者は今回の趣旨とは違うので申し訳ありませんが省略しております。
  • 歌唱者、作曲者、編曲者などについて敬称略です。
  • ギターソロ有り無しどっちが良いという話ではないです。個人的には好物です。
  • 語彙力が低い。

ではいきましょう。

THE IDOLM@STER LIVE THE@TER PERFORMANCE

LTP01

  • Thank You!:あり
    作曲:NBSI(佐藤貴文)
    ストリングスとギターの共演をお楽しみください。

LTP02

  • 全てにギターソロが有ります。

LTP03

  • 全てにギターソロが有ります。

LTP04

  • アフタースクールパーリータイム:なし
    歌:所恵美(藤井ゆきよ) 作曲:増谷賢

    LTPシリーズにおいて初めてギターソロの無い曲がアフタースクールパーリータイムです!
  • ライアー・ルージュ:あり
    歌:北沢志保 (雨宮天) 作曲:西添健(Arte Refact)
    アコースティックです。
  • Snow White:あり
    歌:如月千早 (今井麻美) 作曲:rino
    アコースティックです。

LTP05

  • Be My Boy:なし
    歌:百瀬莉緒 (CV.山口立花子) 作曲:KOH
    そもそも間奏がないという構成の曲。
  • プライヴェイト・ロードショウ (playback, Weekday):なし
    歌:水瀬伊織 (CV.釘宮理恵) 作曲:松田彬人
    ストリングスです。

LTP06

  • 恋のLesson初級編:なし
    歌:伊吹翼(Machico 作曲:nyanyannya (Team.ねこかん[猫])
    アップテンポなシンセ系の間奏です。

LTP07

  • マイペース☆マイウェイ:なし
    歌:福田のり子 (浜崎奈々) 作曲:増谷賢

    管楽器ソロです。Cメロでは入ってきます。
  • ちいさな恋の足音:あり
    歌:篠宮可憐 (近藤唯) 作曲:高田暁
    掛け合いのように交互にギターが入ってきて大サビ前を盛り上げます。
  • カワラナイモノ:なし
    歌:三浦あずさ (たかはし智秋), 篠宮可憐 (近藤唯), 高山紗代子 (駒形友梨),
    福田のり子 (浜崎奈々) 
    作曲:藤本記子 編曲: 福富雅之
    ストリングスがバラードを盛り上げます。

LTP08

  • グッデイ・サンシャイン!:なし
    歌:中谷育 (原嶋あかり) 作曲:八尋春菜
    楽しさあふれるキラキラ系間奏です。
  • ハートウォーミング:なし
    歌:高槻やよい (仁後真耶子) 作曲:KanadeYUK
    明るくもしっとりとした間奏。

LTP09

  • Helloコンチェルト:なし
    歌:秋月律子 (若林直美), 木下ひなた (田村奈央), 佐竹美奈子 (大関英里), 松田亜利沙 (村川梨衣) 作曲:増谷賢 編曲:長田直之
    キラキラ系間奏ですね。キラキラ系=ベルっぽいシンセなイメージ。
    増谷賢さん作曲としてはここで3曲目。
  • あのね、聞いてほしいことがあるんだ:なし
    歌:木下ひなた (田村奈央) 作曲:藤本記子
    なしって事であっていますよね?
  • チョー↑元気Show☆アイドルch@ng!:なし
    歌:松田亜利沙 (村川梨衣) 作曲:バグベア
    曲のテンションを落とさずCメロへつなげていくシンセな間奏。
  • GREEDY GIRL:なし
    歌:秋月律子 (若林直美) 作曲:藤本記子
    間奏?はとても短いです。

LTP10

  • ハッピ~ エフェクト!:なし
    歌:宮尾美也 (桐谷蝶々) 作曲:バグベア
    シンセ間奏です。
  • 瞳の中のシリウス:なし
    歌:四条貴音 (原由実), 高坂海美 (上田麗奈), 徳川まつり (諏訪彩花), 宮尾美也 (桐谷蝶々)
    作曲:野井洋児
    曲の雰囲気を荘厳に盛り上げる間奏で。

LTP11

  • 想いはCarnaval:あり
    歌:島原エレナ (角元明日香) 作曲:吉川奏
    アコースティックです。
  • Get My Shinin’:なし?
    歌:舞浜歩 (戸田めぐみ) 作曲:関野元規
    これはソロではない……はず。
  • DETECTIVE HIGH! ~恋探偵物語~:なし
    歌:双海真美 (下田麻美) 作曲:石井健太郎
    基底になるメロディを繰り返す間奏。好きです。

LTP12

  • IMPRESSION→LOCOMOTION!:なし
    歌:ロコ (中村温姫) 作曲:谷島俊
    ロコモーションな間奏。
  • ハミングロード:なし
    歌:萩原雪歩 (浅倉杏美) 作曲:KdnddeYUK
    間奏も小声で歌う雪歩がかわいい。
  • デコレーション・ドリ~ミンッ♪:あり
    歌:周防桃子 (渡部恵子) 作曲:増谷賢
    入らないかな?と思ったら入ってくる。

LTP13

  • Heart?・デイズ・Night☆:なし
    歌:野々原茜 (CV.小笠原早紀) 作曲:バグベア
    シンセ系です。
  • 微笑んだから、気づいたんだ。:なし
    歌:双海亜美 (CV.下田麻美) 作曲:増谷賢
    ピアノソロが美しい間奏。
  • dear…:なし
    歌:馬場このみ(CV.高橋未奈美) 作曲:KOH
    シンセ間奏。この音色は後で何度も出てくる事になります。
  • ビギナーズ☆ストライク:なし?
    永吉昴 (CV.斉藤佑圭) 作曲:小野貴光
    何とも言えないところですが、ぎりぎりソロではない?
  • Bigバルーン◎:なし
    歌:双海亜美 (CV.下田麻美)、永吉昴 (CV.斉藤佑圭)、野々原茜 (CV.小笠原早紀)、馬場このみ (CV.高橋未奈美) 作曲:高田暁
    (ビギナーズ☆ストライクが無しという事であれば)LTP13はなんと
    ギターソロが一つも無いアルバムだったのである。

THE IDOLM@STER LIVE THE@TER HARMONY

共通:

  • Welcome!!:あり
    作曲:BNSI (佐藤貴文)
    初っ端からギターですね。全体曲はギターソロが映えます。

LTH01

  • 地球ミラーボウル:なし
    歌:水瀬伊織 (釘宮理恵) 作曲:KOH
    KOHさんのシンセ系間奏です。
  • Liar’s good bye:あり
    歌:秋月律子 (若林直美) 作曲:桑原聖(Arte Refact)
    アコースティック系です。
  • タイムマシンに飛び乗って!:なし
    歌:双海亜美 (下田麻美) 作曲:矢鴇つかさ(Arte Refact)
    スペイシーな音の遊び心ある間奏。
  • smiley days:なし
    歌:我那覇響 (沼倉愛美) 作曲:KOH
    KOHさんのシンセ系間奏です。

LTH02

  • VIVID イマジネーション:なし
    歌:望月杏奈 (夏川椎菜) 作曲:酒井拓也(Arte Refact)
    シンセ系間奏です。
  • 空想文学少女:なし
    歌:七尾百合子 (伊藤美来) 作曲:福富雅之
    イントロからAメロが始まるまでの展開の良さに震える。

LTH03

  • ギターソロ祭りだ!
    暴れっぷり最強の一角であり圧倒的な盛り上がりを見せる「夢色トレイン」を始め、力強い「Catch my dream」、バラードを泣き系の音で盛り上げる「絵本」など、熱いギターソロが集まったアルバムです。

LTH04

  • Eternal Harmony:なし
    歌:エターナルハーモニー(今井麻美, 郁原ゆう, 愛美, 諏訪彩花, 末柄里恵)
    作曲:”Mitsuyuki Miyake,K’s,TAKAROT”
    キラキラ系間奏です。
  • bitter sweet:なし
    歌:豊川風花 (末柄里恵) 作曲:KOH
    KOHさんのシンセ系。このシンセの音に聴き覚えが出てきたのではないでしょうか。
  • 君だけの欠片:なし
    歌:エミリー スチュアート (郁原ゆう) 作曲:藤本記子
    この間奏、とてもエミリーの世界観に有っていると思いませんか?

LTH05

  • HOME, SWEET FRIENDSHIP:あり
    歌:リコッタ (中村繪里子, 渡部恵子, 浜崎奈々, 村川梨衣, 渡部優衣) 作曲:AstroNoteS
    これはギターですよね?

LTH06

  • BOUNCING♪ SMILE!:なし
    歌:大神環 (稲川英里) 作曲:石田秀登
    環の声が入ってきます。
  • 初恋バタフライ:あり
    歌:宮尾美也 (桐谷蝶々) 作曲:石井健太郎
    アコースティックな音がとても曲の雰囲気に有っています。

LTH07

  • Birth of Color BIRTH:あり
    歌:(平田宏美, 浅倉杏美, 戸田めぐみ, たかはし智秋, 木戸衣吹) 作曲:Effy
    間奏の頭に短いギターソロ。後半はアコースティックな音も。
  • ユニゾン☆ビート:なし
    歌:舞浜歩 (戸田めぐみ) 作曲:高田暁
    ダンサブルナサウンドでCメロにつなぎます。
  • 月のほとりで:あり
    歌:三浦あずさ (たかはし智秋) 作曲:中土智博
    しっとりとしたアコースティックギター。

LTH08

  • アニマル☆ステイション!:なし
    歌:中谷育 (原嶋あかり) 作曲:AstroNoteS
    元気に歌い続けそのままセリフパートへ。
    曲の最後はAstroNoteSミリオン曲特有定番のワブルベース。
  • りんごのマーチ:なし
    歌:木下ひなた (田村奈央) 作曲:菊池達也
    マーチ的な間奏が続きます。
  • 水中キャンディ:なし
    歌:馬場このみ (高橋未奈美) 作曲:KOH
    KOHさんのシンセ間奏です!
    ソリッド感のあるサウンドが曲とこのみさんの強さを引き立てます。

LTH09

  • 恋の音色ライン:なし
    歌:二階堂千鶴 (野村香菜子) 作曲:KOH
    某シューティングゲームっぽいとも言われる曲調。分かりやすく高めの音色と千鶴さんの歌声にぴったりで心地よい。
  • 鳥籠スクリプチュア:あり
    歌:天空橋朋花 (小岩井ことり) 作曲:酒井拓也(Arte Refact)
    通称「天空騎士団七ヶ条」とともにギターがバックで盛り上げます。
  • vivid color:なし
    歌:高山紗代子 (駒形友梨) 作曲:KOH
    安定感。

LTH10

  • addicted:なし
    歌:四条貴音 (原由実) 作曲:KOH
    シンセで攻めてきます。

THE IDOLM@STER LIVE THE@TER DREAMERS

LTD01

  • Dreaming!:あり
    作曲:BNSI (佐藤貴文)
    Thank You!、Welcome!!、Dreaming!は同じ方の曲だったですね。
    前者2曲よりも低音部分も多いからか、歌唱参加者によって雰囲気が大きく変わる味わい深い曲です。

LTD02

  • Eternal Spiral:なし
    歌:高槻やよい (仁後真耶子) x 矢吹可奈 (木戸衣吹) 作曲:AstroNoteS
    東洋的なストリングスの間奏。
  • piece of cake:あり
    歌:北上麗花 (平山笑美) x 北沢志保 (雨宮天) 作曲:AstroNoteS
    アコースティック系です。

LTD03

  • Cut. Cut. Cut.:なし
    歌:周防桃子 (渡部恵子) x 真壁瑞希 (阿部里果) 作曲:睦月周平
    強さの有る曲と柔らかい曲が同居するLTD03。こちらにはギターソロが有りません。
  • Smiling Crescent:あり
    歌:箱崎星梨花 (麻倉もも) x 宮尾美也 (桐谷蝶々) 作曲:板垣祐介
    こちらはアコースティック系の音が入ります。

LTD04

  • HELLO, YOUR ANGEL♪:なし
    歌:天空橋朋花 (小岩井ことり) x 中谷育 (原嶋あかり) 作曲:鈴木裕明
    マーチ的な感想ですね。
  • G♡F:なし
    歌:秋月律子 (若林直美) x 篠宮可憐 (近藤唯) 作曲:KOH

    おなじみの音です。

LTD05

  • “Your” HOME TOWN:なし
    歌:木下ひなた (田村奈央) x 双海亜美 (下田麻美) 作曲:AstroNoteS
    会話パートが特徴的ですね。
  • fuity love:なし
    歌:野々原茜 (小笠原早紀) x ロコ (中村温姫) 作曲:宮崎まゆ
    ボイスサンプリングのような間奏が特徴的です。
  • 秘密のメモリーズ:なし
    歌:四条貴音 (原由実) x 豊川風花 (末柄里恵) 作曲:KOH
    KOHさん曲です。貴音と風花はそれぞれKOHさん作曲の曲を歌っており、調和性が高い仕上がりになっています。
  • たしかな足跡:なし
    歌:三浦あずさ (たかはし智秋) x 百瀬莉緒 (山口立花子)
    横道なバラード進行。ギターのような音は入りますがメロディの一部として鳴ります。

LTD06

  • LTD06の曲にはすべてギターソロ間奏が有ります。
    最後を締めくくる「Dreamscape」の間奏は開放感があります。

アイドルマスター ミリオンライブ!(ゲッサン)

  • アイル:あり
    歌:伊吹 翼 (Machico)、ジュリア (愛美)、真壁瑞希 (阿部里果) 作曲:きみコ
    ギターが入っていないわけがない曲ですね。熱いです。
  • Flooding:あり
    歌:クレシェンドブルー (田所あずさ, 平山笑美, 雨宮天, 小笠原早紀, 麻倉もも)
    作曲:矢鴇つかさ (Arte Refact)
    クレブル曲にギターソロが無い訳ないだろみたいな荒々しい曲。

いかがでしたでしょうか。
思っていたよりはギターソロの無い曲も多いです。
KOHさんのシンセ間奏は強い曲によく合いますね。
他にはクレッシェンドブルーの熱さがこんなところからも燃えてきているんだなと思ったり。

以下、その他ピックアップ。

  • Day After “Yesterday”:あり
    歌:永吉昴 (斉藤佑圭) 作曲:高田暁
    判断に困った曲ですが、有りということで。
  • 夢色トレイン:あり
    歌:箱崎星梨花 (麻倉もも) 作曲:増谷賢
    ファンシーなメロディと熱いギターの共演が疾走感有る盛り上がりを見せる曲です。
  • 未来飛行:あり
    歌:春日未来 (山崎はるか) 作曲:板垣祐介
    ギターソロ曲としては外せない一曲。大空へ舞い上がるような吹き抜ける間奏。
    大サビでも名アシストを見せる。
  • ジレるハートに火をつけて:あり
    歌:灼熱少女 (種田梨沙, 稲川英里, 上田麗奈, 藤井ゆきよ, 桐谷蝶々) 作曲:増田武史
    熱い情熱を感じさせる腰の据わった音。
  • フローズン・ワード:あり
    歌:所恵美 (藤井ゆきよ) 作曲:桑原 聖(Arte Refact)
    外せないですね。クリーンで伸びのありつつも少し丸い音。
  • 夕風のメロディー:あり
    歌:篠宮可憐 (近藤唯) 作曲:野井洋児
    入る音は少ないですが泣きギター曲筆頭の一つ。演出もセットで見たい。
  • Decided:あり
    歌:徳川まつり (諏訪彩花) x 馬場このみ (高橋未奈美) 作曲:山口朗彦
    「Blue Symphony」「Just be myself!!」「FAKE SELF×TRUE SELF」「Persona Voice」等の蒼さを感じる曲を作ってきた山口朗彦さんの曲です。Decidedではギターそのものの主張は強くありませんが楽器のまとまった音の圧が素敵です。