au HOME SPOT CUBE FAQ

先日書いた au HOME SPOT CUBE の記事がこのサイトの一番人気になってしまいました。au の FAQ もありますが、申し込み前に気になりそうなところをまとめておきます。(一部 au FAQ と重複します)

Q: au 端末しか接続できないのですか?
au 端末以外も接続することができます。iPhone/iPad/PC/Air Station は我が家で実績あり。
Q: 複数の端末を接続できますか?
複数の Wi-Fi 機器を同時に使用することができます。
Q: Wi-Fi 子機として使用できますか?
Wi-Fi 子機として使用することはできません。
Q: マニュアルをダウンロードできる?
ファームウェアアップデート告知のページからリンクされています。
Q: au ショップで待たされるのが嫌なんですが…
ショップでの申し込み以外に Web からの申し込みもできます。オンラインで申し込むと配送されてくるようです。
Q: ルータとして使えますか?
ブリッジ接続とルータ接続のどちらにも対応できます。これらの動作モードは本体背面スイッチ (Auto 有) で切り替えます。
Q: どのような回線に対応していますか?
WAN 設定は DHCP/固定 IP/PPPoE に対応しています。NTT フレッツ/ネクストの PPPoE マルチセッションにも対応しています。
Q: LAN 側の設定は?
LAN 側 IP アドレスは指定できません。ルータモード時は DHCP サーバ機能も動作しますが、起動する/しない含め設定できません。
Q: セキュリティ関連機能にどんなものがありますか?
主なセキュリティ機能として MAC アドレスフィルタ/IP パケットフィルタ/SPI (ステートフルパケットインスペクション) があります。その他のアクセスコントロール関連として Wi-Fi クライアント同士の通信をブロックする「プライバシーセパレータ」機能や同じ SSID に接続する端末とインターネットへのアクセスのみ許可する「隔離設定」機能があります。デフォルトで WEP 端末は「隔離」されてます。
Q: インバウンド通信の扱いは?
パススルー関連では IPv6/IPsec/PPTP/PPPoE のパススルーに対応しています。その他、インバウンド通信を内部特定端末へフォワードしたり (「DMZ」) や TCP/UDP ポート毎に異なる内部端末へフォワードしたり (「UPnP」) することができます。
Q: 802.11n に対応してる?
802.11n/a/g/b 対応です。
Q: 海外や屋外で使用できますか?
国内の室内利用専用です。

以下は購入後の話です。

Q: 無線接続がうまくいきません。どうしたら良いですか?
WPS 非対応機器を使用する場合だけでなく、対応していてもうまく動作しないときは手動で SSID と鍵を設定してみましょう。
Q: 無線端末上で複数の SSID が表示されるのですが?
SSID を最大3つ使用することができます。デフォルトでは3つとも有効化されており、それぞれ 2.4GHz WPA2/2.4GHz WEP/5GHz WPA2 となっています。
Q: しばらく使っていると接続が切れるのだけれど…。
DHCP サーバがある環境で、切断時に以下のようなログが続けて出力されている場合、HOME SPOT CUBE のアドレス変更によりネットワーク切断が生じている可能性が高いです。

DHCPサーバからIPアドレス取得できました
KDDI暗号設定が失敗しました

この場合、HOME SPOT CUBE のアドレスを固定することで改善される可能性があります。 (こちらの記事 (LovePsychedelic)を参照しました)


FAQ と言いつつ Q が無かったので後から書き足しました。 このエントリは随時追加して行きます。

au の HOME SPOT CUBE を使い始めました

HOME SPOT CUBE を get!

au の Wi-Fi アクセスポイントレンタルサービスである Wi-Fi HOME SPOT を申し込んだので、今回はその辺をまとめます (追記:FAQ も書いてみました)。 以下の2つの条件を満たせば、無料でこのサービスを利用できます。

  • au の「IS フラット」や「プランF (IS) シンプル/プランF (IS)」を契約している。
  • 2012年 5月 31日までに申し込む

貸し出される無線アクセスポイント (HOME SPOT CUBE) は完全に個人用として使用でき、au 以外のインターネット接続サービスと組み合わせて使用しても全く問題ありません。 私も IS フラット利用者なので、「無料だから!」と心を奮い立たせ、待ち時間が多いので普段はあまり行く気のしない au ショップへ向かったのでした。 時間の取れない人は Web ページからも申し込めるのでそちらを利用すると良いでしょう。

ルータ機能を有効にする

このサービスでレンタルされる HOME SPOT CUBE は、ブリッジ型のアクセスポイントとして使うだけでなくルータとしても使用することができます。 これまで我が家は CATV 回線に ヤマハ RTW65b + Baffalo WLAE-AG300N/V2(親機) という組み合わせを利用していました。 RTW65b も無線機能は持っているのですが、10年以上前に発売されたものなので今となっては脆弱な WEP のみしか対応していません。 そこで後からブリッジ型アクセスポイント WLAE-AG300N/V2 を購入したのですが、この 2台を一気に HOME SPOT CUBE で置き換えることができます。

さて、HOME SPOT CUBE の設定ですが、ルータ機能を有効にするには筺体背面のモード切替スイッチを「ROUTER」に設定し、WAN 側インターフェイスの設定を Web 設定画面より適切に行います。 WAN 側インターフェイスの設定は DHCP/PPPoE/固定 IP アドレスの3つに対応しています。 また、WAN 側インターフェイスの MAC アドレスを設定可能で、我が家で利用している CATV 回線の場合 RTW65b からの置き換え時にすんなり通信ができなかったので、RTW65b の MAC アドレスをここに設定することで対処しました。

ただし、通常のルータと比べると設定できない項目も多く、LAN側のネットワークアドレスは 192.168.0.0/24 で固定のようですし (状況によっては 192.168.1.0/24 も使う模様。cf. 取説 p.68)、LAN側で動かす DHCP サーバのプールアドレスもきめ打ちのようです。 少なくともこれらの項目は Web 設定画面上に見つけることができません。

それでも、MTU 設定や各種パススルー機能 (IPv6/IPsec/PPTP/PPPoE)、「DMZ」という名のインバウンド通信フォワード機能等もあるので、家庭で使う分には十分だと思います。 パケットフィルタリングや SPI (ステートフルパケットインスペクション) などのセキュリティ機能も搭載されているので、このあたりはきちんと設定しておきたいところです。

WLAE-AG300N/V2 を子機として使う

余った WLAE-AG300N/V2 ですが、これは Wi-Fi 子機として引き続き使用します。 WPS を利用すれば WLAE-AG300N/V2 側の設定は比較的簡単です。 先に HOME SPOT CUBE の SETTING ボタンをしばらく押して橙点滅にした状態で、WLAE-AG300N/V2 の AOSS ボタンをこれまたしばらく押し WIRELESS ランプ 2回点滅状態にして、しばらくおいておきます。 HOME SPOT CUBE の SETTING ボタンが緑点灯すれば成功です。

WPS が正常完了すれば WLAE-AG300N/V2 は HOME SPOT CUBE の子機として動作しますが、そのままだと WLAE-AG300N/V2 の親機機能も動作したままになってしまうのでこれを止めます。 WLAE-AG300N/V2 のメニュー項目で言うと「無線設定」-「11n/a/g/b」の「無線機能」「使用する」をオフにします。 きちんと止まれば WLAE-AG300N/V2 に設定されていた SSID は無線クライアントから検索できなくなるはずです。

ただし、WPS でうまく行かない時もありました。 1台目の WLAE-AG300N/V2 は成功したのですが、2台目では WPS セットアップは成功 (HOME SPOT CUBE の SETTING ボタンが緑点灯) するものの、WLAE-AG300N/V2 が反応しないような状況になったので、結局「無線設定」-「エアステーション間接続」の SSID とキーを手動設定しました。 また、「親機/子機指定」は「子機」ではなく「子機(EC)」でないとうまく行かないようです。

というわけで躓きもありましたが、HOME SPOT CUBE + WLAE-AG300N/V2(子機) の環境になりました。 10年ものの RTW65b と比べるとスループットも向上しており、満足しています。

iOS版 GarageBand と組み合わせる周辺機器

前回は GarageBand を初心者&作曲用途にお勧めする記事を書いたのですが、続編として目的別に周辺機器は何を買えばよいかまとめてみました。 私は iPad 2 を使用していますが、Camera Connection Kit 以外は iPhone でも使用できます。

エレキギター演奏や歌を録音したい

エレキギターの演奏や外部マイクで歌等を録音をするにはエレキギター/マイク用インターフェイスが必要ですが、これには2つのタイプがあります。

1. ヘッドホンジャックに接続するもの

iPad/iPhone のヘッドホンジャックは出力と入力の両方に使うことができる構造になっています。 1つめはここに接続してオーディオ入力に用いるタイプです。 比較的安価なので手軽に購入することができますが、クロストーク (ギター/マイクの音に再生音も混じってしまう) が発生することもあったりで音質的には 2. のタイプよりも劣ります。

このタイプには iRigiXZAmpKit LiNK 等があります。

2. Dockコネクタに接続するもの

2つめのタイプは、自身が A/D コンバータを持ち Dock コネクタに接続するタイプのものです。 こちらの方が音質は良いのですが構造上高価になってしまいます。 また、バッテリー駆動とならざるを得ず、バッテリーの残量を気にする必要があります。 アプリとの相性もあるようです。

このタイプには Mobile InApogee JAM 等があります。

で、私は何を使っているかと言うと iXZ を購入しました。 所詮、整備済製品の iPad 2 で使うのだからと割り切り、音質よりも価格を取りました。 また、ギターピックアップとマイクでは出力インピーダンスが異なるので、マイク使用を考えているならば製品がマイク対応を明確にうたっている方が安心なのですが、この点 iXZ は問題なしです。 iXZ をマイクに接続する場合、XLR 端子を使用することになりますが、既にケーブルを持っていたので躊躇することはありませんでした。

実際のところ、iXZ を使ってみるとクロストークは気にならず、十分な音質です。 最初は iXZ のプラグがきちんとヘッドホンジャックの奥まで挿し込まれておらず、内蔵マイクの音も拾ってしまう状態で「アレ?」と思ったのですが、きちんと挿せば内蔵マイクは無効化され、パッシブタイプのピックアップでも十分な音量となります。 きちんと挿入されれば入力設定画面で「入力レベル」スライダーが表示されるようになりますので、それとわかります。 (使用バージョンは GarageBand for iOS 1.2)
Input

Web 検索を実行すると 1. タイプのインターフェイスの音質への不満が多く見つかりますが、きちんとプラグを挿していないからではないかと思えてしまうぐらいの音質です。 それと、着信などで録音が中断されるのが困るというコメントもどこかで見かけましたが、録音時は機内モードを ON にすればいいわけで…。

物理的な鍵盤 (MIDI キーボード) を弾きたい

続いて鍵盤系の話に行きましょう。 GarageBand では Keyboard の他にも Drums/Smart Bass/Smart Guitar/Smart Strings と一通りの音色を外部鍵盤で鳴らすことができます。

まず、iPad とミニ鍵盤を組み合わせるのであれば Camera Connection Kit + Keystation Mini 32 をお勧めします。 Keystation Mini 32 とよく比較される KORG microKEY は iPad で使おうとすると電源供給可能な USB ハブと組み合わせなければならない (新製品の 25鍵モデルを除く) ので、手軽に接続して使うというわけにいきません。

既にシンセ等を持っている場合は ヤマハ i-MX1 を使いましょう。 シンセの MIDI 端子に iPad/iPhone を接続して使うことができます (Camera Connection Kit 不要)。

ヘッドフォンも重要

それと初心者の場合はヘッドフォンも新しく用意する場合が多いと思います。 とりあえず買うのであれば 5千円ぐらいまでのカナルタイプ (例えば MDR-EX300SL ) が手ごろですが、きちんとしたモニター用ヘッドホンを 1つ持っていても損はないと思います。 オーディオインターフェイスよりもこちらの方が重要です。

自分は何を使っているかというと iXZ、i-MX1、Keystation Mini 32 が手元にある状況です。 鍵盤物はこのところ PC + Keystation Mini 32 という組み合わせを使うことが多かったのですが、今後は iPad + シンセという大きい鍵盤で弾くスタイルもありなのかなと思っています。 気軽に使えるのが iPad の良さだと思うので周辺機器が重くならないようにしたいものです。

GarageBand on iPad がすごい!

いや本当に 450円のアプリケーションとは思えないです。 DAW を始めてみたいという初心者にお勧めできるし、作曲用ツールとしても良いと思います。

もちろんいつも使っている Cubase と比べてしまうと出来ないことは多い (というか比較してはいけない) のですが、その分シンプルで気楽に使えます。 この 3月のアップデート (iOS用 バージョン 1.2) でピアノロール画面での編集やバウンス録音もできるようになっています。
GarageBand

以下、自分が使ってみて気になった点です。

  • クオンタイズは録音時に指定。後からかけることはできない。
  • Apple Loops の種類は豊富で、テンポの変化に対応しグローバルなキー設定でトランスポーズされるけど、小節ごとにキーを変えることはできない。
  • MIDI ファイルでエクスポートすることができない。
  • ベースアンプシミュレーターがない。

コンピュータ用 DAW ソフトとの連携という点では、iTunes ライブラリに GarageBand 形式として書き出せば Mac の GarageBand や Logic でデータを開くことができます。 他の DAW ソフトで使うにはオーディオファイルとして書き出したものを読み込むしかないです。

これらの制限があっても作曲用として使うには十分ではないでしょうか。 私の場合、どうしても通常の DAW ソフト (Cubase) だと気軽に起動して使う、という感じにはなりません。 iPad Camera Connection Kit を購入して Keystation Mini 32 (私も使ってます) 等のミニ鍵盤やオーディオインターフェイスを使ったり、iRig 等でギターを録音するような使い方もできますが、コンピュータの前に座るよりもずっと気楽に作業に向かえるように思えます。 気軽に演奏を録音して曲にするという使い方には PC より向いているように思えるのです。

また、初心者用としてもお勧めできます。 最初からフルスペックの DAW 環境を揃えるにはお金もかかり勇気が必要ですが、iPad + GarageBand であればちょっと試してみたいという人にピッタリです。 それで本格的にやってみたくなったら、そこからお金をかけて環境を作って行けばよいと思います。 順当に行くと Logic 使いになるのでしょう。

他にはドローバーつきのオルガン (レズリースピーカーが回ってます!) とかギターアンプシミュレーターとかも楽しいので、iPad 使いで音楽制作関係のソフトを探しているということならば、まず入れてみる価値のあるソフトだと思います。 こういうのが 450円で売っているんだからスマホ向け開発は儲からないんだろうなあ…。

録音に用いる小物についてはこちらの記事にまとめました。

iPad 用外付けキーボードを買ったらショートカットを覚えよう

まず、Emacs系のショートカットキーが使えます。 ここまで対応しているならば Ctrl+N/P も対応して欲しかったですが。

Ctrl+A	カーソルを行頭へ移動
Ctrl+E	カーソルを行末へ移動
Ctrl+F	カーソルを1つ右へ
Ctrl+B	カーソルを1つ左へ
Ctrl+K	カーソルから行末まで削除
Ctrl+H	カーソルの1つ右を削除
Ctrl+I	タブ
Ctrl+M/Ctrl+J	改行

外付けキーボードを買えばテキスト選択はかなり楽になります。

Shift を押しながらカーソル移動で選択

続いて編集操作関連。 Windows ならば Ctrl なのですが、iOS だと Command キーなのですね。

Cmd+A	全て選択
Cmd+C	コピー
Cmd+X	カット
Cmd+V	ペースト
Cmd+Z	Undo
Cmd+Shift+Z	Redo

ここまで覚えれば便利に使えると思います。 更に以下カーソルキー (矢印キー) と Delete キー関連。

Cmd+UP  	ファイルの先頭へ
Cmd+Down	ファイルの終わりへ
Cmd+Left	カーソルを行頭へ移動
Cmd+Right	カーソルを行末へ移動
Option+Left	1単語左へ
Option+Right	1単語右へ
Option+Delete	1単語削除
Cmd+Delete	カーソルから行頭までを削除

なお、私は Logicool の TK700 を使用しています。 このキーボードだと地球キーがあるのでこれを使ってローマ字入力と直接入力を切り替えることが可能です。 標準機能の Cmd+Space よりも楽です。

iPad2 と一緒に持ち歩くことを考えているのであればケースにもなるので TK700 はお勧めの製品です。 ちょっときつめなので最初は戸惑いますが、きちんと嵌めれば逆さまにしても落ちることはありません。

Windows 7 のキーボード設定

今回は Windows 7 のキーボード関連設定についてまとめます。 動作は Windows 7 で確認していますが、Vista でも同じ操作が可能だと思います。

101キーボードを使う

年末に新しい PC (Windows 7) を導入したのですが、購入してしばらくは Happy Hacking Keyboard をつないで使っていました。 Windows には「キーボードと言語」という設定があるので、最初はこのあたりの設定を変更すればなんとかなると考えていたのですが、日本語は 106キーボードのみしか想定していないようで設定できません。 101キーボードを使用するにはレジストリを直接変更しなければならないのです。

Microsoft のサポート情報に詳しく説明されていますが、以下は 101 キーボード用のエントリです。 このままコピーしてレジストリファイルとして使用することができます。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt\Parameters]
"LayerDriver JPN"="kbd101.dll"
"OverrideKeyboardIdentifier"="PCAT_101KEY"
"OverrideKeyboardType"=dword:00000007
"OverrideKeyboardSubtype"=dword:00000000

101 キーボードでは Alt+~ で日本語の ON/OFF をすることになります。

106キーボードに戻す場合の設定は以下の通りです。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt\Parameters]
"LayerDriver JPN"="kbd106.dll"
"OverrideKeyboardIdentifier"="PCAT_106KEY"
"OverrideKeyboardType"=dword:00000007
"OverrideKeyboardSubtype"=dword:00000002

Ctrl と Caps Lock の入れ替え

今は Happy Hacking Keyboard から 106キーボードに戻したのですが、私は Ctrl の位置が「A」の左横に来てほしいので左 Ctrl と Caps Lock キーを入れ替えています。 Windows 2000 の頃からお世話になっている remapkey.exe を使います。 昔 (大昔!) は単体で配布されていたのですが、Windows のリソースキットに収録されてからはリソースキットの一部として配布されるだけになっています。 今は 2003 サーバーリソースキットに収められています。

remapkey.exe は Windows 7 の 64ビット版でも問題なく動作しましたが、起動時はコンテキストメニューから「管理者として実行」する必要があります。

Cubase ドラム譜の作成

今回は Cubase 6 のスコア機能シリーズ3回目ということでドラム譜作成 Tips についてまとめてみます。

ドラムマップの使用

ドラム譜作成にはドラムマップが必須なので、まずこれを設定します。
Drum Map

ドラムマップ設定項目の「音符を表示」、「符頭の形状」、「ボイス」がスコアに関連してきます。 「音符を表示」と「符頭の形状」で五線のどの位置のどのような音符を表示するか設定します。 「ボイス」は多声部化機能の声部の設定になります。 多声部化機能の詳細はスコア入門記事で紹介したヤマハドキュメントの Chapter 3 や製品マニュアルを参照して欲しいのですが、複数のパートを含む楽譜を正しく表示するのに必要な機能です。

下の譜例の 2小節目では多声部化機能を使用して、4分音符を声部 1、全音符を声部 2 に設定しています。
Polyphonic Voicing

GM Map のボイス欄を見るとスネアやタム類がバスドラと同じ声部に設定されていますが、これをハイハット等の金物類と同じ声部である「1」に設定し直します。 簡単に言うとバスドラは 2、それ以外は全部 1に設定するのです。

元の GM Map をそのまま修正しても他のプロジェクトに影響しませんが、気になるのであれば「新規コピー」して使うと良いでしょう。
Copy Drum Map

世の中にはピアノロール画面でドラムパートを入力している人もいると思いますが、ドラムマップを設定したからといってピアノロール画面 (キーエディター) が使えなくなるわけではありませんので、安心してください。 そんな人は「ファイル」-「環境設定」の「イベントの表示」-「MIDI」で「ドラムマップ適用時はドラムエディターで編集」をオフにしておくと良いでしょう。

データ入力時の注意点

音符表示を正しく行うには表示用クオンタイズを細かく変えて調整していく方法もありますが、エディターを使ってこれから演奏データを入力するのであれば、ひと手間かけて音符の長さを変更しながら入力するのが良いと思います。 ドラムエディターを使う場合、音符の長さの設定がデフォルトの「ドラムマップとリンク」だとドラムマップに設定されているクオンタイズ値 (GM Map では 1/16) と同じ長さになってしまいます。 これを都度変えながら入力するのです。
Note Length

下の譜例の 2小節目では、1拍めのバスドラは 1/4、それ以外は全て 1/8 の音符長で入力しています。
Note Length for Score

既にデータ入力済みの場合は「MIDI イベントの長さをクオンタイズ」を使ってデータ修正を行うという手もあります。

ドラム譜の設定

データを用意できたらスコアエディタを起動し、スコアの設定を行います。 「スコア」-「設定」で「譜表」を選び、以下を行います

  • 「オプション」の「スコアドラムマップを使用」がチェックされているのを確認する
  • 同じく「オプション」の「符尾を固定」を「アクティブ」にする
    Options
  • 「ポリフォニック」で譜表モードを「ポリフォニック」とし、声部 1、2のみオンとする (休符の設定はうまく行かないときに見直すということで)
    Polyphonic

なお、ドラム譜はへ音記号を使って書かれているものを見ることが多いですが、Cubase では Neutral Clef が使用されます。 Neutral Clef を使う方がグローバル標準なのでしょう。 これをへ音記号に簡単に変える方法は見つけられなかったので、この表示に慣れてしまいましょう。 (ドラム譜では移調表示機能が使えないようで、ト音記号は良いのですが、へ音記号を選ぶと音符が上の方に行ってしまうのです…)

連桁の表示

4拍子で 8ビートの譜面を作ることを想定します。 この場合、ハイハットは 4+4 の連桁にしたいところです。 これを行うには、「編集」-「選択」-「すべて」または Ctrl-A で全ての音符を選択し、音符のコンテキストメニューで「グループ化/グループ解除」-「自動グループ化」とします。 するとハイハットが 4+4 の連桁となります。 (「自動グループ化」なので自動でやって欲しい気もしますが)
Grouping

ちなみに拍子記号の設定で (2+1+1)/4、「グループ化のみ」とすると、8分音符で 4+2+2 という3つのグループにできます。 使うことがあるかはわかりませんが。

また、グループ化はフィルター設定で可視化することができます。 可視化して表示される「グループ化」の文字を削除することでグループ化を解除できます。

スコアエディタ上での音符入力

ドラムマップの「音符を表示」欄の設定で複数の種類のスネアに C4 を割り当てた場合、スコア上で音符を新規追加するとドラムマップのリスト内で一番「ピッチ」が低いスネアサウンドが使用されます。 ですので、GM Map を使うと C#1「Side Stick」が入力されてしまうのですが、これが嫌ならばマップを作りかえるしかなさそうです。

なお、Ctrl を押しながら音符入力することで次に「ピッチ」が低いサウンドを入力することができるので、このテクニックを使えば D1「Acoustic Snare」を入力することができます。 同様にバスドラも B0 と C1 のサウンドを切り替えて入力できます。 ちなみにドラムマップ内のリスト表示順序は設定画面でドラッグ&ドロップして変えることができます。

というわけで、Cubase のドラム譜作成についてまとめてみました。 他の楽譜と同様に、音符表示や多声部化 (polyphonic voicing) 機能への理解が必要ですが、そこがわかってしまえばさほど難しくありません。 ドラムに関してはスコア化前提であれば演奏データ 入力時から気を付けておきたいところです。

Cubaseで演奏 (MIDI) データからスコアを作る

今回は Cubase 6 で演奏データからスコアを作る手順について詳しく書いてみます。 我が家ではレコーディングした演奏から譜面に起こす場合の他、ヤマハ音楽教室に通う息子用として XG 変換したエレクトーンソングデータからパート譜を作ることもあります。 今回は一段のパート譜の作成を想定していますが、二段譜を作る時はマニュアルの「多声部化機能」(ポリフォニック) の箇所を読んでおくと良いと思います。

スコア機能の基本についてはこちらの記事を参照ください。 表示拡大率設定/ページモード/レイアウトの扱い、あたりは前提知識ということで。

スコア用データの準備

まずは楽譜作成対象のトラックをコピーすることから始めます。 譜面起こしという目的では必要に応じてデータを修正しながらスコアを作る方がやりやすいので、演奏用トラックとは別にスコア表示用トラックを用意します。 この段階でクオンタイズもかけておきます。

スコア機能に慣れてくれば、データ修正を最小限に抑えて一つのトラックを演奏にも楽譜表示にも使うことは可能になると思いますが、最初のうちはスコア表示のみを考えて作業するのが良いと思います。

音符の表示の調整

さて、スコア表示用トラックの用意が出来たらこのトラックのみを選択して、スコアエディタを起動します。 で、大抵の場合は以下のような譜面が小さく表示されるので、これを見て「スコア機能は使えなさそうだ」と使うのをそこで止めてしまった人も多いのではないでしょうか? とりあえず画面表示について言うと 200% 表示ぐらいが作業しやすいです。
Display Quantize 1

で、続いて音符の表示なのですが「表示用クオンタイズ」を設定します。 全体の設定は「スコア」-「設定」で「譜表」-「構成」を選んで設定します。 デフォルトではこれが 1/16 (「16」) になっているので、これを 1/8 (「8」) にします。 また、「シンコペーション」も「全体」にしておきます。
Display Quantize Dialog

設定をすると以下のような表示となります。
Display Quantize 2

ちなみに「シンコペーション」が「オフ」だと以下のような譜面になります。 こちらの方が好みであればそれも良いでしょう。
Display Quantize 3

先の設定は全体での設定ですが、表示用クオンタイズは曲の途中で細かく変えることになると思います。 例えばこのあと 4分音符が続いたり白玉が続いたりしていると、その部分は 1/8 ではうまく表示されない可能性が高いからです。 あるいは 16分音符が出てくることもあるでしょう。

途中で表示用クオンタイズを変えるには表示用クオンタイズツールを使って変更イベントを挿入します。 「Q」ボタンを押してカーソルを Q 表示にしてから、変更箇所をクリックします。 全体設定と同じにしたいときは「譜表の設定に戻す」を押します。
Display Quantize 4

挿入した表示クオンタイズ変更イベントはフィルターの設定を変えることで表示することができます。
Display Filter

表示用クオンタイズを調整してもうまく表示できない場合は音符の長さを変更する必要があるかも知れません。 再生用トラックとは分けているので、気兼ねなくエディットしちゃいましょう。 音符を選択してから長さの表示をダブルクリックして値を修正します。 デフォルト状態では、長さ表示は「小節.拍.16分音符.ティック」で 120ティック=16分音符です。 (16分音符が 4つで 1拍っていうのはいいですよね?)
Note Length

それと音符を選択して Ctrl (Command) + 音符長さアイコンで長さを変えることもできます。 まあ、演奏が怪しかったりする箇所は一度消して書き直すのが早いと思います。 そのあたりは柔軟に考えましょう。

調号関連

E♭が D# と表示されてしまっている場合は、その音符を選択後「異名同音変換」の「♭」を押します。 これで表示が E♭に変わります。
Enharmmonic Shift

途中で転調する場合は「調号」を挿入します。 これを最初に見た時は一瞬コード名かと思ってしまいましたが、例えば「D maj」を選べば # が二つ付きます。
Key

小節や段のレイアウト

一段の譜面にしたいのにベースパートと分割された二段譜で表示されてしまったときは、「スコア」-「設定」から「譜表」-「ポリフォニック」で「単独」譜表モードとします。

段の切れ目はのりツールと分割 (はさみ) ツールを使って変えることができます。 分割したい小節線ではさみツールを使うとそこから新しい段になります。 またその段の最後の小節線でのりツールを使うと次の段とくっつきます。

のりツールやはさみツールで編集すると各段毎に小節線の位置がバラバラになってしまいますが、そんな時は Alt (Option) キーを押しながら小節線をドラッグすると位置を揃えることができます。

改ページ位置を変えたい時は選択された段の左に表示される青い四角上でコンテキストメニュー (左クリック) を表示し、「次のページに移動」や「前のページに移動」を選びます。 「前のページに移動」は一番上の段でないと使えません。
Blue Rectangle

Alt + 青四角ドラッグで段間の間隔調整もできたりします。 まあ、細かいことを書き始めるときりがないのですが、この程度を覚えておけば演奏データを最低限の楽譜にできると思います。 ここまで出来ればマニュアルを読むのも苦にならないでしょう。 私はまだやったことがないですが、「MIDI データの抽出」機能でオーディオデータから MIDI データを取り出すこともできるので、極めれば鼻歌を素早くスコアにすることも出来るようになるかも知れませんね。

WordPress のカスタマイズを始める前に知っておくべきこと

はじめに

WordPress のカスタマイズを考えている方向けに以下の項目をまとめてみました。

  • 自分自身が WordPress でカスタマイズを始めた頃に、知っていたら作業が捗っただろうと思われること
  • WordPress サイト構築作業関連での私の個人的なお勧め

WordPress を導入しようと考えているぐらいなので、IT系のスキルがそれなりにある読者を前提としています。 また、ブログ用途として使おうと考えている方向けです。

CSS 中心のカスタマイズがお勧め

世の中には自作テーマに関するブログ記事が溢れていますが、まずは標準テーマの Twenty Ten や Twenty Eleven をベースに CSS で外観を変更するのがお勧めです。 ご存知のように Web ページの論理的構造は HTML、視覚的な構造は CSS という役割分担になっていますが、ブログの論理構造なんてたかが知れているわけで、特殊用途でない限り標準テーマをベースにすれば十分です。 もちろん、余裕があって興味のある人は一からテンプレートを作れば良いと思うのですが、その時も標準テーマの構成を理解しておくことが役に立つはずです。

一からのテーマ作成をお勧めしない理由はもう一つあります。 WordPress を使ったサイト構築に不可欠な各種プラグインは簡単に言ってしまえば、フック/コールバック関数の固まりなのですが、呼ぶべき関数を適切な場所で呼んでいないテンプレートではプラグインが動作しなくなってしまいます。 こんなマナーを覚えてフルスクラッチでテンプレートファイルをつくるよりは標準テーマの style.css の修正を集中してやった方が効率はずっと良いです。

CSS をいじろうとすると、どんな id、class が使われてマークアップされているかが重要ですね。 Twenty Ten でどうなっているかを別記事にまとめます (→ 追記: グズグズしていたら Twenty Twelve の時代になってしまったので企画倒れとなりました…)。 Twenty Eleven をベースとしたい場合は自分で調べてみてください。

ブログの外観は大事だと思うので、CSS のカスタマイズは気が済むまでやりましょう。 私の場合、スキルと時間が足りてないので、このあたりで妥協してしまっていますが…。

ちょっと断り書き

以下、公式情報へのリンクを記載していますが、残念ながら日本語化された公式情報は英語のものよりも古いことが多い (ひどい時は日本語版が存在しない) ので、英語版の方をリンクしておきます。 必要ならば、ページに表示されている「日本語」を辿って日本語版の方も確認してみてください。

テンプレート階層

それでも CSS で全て解決するわけではないので、テンプレートファイル (*.php) に手を入れる必要は出てきます。 広告入れたり、アクセス解析入れたり、みたいな時ですね。

で、この時にどこを直したら良いかを知るにはテンプレート階層とモジュール構成を理解しなければなりません。 表示されるページの種類によって使用されるテンプレートファイルが異なるのですが、このテンプレートファイルの選択は階層的に行われ、最低 index.php があればページの表示はできるという構造になっています。 まずすべきなのは公式情報を読み、この図の意味を理解することです。

Twenty Ten も Twenty Eleven もシングルポストなら single.php、固定ページなら page.php が使用されます。 ここで、例えば page.php ファイルを削除してしまうと、固定ページの表示には index.php が呼ばれることになります。 また、特定の固定ページのみ異なるテンプレートを使用したいのであれば、page-$slug.php か page-$id.php ($slug はスラッグ、$id はページ ID) を新たに作成すれば良いことがわかります。

モジュール化

しかし、標準テーマのディレクトリには、先の階層図には記載されていない名前のファイルが存在します。 これがどのように使用されるかを把握するには、テンプレートファイルのモジュール化についての理解が必要です。 テンプレートファイルはモジュール化されていて、例えば single.php でも page.php でもヘッダー表示には get_header() が呼ばれ header.php が使用されます。 (ここでいう「ヘッダー」は HTML の <head> + <body> の最初、すなわちページ上部までを指します)

なので、ページ上部に広告を表示したければ、header.php を編集するだけで、サイト全体に表示されるようになります。 このように get_* として使えるのは header/footer/sidebar があります。

ただし、標準テンプレートの構成を理解するには header/footer/sidebar だけでは不十分で更に get_template_part() を使った呼び出しを理解する必要があります。 例えば、Twenty Ten の loop-single.php は single.php 内のループ処理中で以下のように呼び出されています。

get_template_part( 'loop', 'single' );

同様に Twenty Eleven の single.php を見てみると、投稿表示部分では以下の形式で投稿のフォーマット (フォーマットについては後述) に従ったマークアップ用テンプレートファイルを呼び出しています。

get_template_part( 'content', get_post_format() );

このあたりの構造を理解してテーマディレクトリ内の各ファイルがどんな時に使用されるかを把握できれば、自ずと編集対象のファイルはわかるようになります。 他のファイルをインクルードする方法の詳細は公式サイトのこのページで解説されています。

メニューをカスタマイズしよう

メニューについても様々なプラグインを使いたくなってしまう人が多い様ですが、標準テーマそのままでもメニューを階層化してドロップダウンメニューを使用することができます。 メニュー設定を行っていない状態だと固定ページ一覧が表示されてしまうので、「使えない」と思っている人もいるのかも知れませんが、WordPress 管理ページの「外観 (Appearance)」-「メニュー (Menus)」からカスタムメニューを設定すれば簡単に階層化されたメニューを使い始めることができます。

階層化するには設定画面上のインデント配置で表します。 詳しい設定方法は WordPress.com に書かれていますが、操作は簡単です。

この hetarena.com も階層メニューを使用していますが、下図は「まとめ記事」-「DAW」-「Cubase」と3階層となっている例です。 この例の場合「まとめ記事」と「DAW」は「カスタムリンク」で「URL」を「#」に設定し、クリックしても何も起こらないようにしています (注: 記事執筆時の状況)。 あとは CSS で外見を整えれば十分ではないでしょうか。
階層化メニュー

子テーマの使用

あるテーマを元としてカスタマイズする場合、元テーマの子テーマとして作成し、変更を加えたいファイルのみを新テーマとして管理する方法があります。 標準テーマをベースにする場合は、もちろんこの子テーマ機能を使うことをお勧めします。 私も Twenty Ten の子テーマを作成して使っています。

ところで子テーマ作成時に1つ注意点があります。 大抵のファイル (style.css も含む) は親テーマのものが子テーマディレクトリ内に作成されたものに置き換わるのですが、functions.php については子テーマの functions.php がロードされてから親テーマの functions.php もロードされます。 ですので、差分のみを子テーマの functions.php に追加しなければなりません。

ついでに言うと functions.php に同じ名前で関数重複があると、管理画面含めて WordPress サイトの表示が真っ白になってしまいます! こんな時は焦らず functions.php を元に戻してアクセスし直せば復旧します。 ちょっと怖いですね。(はい、怖かったです)

子テーマ作成についても詳しくは公式情報ということで。 公式情報にも記載されていますが、style.css については以下のように親テーマの CSS ファイルを import した後、上書きしたい項目を列挙する形にしておくと、管理はしやすいと思います。

@import url("../twentyten/style.css");

HTML を直書きしたい

多分 Visual なエディタよりも HTML を直接書いて、改行も <BR> タグでコントロールしたい、という人はそれなりにいるんじゃないかと思います。 そんな人は HTML エディタに切り替えて記事を書くと思いますが、これだけでは改行箇所に <BR> が挿入されるのを防ぐことはできません。 functions.php に以下の記述が必要です。

<?php
function mywpautop( $pee ) {
  return wpautop($pee, 0);
}        

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
add_filter   ( 'the_content', 'mywpautop' );    
add_filter   ( 'the_excerpt', 'mywpautop' );    
?>

詳しくは wpautop() の解説をご覧ください。

jQuery ファイルのインクルード

そして、JavaScript をいじりたくなり jQuery をインクルードするようなこともあると思いますが、注意してください。 WordPress のディレクトリには既に jQuery の .js ファイルが含まれていて、これを作法に従って呼び出す必要があります。 何故ならばプラグインが jQuery を使ったりしていてもインクルードするのを 1回にするためです。

.js ファイルをインクルードするには wp_enqueue_script() を呼び出します。 jQuery を使うには functions.php 内に以下を記述します。

wp_enqueue_script( 'jquery' );

WordPress に付属してくる jQuery ではなく、他の jQuery (例えば Google の CDN 版) を使用したいときの例は wp_enqueue_script() の解説ページで紹介されています。 (2013.3.23 追記: 最近内容が変わったようなので、CDN 版を利用したいときはこちらを参照してください)

ちなみに自作スクリプトをテーマファイルフォルダの下に置いて使うには以下のような呼び出し方ができます。 (pathto はテーマファイルが格納されるフォルダ配下のサブフォルダ名)

<script type="text/javascript" 
  src="<?php echo get_stylesheet_directory_uri(); ?>/pathto/yourscript.js"></script>

ちなみに get_template_directory_uri() だと親テーマのディレクトリ名を返してしまうので子テーマ作成の際は注意が必要です。 また、配布できるぐらいのテーマ作成を目指す人は自作スクリプトも wp_enqueue_script で呼び出すクセをつけておいた方が良いでしょう。

コンテンツ (投稿・ページ) の種類を増やしたい

このセクションの話は応用なので、今すぐには必要ないかも知れませんが、覚えておいて損はないと思います。 通常のブログ投稿と告知情報の扱いを分けたいとか、ただのテキスト記事とビデオ関連記事で見せ方を変えたい時などに使用できる機能として「カスタム投稿タイプ」「フォーマット」という2つの機能があります。 本来、この2つはそれぞれ異なる用途向けの機能なので、以下のように覚えておきましょう。

  • カスタム投稿タイプは通常の「投稿 (post)」以外のものをつくりたい時に使う機能です。(名前がミスリーディングですが)
  • フォーマットは「投稿」の種類を設定する機能です。 RSS フィードにそのコンテンツを載せたいのであれば、それはカスタム投稿タイプでなくフォーマット機能を使うべき状況だと思われます。

カスタム投稿タイプであれば、テンプレート階層で single-$posttype.php というファイルが使用されるので、種類に応じた扱いが可能です。 フォーマットであれば、先に紹介した Twenty Eleven の使用例が参考になります。 またフォーマットに関しては post_class() (= 投稿を囲む div に設定されるクラス) で返される CSS class の中にフォーマットを識別するものが含まれるので、新たな .php ファイルを作らずにフォーマット毎に CSS レベルで異なるスタイルを適用するという手もあります。

公式情報 (カスタム投稿タイプフォーマット) の他に、以下のリンクでもわかりやすく使用方法が解説されています。

最後にもう少し

  • WordPress プラグインはスマホアプリと同様、必要なものだけ導入することをお勧めしておきます。
  • SQL がわかる人はここら辺を見てデータベースを活用すると良いと思います。
  • スマホ対応はやっておいた方が良いでしょう。 無料の WPtouch を使う人も多いと思いますが、私はせっかく設定したカスタムメニューを使うために WPtouch Pro を購入してしまいました。
  • ガラケー対応はどうだろう…。 やるならば Ktai Style を使用することになると思いますが、そろそろ割り切っても良い頃のような気もします。

というわけで WordPress についてまとめてみました。 この記事が少しでもお役に立てれば幸いです。

滞在時間0のアクセスの本当のところが知りたい

このブログのように 1話完結でほとんどのトラフィックが検索エンジン経由というサイトは直帰が多いので、Google Analytics で見たとき滞在時間が0のアクセスばかりとなってしまいます。 この0は本当は0じゃない、と思いつつも、「じゃあ、本当のところはどれだけ記事が読まれているの?」というのは気になるところです。 というわけで、直帰の場合もページが開かれている時間が記録されるよう工夫してみました。 具体的には window.onbeforeunload を利用して、ページが閉じられるときに仮想ページにアクセスがあったものとして記録し、滞在時間を計測するのです。 この辺の記事を参考にしました。

以下手順です。

2つめのプロパティを準備する

この方法では仮想ページにアクセスがあったものとして計測するので、実際よりもページビュー数が多くなってしまいます。 そこで通常の計測も引き続き行うこととし、通常のものとは別に新たなプロパティ (トラッキング ID) を作成します。 以前のバージョンの Analytics では「ドメイン」と言っていたように思いますが、最近は「プロパティ」という用語が使用されていますね。 Analytics は「アカウント」-「プロパティ」-「プロファイル」という階層構造になっています。 プロファイルはいわゆるビューなので、複数の計測方法を使い分けるにはプロパティレベルで分けなければなりません。

トラッキングコードの変更

通常のトラッキングコードは、

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1234567-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script');
    ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') 
      + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(ga, s);
  })();

となっていると思いますが、これを以下のように変更します。

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1234567-1']);
  _gaq.push(['_trackPageview']);
  
  _gaq.push(['pageTrackerTime._setAccount', 'UA-1234567-2']);
  _gaq.push(['pageTrackerTime._trackPageview']);
  
  (function() {
    var ga = document.createElement('script');
    ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') 
      + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(ga, s);
  })();
  
  window.onbeforeunload = capturePageExit;
  function capturePageExit()
  {
    _gaq.push(['pageTrackerTime._trackPageview', '/page-exit?page=' 
      + document.location.pathname + document.location.search]);
  }

これで通常の計測方法に加えて、ページを閉じた際に仮想ページにアクセスしたものとして集計されたデータが収集されいます。

実際に計測してみて

自分の管理するブログでの例ですが、同じ期間で通常の計測では平均 2分弱の滞在時間だったものが、仮想ページアクセスを使った集計 (‘/page-exit*’ は除外) では 11分超の平均滞在時間が計測されました。 本当に記事を読まれているかはわからないので、この 11分超というのもあくまで目安でしかないのですが、思ったよりは読まれているのだと安心しました。

あくまで目安でしかないのですが、滞在時間が0なのが気になって仕方のない人はは試してみてもよいと思います。 ただ、ずっとやる必要はなくて、1カ月程度計測すれば十分でしょう。