ハムの記憶

 ハム将棋のドメインが消えた。
 ハム将棋のことを知ったのは、確か、将棋連盟の『ご主人様、王手です』を見たときだったような記憶があるが、定かではない。その頃の私はまだハム将棋にまるで歯が立たなかった。ハム将棋に勝つために棋書を買ったりプロの将棋を観戦したりして、ハムと互角くらいになった。私は人間と指さずにひたすらハムと指していたのだった。
 その後、江東区にあった将棋センターで将棋を指したり、ねこまどの将棋カフェで将棋を指したり、江古田のお好み焼き屋で将棋を指したりした。対人戦も勝ったり負けたりであったが、ハム将棋に鍛えられたおかげか、それほどひどい負け方はしなかった気がする。対人戦で何勝かできたのは、ハムのおかげである。
 そんなかたわら、書店でふと見かけた『Java将棋のアルゴリズム』(https://www.amazon.co.jp/dp/477751241X)がきっかけでソフトを作ってみたりもしたが、私のソフトは強くなかった。むしろ、この本で学んだことは、「それなりの大きさのプログラムの書き方」であった。分かりやすいところから少しずつコードを書いていって、少しずつ規模を大きくしていく、というプログラミングの基礎である。
 そうこうしているうちにとあるきっかけがあり、私も初心者に負けるソフトが書きたいなと思った。ハム将棋の下位バージョンである。FlashJava AppletとJavaScriptで悩んだ挙句、一番長生きする気がしたJavaScriptを採用した。そして『こまお』(こまお)を作って公開した。
 こまおを作って最も嬉しかった瞬間は、ハム将棋からリンクが張られていたのを発見したときである。高嶺の花のアイドルからバレンタインデイにチョコレートをもらった気分であった。私は数式や学術的な何かで褒められることはあったが、プログラミングには苦手意識があった。こんなスクリプトでリンクをもらってしまっていいのかなあとか思った。でも、ハムがくれたリンクはいつまでも消えなかった。ああ、こまおでもいいんだなあと思った。ハムは心のよりどころであった。
 そんなハムが消えた。
 今、囲碁マンガの『ヒカルの碁』の藤原佐為が消えた瞬間のヒカルの気持である。私にとっての将棋は、ハムが50%くらいを占めていたんだなあと。

MATLABで行列

 MATLABといえば行列計算である。単なる二次元配列ではなく、MATLABにおいて変数といえば基本的に行列である。
 行列の生成はこんな感じである。

a = [0, -1; 1, 2]
b = [1, 2; 3, 5]

 これで以下のような行列が生成される。

a =
     0    -1
     1     2
b =
     1     2
     3     5

 足し算はこんな感じである。

a + b
ans =
     1     1
     4     7

 かけ算は、高校で習ったあの行列の積となる。

a * b
ans =
    -3    -5
     7    12

 要素ごとのかけ算もできる。

a .* b
ans =
     0    -2
     3    10

 逆行列はこうなる。

inv(b)
ans =
   -5.0000    2.0000
    3.0000   -1.0000

 aとbの積に、さらにbの逆行列をかけると、

a * b * inv(b)
ans =
   -0.0000   -1.0000
    1.0000    2.0000

aに戻る。

MATLABで音声読み込み

 MATLABで ".wav" の音響ファイルを読み込むにはこうする。

s = audioread('test.wav');

 "test.wav" の中身が変数 "s" に代入される。MATLABの変数は基本的に行列なので、 "s" には(信号の長さ)×(チャネル数)の行列の形式で振幅データが入る。
 波形をプロットする場合には、

s = audioread('test.wav');
plot(s)

とすればいい。
f:id:tihara:20200117181002p:plain
のような図が表示される(モノラル音声でない場合には多少事情が変わるが)。
 また、この図は少しマウスを操作するだけで下の図のように簡単に拡大できる。
f:id:tihara:20200117181038p:plain
 MATLAB、便利である。

曲紹介の『で』。

 先日、『MATLABでハローワールド』(MATLABでハローワールド - 日々のメモ)というエントリを書いたときに疑問に思ったのであるが、なぜラジオの曲紹介には歌手名と曲名の間に『で』が入るのか。
 たとえば、「それでは2曲続けてお聞きください。星野源で『アイデア』、AKB48で『365日の紙飛行機』」などというときの『で』である。
 文法的には「星野源の『アイデア』」のように、『の』が来そうな気もするが、これだとなぜかしっくりこない。やはり、『で』なのである。この『で』はどこから来たのか。
 「それではお聞きください。MATLABで『ハローワールド』」

計算終了

 さきほど、ずっと走らせていたプログラムがやっと計算を終えた。いつから走らせていたかを確認してみたら、10月18日ごろだった。長い道のりであった。
 そしてこれから時間をかけてそのプログラムの計算結果を読み解いていくのである。

 とりあえず、パソコンのファンがうるさい状況から逃れることができる。めでたい。