古巣滞在記2017

day 2

実家にいると無限に意識が低まってしまう。"無限に"は大げさだし、"意識"とは何か、それが"低まる"とはどういうことか。説明しようとすれば、心の内のそれらを一つ一つを丁寧になぞる必要がある。そんなくすぐったい作業をする気分ではない。もうそんなことができる年齢ではないのだ。だが、ツイッターでは、当たり前のように分かりづらい表現をよくやっていて、伝わると思っている。伝わっているはずはないのだが、普段の一人暮らしの自分は、人と会話をする機会がないので、伝わらないことがわからない。このロジックもなかなかに雑なので伝わらないかもしれないが、わかってもらいたい。

感情というものは多種多様であるが、大分類すれば片手で数えられるほどしかない。生存に不可欠な感情以外は生まれる必要もないだろう。しかし生まれるのであって、大切にしたい。この気持ちが、実家では合わない。親にはこのクオリアが存在しないのではないかと思える。僕の目にはそう映る。

親はどうしてああ雑なのだろうか。中国のコウシかなんかが、"親が子に願うのは健康だけです"というような言葉を残していた。それを思うと、まず、僕自身独身子無しだから、そのような感情を知らぬ脳味噌マンなわけで、知ってるマンは、精神構造が大いに変化する可能性がある。すなわち、雑になるのだ。

彼らは、外界からの刺激を脳の栄養とする機構を持たない。だめだ。そこまで拒絶することはないはずだ。

僕には当事者意識というものがない。現実は嫌いだ。これは大きな要因だろう。

以上の文章はつまらない。こんなものは薬にならない。

思い出してみるに、周りに迷惑かけて周りへの申し訳なさがなかなかにあって、まあしかし、こんな気持ちはあれど、謝罪や謝礼がめんどくさいほどには誠意のない感情である。

いつも明るかった友人が、考えられないほどに落ち込んでいて、今までで初めてである。このような人間といても仕方がない。楽しくない。また明日会う約束をしたが、いつもの言葉ワールドを展開してくれなければ、最悪、僕が話題を用意しておもしろおかしく希望のビジョンが芽生えるような話を展開していかねばならなくなる。あくまで楽でなければやる意味はないが、果たして…。

ただでは希望なぞ語ることはできない。明日も明後日も来週もやっていけるという約束された未確定の未来を知っている場合のみである。


day 3

小説を読むのも、活字を読むのも、話を聞くのも、数学をわかろうとするのも、すべては同じ。それらによって、脳内にイメージが浮かんで有機的に絡み合っていくのを見ているのが心地よい。

音楽はまた別の作用。

これを書いている者の父に当たる存在が、休日の昼間から酒を飲み、柱も筋も通っていないいちゃもんをべらべらと強く言い散らしているのが耳から通って胃を荒らしている。

母が話を聞いているようで聞いていないようないい加減さを持っているのは、父の話を真に受けないようにフィルターを発達させたからかもしれない。

父には小さいことによく気づけて優しい性質もあるのだが、それによって、機嫌の悪いときには、細部に至るまで蟻のような小鬼を飛沫感染させる。

存在が酒を飲み鬼を言い散らかすさまは、地球の大部分が灼熱の金属で形成されていることのよう、日常では意識されぬ背景だったが、世の中にはありがたい話をするおっさんもわりといるという意識で占められた脳にとって俄然前景となり、胃をやられることになった。

ここは古巣。空気はしんとしており、車が走る音、飛行機の進む音、草刈り機、遠くで不明の重い金属音がしている。人通りはなく、近所のうっとうしい賑わいもない。閉息感。古いものを壊して新しいものを芽生えさせる風が入ってこない。地球そのままの姿。潮の満ち引きのように、自然の法則によってただここにここが本来として有る。

どうにかなるべきだ。東京は新陳代謝が激しい。人の多様性によって争いの如く歪な螺旋模様が未来へと伸び続ける。論理的思考は道標であり、理想は頂に立つ旗である。人体は天候によっても容易に刻一刻と左右されつづけていく。そのような頭や内臓や骨格が、主体である精神の不確かな土台だ。

わからなくなってきた。改めて考えると、わからない。ただとても単純なことがある。心の支えとは、ただ、胸の中、何かをかわいがる感情でいっぱいにすればその分がそうなのだ。

気が散るということが大切だ。邪魔をされることが大切だ。ただ素直に、無邪気に、バカみたいに、こどもみたいに、めいっぱいのわたあめにまみれていく気持ちを忘れないでもらいたい。


透過色・アルファチャンネル付き PNG の減色・最適化・検証

pngquant で減色

pngquant はコマンドラインツールだ。

pngquant 16 src.png

上記コマンドで、src.png を 16 色に減色してくれる。

自動で最適な 16 色パレットが生成され、フロイド-スタインバーグ・ディザリングが施されるので、元画像との見栄えの変化が小さい画像が新たに作成される。

IrfanView の短所をカバーできる

また、透過色・アルファチャンネルは保持される。これは、現在の IrfanViewPNG 書き出し機能にはない素晴らしい特徴だ。

オプションがいくつかある

オプションは以下のように指定する。

pngquant --nofs 16 src.png

--nofs オプションは、フロイド-スタインバーグ・ディザリングを無効にする。すなわち、ポスタリゼーションを施したような画像となる。

--ext -2.png を指定すると、新たに作成される画像のファイル名を src-2.png にすることができる。

optipng でファイルサイズを小さく最適化

optipng もコマンドラインツールだ。

optipng --strip all src.png

上記コマンドには、--strip all オプションが付いている。これによって、メタデータを削除する。画像の品質には影響せず、PNG 最適化が行える。

TweakPNG で透過色・アルファチャンネルの保持を検証

TweakPNG は GUI ツールだ。

PNG 画像のバイナリは、チャンクという単位のビット列が集まってできている。それぞれのチャンクには名前があり、IHDR や PLTE などと名付けらている。TweakPNG で PNG 画像を開くと、どのようなチャンクがどのような順序で並んでいるかを確認することができる。

チャンクの 1 つに tRNS と名付けられているものがある。これは、透過色・アルファチャンネルの情報が詰まったチャンクであり、このチャンクが含まれている場合、その PNG 画像は部分的に透けているはずだ。(ただし、tRNS が含まれていなくとも透けていることはある)

pngquant による減色によって透過色・アルファチャンネルが本当に失われていないかを検証する手段のひとつとして TweakPNG で tRNS チャンクの有無を確認する、というやり方があるのだ。

静止画+音声=動画(Twitter 投稿可能 MP4)作成方法

画像ファイル+音声ファイルで、静止画音声動画(Twitter に投稿可能な MP4)をつくる方法を記す。

必要なもの

  • 使用するソフト: FFmpeg
  • 画像ファイル: src.png
  • 音声ファイル: src.m4a

方法

src.pngsrc.m4a を同じディレクトリに置き、そこで以下のコマンドを実行する。

ffmpeg -y -loop 1 -i src.png -i src.m4a -shortest -tune stillimage src.mpg
ffmpeg -y -i src.mpg -an src2.mpg
ffmpeg -y -i src2.mpg -i src.m4a -acodec copy out.mp4

上記の通り、3 つのコマンドを上から順に実行していくと、どれかが失敗しない限り、目的の out.mp4 が生成される。

解説

3 つのコマンドを日本語で表現すると、

  1. 画像と音声から mpg を作成し、
  2. その mpg から音声を抜いた新 mpg を作成し、
  3. 新 mpg と音声から mp4 を作成せよ。

となる。

どうして、このような回りくどい方法なのだろうか。1 の段階でいきなり mp4 をつくればいいのではないか。これには理由がある。いきなり mp4 をつくってしまうと、VLC メディアプレイヤーでは一応再生できるものの、シークバーが効かなかったり、Twitter に投稿できなかったりと、不完全な mp4 が出来上がってしまうからだ。FFmpeg やファイルフォーマットの知識には疎い。原因不明である。

さて、以下に、コマンドの内容を一つ一つ解説する。

コマンド 1

ffmpeg -y -loop 1 -i src.png -i src.m4a -shortest -tune stillimage src.mpg

このコマンドにより、src.pngsrc.m4a から src.mpg を作成する。src.mpg は静止画+音声=動画である。

  • -y: 出力ファイル強制上書き(必ずしも必要ではないオプション)
  • -loop: 静止画を動画にする際に必要らしい?
  • -i src.png: 画像を入力
  • -i src.m4a: 音声を入力
  • -shortest: 音声の尺と同じ尺の動画を作成?
  • -tune stillimage: 静止画を動画にする際に必要らしい?
  • src.mpg: 動画を出力

コマンド 2

ffmpeg -y -i src.mpg -an src2.mpg

このコマンドにより、src.mpg から src2.mpg を作成する。src2.mpg は静止画だけの動画であり、音声はない。

  • -an: 音声を無効にする

コマンド 3

ffmpeg -y -i src2.mpg -i src.m4a -acodec copy out.mp4

このコマンドにより、src2.mpgsrc.m4a から out.mp4 を作成する。完成だ。

  • -acodec copy: 音声をエンコードせず、そのまま動画の音声として使用する。(音質が劣化してもいいなら不要なオプション)