コマンドラインから WordPress 関連処理を実行する

FC2 ブログで行ってたつぶやきアーカイブを hetarena.com に移すために、コマンドラインで実行するための記事投稿用プログラムを書く方法を調べてみました。 wp-cron ではなく OS の crontab を使用したいので、単独の PHP プログラムファイルとして動かしたいのです。

結論からすると簡単で wp-load.php をプログラムの最初に読み込めば良いです。 参考にしたのはこちらの記事ですが、投稿を作成する程度であれば特に $_SERVER を設定しなくても動きました (→ マルチサイト化されていると $_SERVER を設定しなければ動きませんでした。追記参照)。 以下サンプルコードです。 コマンドラインから実行すると 7/7 付けの投稿が作成されます。 使用する場合はご自分の環境に合わせて修正してからお試しください。

#!/usr/bin/php
<?php

//require the WP bootstrap
require_once('/usr/share/wordpress-ja/wp-load.php');

class WP_Command_Line {

  public function __construct() {
    //nothing here
  }

  public function main() {

    $post = array (
      'post_content'   => 
        "<p>これはインポートされた記事です。</p>\n<p>よろしく!</p>",
      'post_type'      => 'post',
      'comment_status' => 'closed',
      'ping_status'    => 'closed',
      'post_status'    => 'publish',
      'post_author'    => 2,
      'post_title'     => 'テスト用記事',
      'post_date'      => '2012-07-07 00:00:00',
      'post_category'  => array(6)
    );
    $e = wp_insert_post($post, true);
    if (is_wp_error($e)) {
      print $e->get_error_message();
    }
    else {
      print "Post ID = " . $e . "\n";
    }
  }
}

$importer = new WP_Command_Line();
$importer->main();

wp_insert_post の Tips も簡単に紹介しておきます。

  • $post->post_date を設定しなければ実行時の時刻で記事が作成されます。
  • $post->post_author や $post->post_category は既に存在するユーザ/カテゴリーの ID を渡します。 カテゴリーは配列を渡します。
  • 記事 ID 指定で追加したい時は $post->import_id に ID をセットします。$post->ID は更新の時に使います。

詳しくは wp_insert_post のリファレンスをご確認ください。


2012.7.28 追記
マルチサイト化されていると $_SERVER の設定が必要です。以下の様な感じで動きました。

$_SERVER = array(
  "HTTP_HOST" => "hetarena.com",
  "SERVER_NAME" => "hetarena.com",
  "REQUEST_URI" => "/",
  "REQUEST_METHOD" => "GET"
                 );

内部リンクを壊さずに FC2 ブログの記事を WordPress にインポートする

内部リンク切れを起こさずに FC2 ブログを WordPress サイトに移行する際の手順です。 ブログ記事番号を合わせることで、FC2 ブログからの個別記事へのリダイレクトも可能なようにします。 ある程度プログラムや HTTP、HTML の知識がある人向けで、説明を端折っている部分もあります。 スクリプトプログラム等もダウンロードできるようにしていますが、環境に合わせて修正が必要となるので最終的には自己責任でご利用ください。 WordPress のバージョンは 3.3、3.4 で試していますが、Movable Type and TypePad Importer のバージョン (0.4) の方が重要です。 これ以降の説明はホスト名として実際に私が行った blogger323.blog83.fc2.com (FC2) と hetarena.com (WordPress) を使用します。

以下の条件で移行を行います。

  • http://blogger323.blog83.fc2.com/blog-entry-NNN.html を https://hetarena.com/archives/NNN に対応させます。(追記: 他のパーマリンク形式が良い人はコメント欄参照。)
  • FC2 にこれまでアップロードしたファイルは https://hetarena.com/oldimages/ の下に置きます。

手順の概要は以下の通りです。

  1. FC2 ブログでエクスポートした記事と sitemaps.xml を使用して、各記事に ID (先述の URL 内の NNN の部分) を付与したエクスポートデータを作成します。
  2. 記事中の内部リンクの変換を行います。
  3. Movable Type and TypePad Importer を一部変更し、ID を読むようにしてから記事をインポートします。
  4. 画像の引越し、FC2 のリダイレクトの設定を行います。

インポートするデータの作成

実際の手順では先の 1. 2 を合わせてプログラムで処理しました。 FC2 ブログの記事をエクスポートし、UTF-8 に変換して blogger323.txt として保存します。 続いて http://blogger323.blog83.fc2.com/sitemaps.xml をファイルとして保存します。 こちらの perl スクリプトをダウンロードし、先の 2つのファイルと同じディレクトリに置いて以下を実行します。

perl fc22wp.pl blogger323.txt > blogger323_wp.txt

これで「ID: 」の行が足され、更に内部リンクの変換が行われます。 perl のスクリプトについて簡単に説明すると以下の処理をしています。

  • blogger323.txt の「DATE:」行を sitemaps.xml の「<lastmod>」の日時とマッチさせ、記事番号の含まれる「ID:」行を挿入する。
  • blog-entry-NNN.html を archives/NNN に変換
  • blogger323.blog83.fc2.com を hetarena.com に変換
  • http://blog-imgs*.fc2.com/b/l/o/blogger323/ を /oldimages/ に変換

使い捨てで書いているので使用する際は「blogger323」、「hetarena.com」の含まれている行を適切に修正し、処理内容を確認してから使用してください。 まあ、短いプログラムなので見ていただければ perl を知らなくても何をしているか想像がつくと思います。

インポートの実行

WordPress に標準でついてくる「Movable Type and TypePad Importer」(Version 0.4) を使用しますが、そのままだと「ID:」行を読んでくれません。 そこで movabletype-importer.php に以下の修正を行います。 (wp-content/plugins/movabletype-importer/ の下にあるファイルにこのパッチファイルを当てても良いですが、WordPress 管理画面の「プラグイン編集」から修正するのがお手軽です)

--- movabletype-importer.php.orig       2011-01-15 09:53:03.000000000 +0900
+++ movabletype-importer.php    2011-08-02 20:22:59.000000000 +0900
@@ -388,6 +388,10 @@
                                $slug = trim( substr($line, strlen('BASENAME:')) );
                                if ( !empty( $slug ) )
                                        $post->post_name = $slug;
+                       } else if ( 0 === strpos($line, 'ID:') ) {
+                               $post_id = trim( substr($line, strlen('ID:')) );
+                               if ( !empty( $post_id ) )
+                                       $post->import_id = $post_id;
                        } else if ( 0 === strpos($line, 'STATUS:') ) {
                                $status = trim( strtolower( substr($line, strlen('STATUS:')) ) );
                                if ( empty($status) )

import_id はまともに公式解説されていないパラメータなのですが、更新のときは $post->ID に、新規のときは $post->import_id に記事 ID をセットして wp_insert_post を呼ぶと希望通りの ID で記事が更新/作成されます。

安全を期すならば blogger323_wp.txt をインポートする前に記事ID の大きなダミーデータを 1つ作成してインポートしておきます。 import_id で指定した番号の記事が存在すると既存最大 ID + 1 の番号が振られて記事が作成されてしまうのですが、こうしてダミーデータを入れておけば万が一既に記事が存在していたとしてもダミーデータの後ろの番号で作成され、続く記事のインポートに影響を与えません。

そのほかもろもろ

他にもいくつか実行しておくべきことがあります。

  • WordPress でパーマネントリンク設定を行って archives/NNN 形式を選んでおきます。
  • FC2 にアップロードされているファイルをダウンロードして WordPress ディレクトリの下の oldimages の中に置きます。 ダウンロードするファイルが多い場合は何かツールを使うなりしてダウンロードしましょう。 (私は HTML からリンクを取り出して wget を回すスクリプトを書いたような気がします)
  • RSSフィード読者向けに FC2 側に移転告知エントリを一つ書いておく必要があると思います。 FeedBurner を使っていれば、Original Feed URL を変更することで読者の手を煩わせることなく引き続きフィードを提供することができます。 しかし、この場合もリーダー上で既読情報等がリセットされるようなので告知をしておいた方が良いでしょう。
  • どこまでやるかという問題になるのですが、ここまでの手順で救えるのは個別記事 URL です。 カテゴリーやタグつき記事に対してのリンクが記事中に大量に埋め込まれている場合、それらへの手当ても必要かも知れません。 一つの手として Redirection プラグインを使う方法を紹介しておきます。 Redirection プラグインでは正規表現も使えるので、例えば「/\?tag=(.*)」→「/?s=$1」みたいなルールを作るとかつてタグで指定していた単語での検索結果を表示するようになります。
  • WordPress サイトの準備が整ったら FC2 テンプレートに meta refresh でリダイレクトする設定を入れます。 あと rel="canonical" の <link> タグも入れておいた方が良いでしょう。

最後の FC2 テンプレートの件については説明が必要ですね。 まずはリダイレクトは以下の記述を <head> セクションに追記します。 (実際は改行なしで書いています)

<meta <!--index_area--><!--/index_area--> http-equiv="refresh" 
content="0;URL=https://hetarena.com/<!--permanent_area-->
<!--topentry-->archives/<%topentry_no><!--/topentry--><!--/permanent_area-->" />

リダイレクトの設定についてはこちらの記事を参考とさせていただきました。 続いて <link> タグですが、以下の記述を同じく <head> セクションに追記します。

<!--permanent_area--><!--topentry-->
<link rel="canonical" href="https://hetarena.com/archives/<%topentry_no>" />
<!--/topentry--><!--/permanent_area-->

ところで

hetarena.com を立ち上げてからこれまでは FC2 ブログを Twitter のつぶやきアーカイブ用に使っていたのですが、最近、WordPress のカスタム投稿タイプを使えば hetarena.com 側でアーカイブしてもブログ記事と混ざらないことに気づき、FC2 ブログの方は閉鎖することにしました。 そんなこともあってこんな記事を書いてみたのでした。 ちなみにつぶやきアーカイブはこちらです。


コメントいただいたので、ちょっと追記

実行例を挙げておきます。 まずコマンドプロンプトを開きます。 アクセサリの下にありますが、スタートメニューで cmd.exe と入力してもコマンドプロンプトを実行できます。 まずディレクトリを作成します。まあ、ここはエクスプローラーで実行しても良いですが。

C:\Users>blogger323>mkdir c:\temp
C:\Users>blogger323>cd \temp
C:\temp>

強調部分が入力するところです。 ここまでで C:\temp フォルダができているので必要なファイルをそこに入れます。 そして perl コマンドを実行します。

C:\temp>perl fc22wp.pl blogger323.txt > blogger323_wp.txt

これで C:\temp フォルダの中に blogger323_wp.txt というファイルができます。

Cubase を使った数撃ちゃ当たる作曲法

アマチュアでも何かの拍子に良いメロディが降りてくることがあると思います。 ただ、問題はそれがサビっぽいフレーズだけだったりして 1曲分を構成できるだけの量にならないことです。 なので、短いフレーズをいくつも貯めておき、さっき降りてきたサビに貯めておいた中から Aメロっぽいのと Bメロっぽいのをくっつけて 1曲にする、みたいな曲の作り方をしている人はそれなりにいると思います。 ただし、この場合も試行錯誤でいろいろな組み合わせを試さないとなかなか満足できる曲とならないかも知れません。 アマチュアの場合、まさに下手な鉄砲も数撃ちゃ当たるという状況ではないでしょうか。

もし、あなたがこのような作曲の仕方をしているならば Cubase のアレンジャートラックを使ってみると良いでしょう。 今回の記事ではアレンジャートラックを使って素材の組み合わせの試行錯誤を行う方法を紹介します。

スケッチ用プロジェクトを用意する

何はともあれ、まずは素材の数を増やさねばなりません。 思いついたフレーズを 1つのプロジェクトファイルに保存しておきます。 このとき、下の図のように素材を並べておきます。

メロディ+コード程度でよいですが、リズムも思い浮かんでいるのならば複数トラックを使って入れてしまってかまいません。 ただし、後で組み合わせて使うのが前提なので、調や拍子が異なる素材は別プロジェクトとした方が良いでしょう。

アレンジャートラックを追加する

Aメロ/Bメロ/サビ等の素材が複数そろったら、アレンジャートラックを追加し、図のように素材の長さに合わせたアレンジャーイベントを作成します。

アレンジャーイベントは鉛筆ツールで書いたり、左右ロケーターで区間を指定してダブルクリックしたりして作成します。 図ではわかりやすくするため、イベントを色分け (青、緑、橙) しています。

試行錯誤する

さていよいよ素材をつないでいきます。 これにはアレンジャーチェーンを使います。 これはアレンジャーイベントの進行順を示したリストで、アレンジャーモードをアクティブにすると曲の進行はトラック上のイベントの並びではなくこのアレンジャーチェーンでの並びに従うようになります。 上図のように「e」ボタンの左隣にあるボタンを押してオレンジにすればアレンジャーモードはアクティブになります。 アレンジャーチェーンの作成にはインスペクター上で作業しても構いませんし、「e」ボタンを押してアレンジャーエディターを表示して使用しても構いません。

例えば上のようなアレンジャーチェーンを作成すると「A3 → A3 → B2 → サビ1」という順でアレンジャーイベントが再生されます。 途中のイベントをクリックしてそこから再生することもできます。 アレンジャーイベントをアレンジャーチェーンに追加する方法は複数あって、イベントをダブルクリックしたりアレンジャーチェーン上へドラッグ&ドロップしたりすれば良いです。

まあ、実際の作業では並べ替えただけではなく、フレーズや構成の微調整が必要になるとは思いますが、試行錯誤をするにはアレンジャートラック機能が便利ということはわかっていただけたと思います。

ライブでも使えるよ

アレンジャートラックは、気分によって曲の構成が変わってしまうライブパフォーマンスにも活用できます。 リズムマシーン等で「パターンプレイ」と呼ばれている機能と説明すればわかりやすいかも知れませんが、アレンジャーイベントの順番をリアルタイムに指定しながら再生することができます。 次のイベントを指定しなければ現在のイベントをループ再生します。

再生するイベントの指定方法は簡単で、「アレンジャーパート」というタイトルのリスト内で再生するイベントの頭の三角を押すだけです。

アレンジャーパートリストの下の「停止」ボタンを押せば、その隣の「ジャンプモード」で指定したところまで演奏した後で終了します。 図の場合はイベントの終了まで再生して停止するので、エンディングも問題ないですね。 ジャンプモードで設定された値はイベント切り替え時にも有効です。

というわけでアレンジャートラックの活用法を紹介しました。 曲の構成を考える段階では便利に使えると思いますので、是非使いこなしてください。

Photoshop Elements でサイトロゴを作ってみました

ちょっと前からベタ塗りの favicon.ico を置いていたのですが、グラデーションを使って少し洗練された感じにアップデートしました。 使ったツールは Photoshop Elements 9 で ICO file format plugin を利用しました。 プラグインのインストールは ICOFormat-2.1b1-win.zip をダウンロードして ICOFormat.8bi を Program Files (x86)\Adobe\Photoshop Elements 9\Plug-Ins\File Formats にコピーするだけです。

favicon.ico は小さいですが、大きいイメージにするとこのようになります。

片仮名の「ヘタレ」をモチーフにしています。 自分では結構気に入っているのですが、いかがでしょう?

金冠日食を撮影してみました

先日、金冠日食に向けての準備の話を書いたのでやはり結果も載せねばならないだろうと思い、書き綴ってみます。

減光フィルターとして ND400 × 2枚をつけていたのですが、7時をちょっと過ぎたあたりでは雲が薄くて順調だったのです (下の写真)。 この時点では余裕がありました。

しかし、7時20分あたりから雲が厚くなってしまったのです。 ここで「それでも雲が薄くなる瞬間があるだろう」と思ってしまったのが失敗でした。 結局金冠となった瞬間も雲が厚いままでした。 どうにか撮ったのが下の写真です。

後から開き直ってフィルターを 1枚外して露出上げめで撮ったのが下の写真。 金冠のときに同じようにして雲とリングを撮れればよかったと思いましたが、後の祭りです。

組み合わせとして減光率の低い ND8 か ND16 も用意しておけば、というのもあるのですが、そこまで準備できませんでした。 自然相手ではやはり思い通りに行きません。 でも、天体撮影が身近になったのは確かです。 6/6 の金星の太陽面経過も余裕があればチャレンジしてみたいです。

USB メモリ/ドングルが出っ張って気になる時に

最近もっぱら Cubase は新調したデスクトップパソコンで使っているのですが、床に置いていてしかも USB ポートが下の方なので、USB ドングルを差した時に出っ張っているのが気になっていました。 何かの拍子で踏んだり引っ掛けたりしてドングルやポートを傷めてしまうのではないかと心配だったのです。

そこでひらめきました。 Buffalo の無線 LAN アダプター WLI-UC-GNHP を買ったときについていた「ポート干渉防止コネクター」なるものを使えば、前に出っぱらずにすむのです。 それは L字型のアダプターで、使うと USB ドングルは上方向に伸びるようになります。(下の写真)

ただ、これだけのために WLI-UC-GNHP を買うのはどうかという感じなので、単品売りがないか調べてみました。 Amazon だと可動なもの方向が違うもの が見つかりました。 WLI-UC-GNHP の「ポート干渉防止コネクター」と同じ方向のものは Yahoo!ショッピングのサイトで見つかりました。

作業中 USB ドングルは差しっぱなしとなるので、気になる方は導入してみてはいかがでしょう?

最近見直した人

勝間和代

思い立って勝間和代「決算書の暗号を解け! ダメ株を見破る投資のルール」を読んでみました。 初めて買った勝間本です。 最近、勝間氏はまた微妙な本を出していてそっちはどうでも良いのですが、初期の本は長年の蓄積に基づいているそうで、世間一般からの評価も高いように見えるので買ってみたのです。 中古で安く売っていて買いやすかったというのもあります。

で、「決算書の暗号を解け!」ですが、確かに良いです。 「期末になるとなんでこんなわけわかんないことをやらなければならないんだー」とか「減価償却 (あるいはのれん代) ってよくわかんね」みたいな若者には是非読んで欲しいです。 わかりやすいし。 出版点数を減らしてこれぐらいの内容の本をコンスタントに出していれば良いのにと思うのですが、それはやはり難しいのでしょう。 それでも勝間氏が出したのは怪しげな表紙の本 () だけではないと知ったのは新鮮な発見でした。

ただし、実際株に投資する場合は、決算書の内容だけで株価は決まらないということも肝に銘じておく必要がありますが。 私としてはどちらかというと、株投資よりもビジネスマンとして会社がどういう動機付けをされているかを知るために読むことをお勧めしておきます。

香山リカ

香山リカというと勝間和代と対談してた人というイメージで、最近だと橋本批判するのはよいけどやりとりの内容が微妙な気がしていました。 要は勝間氏と同じで有名になりたいだけの人なのではないかと思っていたのです。

でも、最近香山氏が書いた文章を読んでとてもまともなことを言っていると感動しました。 そこで言っている内容は「ビジネス書を読んでそこに書いてあること実践してたとしても成功するとは限らない」ということです。 言われてみると当たり前なのですが、熱心な読者は気づかなかったりします。 比較的人生にポジティブな人ほどビジネス書やら啓蒙書にハマってわけがわからなくなってしまいがちなのですが、そんなときは一歩引いて香山氏の文章を読んでみると良いと思います。 例えばスティーブ・ジョブスの伝記を読んで形だけマネしてみても、成功するより周囲に嫌われて誰もいなくなってしまう可能性の方が高いような気がします。

受け狙いでなくきちんとかかれた本/文章に反応するようにしておかないと、世の中が実のないものばかりで溢れてしまいそうなのでこんなことを書いてみました。

金冠日食に向けて

5/21 の金冠日食を撮影しようと考え、当日と同じ 7時半に太陽を撮影するリハーサルを何度かやりました。 撮影場所は自宅の窓からで天体系の撮影は今回が初めてです。

まず、機材ですが、EOS 60DEF70-300mm F4-5.6 IS USM の組み合わせで三脚、NDフィルター、リモートレリーズ (RS-60E3) を使います。 NDフィルターは今回のために ND400 を 2枚購入しました。 ND100000 だと太陽しか撮れないでしょうが、ND400 ならば後々使うこともあるだろうと考えての選択です。

撮影はバリアングル液晶モニターを使ったライブビュー撮影でマニュアルフォーカスで行います。 テレ端の 35mm換算 480mm でもピントを合わせる時は拡大表示にしないとなりません。

通常は解像度のちょっと低い M RAW (1,010万画素) を使うことが多いのですが、今回はトリミングすることも考えて RAW (1,790万画素) で撮影します。 実際に撮影してみると意外に太陽の動きは早く、数分でフレーミングし直しという感じです。 露出の設定については悩みどころで、Kenko のサイトでは通常時と日食とで露出を変えるようになっているのですが、富士フィルムのサイトの説明 (「5. 本番前に試し撮り/確認をしましょう 」の部分) では月に隠れても露出数値の変更は不要となっています。 結局はやってみるしかないですが、ND16 あたりも用意しておいた方がよいような気もしています。

というわけでリハーサル用に撮影してトリミングした画像が以下のものです。 当日は晴れると良いなあ。


F8 1/1250 ISO200 ND400フィルター×2

Word のファイルプロパティの値を文書内で参照する (Word 2007/2010版)

以前書いた Word のプロパティ活用法の Word 2007 以降対応版です。 書こう書こうと思いつつこれまで書きそびれていました。 Word 2007 では文書のプロパティ設定メニューは見つけにくい場所になっているのですが、考え方は同じです。 Word 2010 は手元にないので、Microsoft の公式情報 (その1その2その3)を参考にしています。

そもそもの話

話の趣旨としては、文書のあちらこちらに表示する可能性のあるタイトルや更新日などはきちんとプロパティ値として設定して使おうといことです。 そうすれば、後で変更になってもプロパティ値を変えるだけで済みます (厳密に言うとその後 Ctrl+A で全選択してから F9 を押してフィールドの内容を全て最新の状態にする必要がありますが)。 というわけで、プロパティ値の設定方法とそれを文書に埋め込む方法を紹介します。

プロパティを設定する

Word 2007 では Microsoft Office ボタン (一番左上のボタン) を押して「配布準備」-「プロパティ」と選択します。

すると下の図のようにドキュメント情報パネル (というらしい) が表示されます。 作成者やタイトル等の主だったプロパティの値はここで直せますが、ここに表示されないものは「ドキュメントのプロパティ」-「詳細プロパティ」と選びます。

後は先の記事の通り、「ファイルの概要」タブや「ユーザー設定」タブで任意のプロパティの値を設定します。 なお、Word 2010 では「ファイル」タブ-「情報」-「プロパティ」-「詳細プロパティ」と選択するようなっているようです。

文章中へのプロパティの挿入

「挿入」タブの「テキスト」で「クイック パーツ」をクリックし、「文書のプロパティ」または「フィールド」をクリックします。 こちらは Word 2010 も同じ操作のようです。

プロパティ値をクリアする

ところで、昔から使っているドキュメントでトラブルがありました。 昔のバージョンの Word で作ったものをアップデートして使っていたのが原因かも知れませんが、プロパティ設定画面の「ファイルの構成」タブを見ると「タイトル」と「Title」の両方が設定されていたのです。 そして「タイトル」は再設定できるものの「Title」は設定のしようがなく、「構成内容」のところから消すことができなかったのです。

それでどうしたかというと、一旦全てのプロパティ値を消し、再設定し直しました。 プロパティ値のクリアは Word 2007 では Microsoft Office ボタン を押して「配布準備」-「ドキュメント検査」からできます。 Word 2010 では「ファイル」タブ-「情報」-「共有準備」の「問題チェック」-「ドキュメント検査」と選ぶようです。

DAW 環境についてつらつらと考えてみる

さてさて、今回は DAW 環境について思うところを書いてみます。 かなり個人的な意見ですが、機材を選ぶときの参考になればと思います。 私自身は Cubase を使用していますが、それ以外の DAW ソフトだからといって大きく変わることはないでしょう。

PC = 据置という割り切り

まず、Cubase のようなフルスペックの DAW ソフトを使うのであればデスクトップパソコンをお勧めします。 理由は、以下の通りです。

  • 大きいディスプレイを使うことができる
  • 10キー付きキーボードを使うことができる
  • ノートパソコンに比べて安価

まずディスプレイですが、DAW ソフトを使いこんでいくとトラック一覧/ソフトシンセ/エフェクト/ミキサー等の各ウィンドウを切り替えながら作業を進めることになるので、表示画面は広ければ広いほど良いです。 今は 1920×1080 のディスプレイを数万円程度で入手することができる時代ですし、望むのであれば昔ほどお金をかけることなくデュアルディスプレイ環境を構築することもできます。

また、ショートカットキーを覚えると (少なくとも Cubase では) トランスポート関連のコマンドを 10キーで操作できるようになります。 わざわざトランスポート用コントローラーを買うよりは 10キー付きキーボードを用意する方が安価に済みます。

確かに大きなノートパソコンでもこれらを満たすモデルはあるかも知れませんが、デスクトップパソコンに比べて高価になってしまうでしょうし、気軽に持ち出せる大きさには収まらないでしょうから、ノートパソコンにする意義も失われてしまいます。 通常ノートパソコンではデスクトップ用よりもパフォーマンス的に劣る省電力設計の CPU が載せられている点も注意が必要です。 部屋から持ち出して使うことが条件の場合、ノートパソコンだけを選択肢とするのでなく以下のような機材をデスクトップパソコンと組み合わせて用いることも検討してみると良いと思います。

外で作曲や編曲
iPad + GarageBand
スタジオに持ち込んで録音
ZOOM R16 等のレコーダー

これらの機材で作成したデータは帰宅してから DAW ソフトに取り込んで後の作業につなげることができます (GarageBand を使うなら Logic との組み合わせが望ましいですが)。 ライブで使うことを考えてもパソコンというのはやはり重たい装備だし、信頼性も今一つのように思うのです。

PC のスペック

昨年末 (2011年末) のことですが、ネットで評判の良かった BTO ショップ Sycom のミニタワーPC (VX Series) を購入しました。 これで Cubase での作業がかなり快適になったのですが、価格は送料を含めても 8万円しませんでした。 メーカー製は高価な上にごてごてと色々なソフトがついて不要サービスを止めるのに手間がかかったりするので、その点では BTO ショップがお勧めです。

詳細スペックは以下の通りです。

CPU: Intel Core i5-2500K 
Chipset: Interl H67
Memory: DDR3 SDRAM PC-10600 (8GB)
HDD: Western Digital WD20EARX (2TB)
OS: Windows 7 Professional 64bit

ディスプレイカードを別途購入するよりは内蔵グラフィック性能の高いものをそのまま利用しようと考えて Core i5-2500K にしています。 CPU やチップセットの選択では以下の Web ページを参考にしました。 (もっとも今だと Ivy Bridge + Intel 7シリーズチップセットが最初の選択肢になると思います。 「桜PC~」の方では Ivy Bridge 版についても説明されています。)

以前ノイズを避けるための Tips を書いたのですが、新 PC を 7万円台で購入した今となっては新しい PC を購入するのが一番簡単でお勧めできる解決策に思えます。 このスペックであれば何も考えずバッファサイズを小さくして使ってもほとんどノイズは発生しないので、絶対にノイズを出せない録音時以外は設定に神経質になる必要はありません。

ちなみにディスプレイは、CRT 時代は憧れのブランドだった NANAO (今は EIZO ブランドですね) の FS2332-BK (1920×1080) を同時期に購入しました。 ブランドにこだわらなければもっと安価に買えるでしょう。

コントローラー類

続いて周辺機器について考えてみます。 まず、楽器の未経験者でも鍵盤はあった方が良いでしょう。 とりあえずはミニ鍵盤で良いと思います。 大きい鍵盤を PC の横に置いたりすると気軽に作業を始められなかったりするので、それよりはミニ鍵盤を PC の前に置くことをお勧めします。 microKEY でも良いと思いますが、私は iPad で使う時に電源供給用 USB ハブが不要な Keystation Mini 32 を使用しています。

鍵盤以外のコントローラについても考えてみます。 先にも書きましたが、10キーがあればショートカットキーで操作できるのでトランスポートコントローラは不要です。 スライダーやノブ類は導入検討対象となりますが、制作スタイルによって必要なスライダー/ノブの数は異なってくると思います。 ミキシング時に複数チャンネルのボリュームををリアルタイムでコントロールするとなると 8本以上のモータードライブフェーダーが欲しくなるでしょう。 ただ、フェーダー操作を記録できる今となっては複数同時に動かすような使い方をするのは少数派かも知れません。

ちなみに私は UC-33e (販売終了) を使用しています。 あれば便利ですし、ボリュームの同時操作の他にも EQ の調整などでは重宝します。 UC-33e を使って私もやってみましたが、「オルガンのドローバー操作をしたい!」という人は 9本以上のスライダーが必要です。 できれば更にスライダーの + と – を逆向きにして最小位置で CC 127 を送れるものを選びましょう。(ソフト側で何とかできそうな気もしますが)

シンセパラメータ等のオートメーションデータ入力に使うということであれば、スライダー類の数はさほど問題になりません。 変更したいパラメータの数だけフェーダー操作を行えれば良いですし、記録後にマウスで微調整できるのでそれ程シビアに操作する必要もありません。 MIDI キーボードをはじめ最近のハードウェアシンセならば付属しているスライダーやノブで十分でしょう。

オーディオインターフェイス

入出力チャンネルの数に悩むかも知れませんが、最初はステレオ入出力で足りるでしょうし、余裕を見ても 4イン/4アウトで十分でしょう。 ただし、自分が使う楽器を考えて、マイクやエレキギターの入力に対応しているかをチェックする必要があります。 私は Roland の UA-101 という 10イン/10アウトのインターフェイスを持っていますが、ハードウェアシンセやアウトボードのエフェクターを持っていない限りこのチャンネル数は不要です。

ちなみに UA-101 は 2006年に購入したものですが、新 PC で使っている限り十分低レイテンシーです。 レイテンシーという点では、最近の ASIO 対応のものであればインターフェイス側はまず問題ないでしょう。

まとめ

というわけで DAW 環境について色々思うことを書いてみましたが、やはり大切なのは広い画面と最新の PC です。 最新といってもそこそこの価格で買えるもので良いので、ノイズに悩んでいるぐらいならば PC を買い換えてしまいましょう。