親指シフト始めました(NICOLA D型配列?)

昨年5月にDVORAK & JISカナ入力を始めたのですが、ようやく最近になって会議のメモが普通に取れるくらいの速度になってきました。ただし、小指を酷使するのと、指が動く範囲が広いことで、なかなか疲れるものがあります。そこで最近、さらに疲れない入力方法はないものかと、以前より気になっていた親指シフトについて調べ始めていました。

ただし僕のキーボードはMacのUS配列だったものを物理的にDVORAKに配置換えしています。英語入力のときはDVORAK、日本語入力のときは親指シフト、しかもUSキーボードで*1、というワガママな配列を使えるようにするにはどうすれば良いのか……。

f:id:amarui:20160106174438j:plain

そんな中で見つけたのは、MacのUSキーボードで親指シフト入力する方法(USO配列)です。現在主流らしいNICOLA配列には、A型・F型・J型という3種類があるようなのですが、そのA型とほぼ一致(完全一致?)した配列です。USO配列のKarabiner用設定が公開されているので、その設定のうち英語部分をDVORAKに書き換えればよい!と思い、XMLファイルの編集作業を開始しました。

で、設定ファイルをよくよく見てみると、英語部分の記述がありません。……なんのことはない、USO配列では英語には手をつけていないのでした。それならKarabinerのプリセットにあるDVORAK化を使えばよいので、以下のような単純な設定になりました*2NICOLA配列の英字部分がDVORAKなので、いわばNICOLA D型配列。

f:id:amarui:20160317211702p:plain

そして、親指シフト学習用に、下のようなレイアウト図を作成しました。これを印刷して画面の端っこに貼り付けて練習しています。

f:id:amarui:20160723072354p:plain

今のところの使い勝手ですが、この記事を途中まで親指シフトで入力していたらミスタイプでブラウザが終了してしまい*3、面倒になってローマ字入力で再度すべて書き直したところです。親指シフトの成果についてはおいおい……。

*1:つまりリターンキー周りの物理的キー配置がJISキーボードとは違うということです。

*2:これまでATOKで設定していたDVORAKとJISカナ入力については、USとローマ字入力に戻しています。

*3:長音(ー)を入力しようとしたらCommand+Qになってしまったのです。Commandキーの挙動を調整した方がいいですね。

Wikipediaのフォントを変えてみた

Wikipediaにログインして、「個人設定」→「表示」→「すべてのウィキに共通のCSSJavaScript:カスタムCSS」→「Edit」で、以下のようなCSSを書きました。最初はPalatinoとOptimaを組み合わせたヘルマン・ツァップのフォントで使っていましたが、すこし幅広のセリフ体が読みやすいと思ったので今はDejaVuを指定しています。あと、英語版を参照することが多いので行末は両端揃え(justify)で。

body {font-family: 'DejaVu Serif', serif;}
p {hyphens: auto; text-align: justify; }
h1, h2, h3, h4, h5, h6, #firstHeading, .mw-headline {font-family: 'DejaVu Sans', sans-serif;}
code, pre {font-family: 'DejaVu Sans Mono', monospace;}

WikipediaType Safetyの項を例に比べてみます。

設定前

f:id:amarui:20160220124808p:plain

設定後

f:id:amarui:20160220124830p:plain

いかがでしょうか。

ヘッドホンを新調

10年以上にわたって使用してきた某社*1のノイズ・キャンセリング・ヘッドホンのイヤーパッドやヘッドバンドがぼろぼろになってきたので、近くの直営店で相談したところ、もう廃盤になってから長いので保守部品もなく修理できないとのことでした。イヤーパッドだけはなんとか部品があるので対応できるけど、ヘッドバンドは交換不可とのこと。

ただ、旧機種をメーカー下取りにして現行機種と交換するのは可能だとか。もちろん差額?に相当する代金は支払う必要がありますが、だいぶお得なお値段でした。(製造原価がかなり低いことが示唆されます)

もともとプレゼントとして頂いたものだったので下取りに出すのは迷いましたが、「ヘッドホンそのもの」ではなく「静かに音楽を聴く環境」をプレゼントされたのだと思って、交換してもらうことにしました。

今日、実物が届いたのですが、ノイズ・キャンセリングの能力はだいぶ向上している印象です。イヤーパッドも新品なので、純粋にノイズ・キャンセリング機能だけの比較ではありませんし、旧機種は下取りに出してしまっているのできちんとした比較もできていませんが。ただ、以前のモデルよりも、流れ続けるのピンクノイズ的な音が耳ざわりではあります。

音作りに関しては、このメーカーの他製品とも通じる「心地よければ何でもよし」な、ある意味での潔さを感じます。このヘッドホンをモニタリングや実験用音素材の確認のような正確な音を聞きたい場面では使いたいと思いませんが、音楽を楽しむ場面では良いのではないでしょうか。僕は長年使っているので慣れの部分が大きいと思いますがー。

*1:「ボーシャ」という発音がメーカー名にだいぶ近いので、あまり隠語になっていませんなぁ。

標準MIDIファイルの情報をCSVに書き出す

標準MIDIファイルで演奏を録音して分析したいという要求があったので、Taktを使ってやってみました。MIDIファイルからノートオン・イベントだけを取り出してCSVファイルに書き出したいとのことなので、以下のようにささっと。Taktマニュアルに書いてあるサンプルにファイル書き出し部分を付けただけですが。

var buf = read("etude1.mid")

var fh = File.open("output.csv", "w")
fh.printf("time, note_number, velociy, duration\n")
foreach(ev, buf) {
  if( ev is NoteOnEvent ) { // print only note-on events
    fh.printf("%d, %d, %d, %d\n", ev.t, ev.n, ev.v, ev.noteOff.t - ev.t)
  }
}
fh.close()

etude1.midというMIDIファイルを読み込んで、出力されたCSVファイルの先頭部分は以下のようになっています。

time, note_number, velociy, duration
0, 36, 90, 3840
0, 48, 90, 3840
120, 48, 71, 120
240, 55, 72, 120
360, 60, 72, 120
480, 64, 94, 120
600, 60, 74, 120
720, 67, 75, 120
     :
     :

それをRで読み込んでsummaryを見てみます。

A <- read.csv("output.csv")
summary(A)

note_numberの平均値は69.12(音高はだいたいA4、443.06 Hz)、中央値は71(音高はB4、493.88 Hz)とのこと。他にも工夫次第でいろいろなことが分かるようになるでしょう。

      time         note_number        velociy          duration   
 Min.   :     0   Min.   : 24.00   Min.   : 71.00   Min.   : 120  
 1st Qu.: 37200   1st Qu.: 59.00   1st Qu.: 76.00   1st Qu.: 120  
 Median : 74880   Median : 71.00   Median : 80.00   Median : 120  
 Mean   : 74613   Mean   : 69.12   Mean   : 83.38   Mean   : 327  
 3rd Qu.:111720   3rd Qu.: 83.00   3rd Qu.: 90.00   3rd Qu.: 120  
 Max.   :149760   Max.   :101.00   Max.   :110.00   Max.   :3840