2020/01/29

Macintosh M0110A メンテナンス

 久々に使おうとしたら、認識しないキーがある。古いタイプのアルプススイッチは、いちいちハンダごてが無いと修理できないのが面倒。

 使いっぱなしなら問題ないが、ほこりか何かで、スイッチの接触が悪くなってしまうのだろう。バラして組み直せば、大抵は復活する。

 M0110Aは、筐体の厚みが結構あって、タイプ音が響く。使う本人は気持ち良いが、周りに人がいたら迷惑かも。ファンクションキーが無い分、奥行きがコンパクトなので、実はそれほど邪魔にならない。

2020/01/20

IMDb Datasets を調べる、その2

 しばらく、実験していたが、結局、5つのファイルデータを使うことにした。時間はかかるが、プログラムまかせだし、寝ている時にでも動かしておけばいいわけで。まぁ、今時のPCを使っている人なら、そのまま表計算ソフトやDBソフトにインポートできると思われる。
 name.basics.tsv 人名
 title.akas.tsv 日本タイトル
 title.basics.tsv コード、タイトル、年、ジャンル
 title.crew.tsv 監督
 title.episode.tsv
 title.principals.tsv キャスト
 title.ratings.tsv
 title.principals.tsv から、監督情報は取れるはずだが、一部抜けるようなので title.crew.tsv からに変更。日本語タイトルを title.akas.tsv から取得する。

 データベースは、DLLさえあれば、そのまま動くSQLite を使う。難しいことをしないのなら、これで十分。元ファイルを、1行づつ読み込むより、丸ごと読み込んで処理したほうが、当然早い。だが、32bit版の Lazarus では、読み込みエラー。先日導入した動画PC(という名のサーバ)に、64bit版 Lazarus に入れて開発することに。メモリも8GBあるので、このぐらいのサイズのファイルならエラー無しで読み込めた。

 とりあえず作ったデータベースを元に、ファイル名とマッチングさせる。見つかった諸データを、.nfo ファイルに書き出し、Kodi のライブラリに登録させる。サムネイル画像は、某所からデータベースとは別に取得した。

 久々にライブラリ機能使ってみたが、あらすじとか、ファンアートとか不要なので、サムネイル表示で使えるか確認。以下、非ライブラリ環境との違い。


 1)検索できる。リモコンでの文字入力は、僕のリモコンソフトで対応しているので、人名や、タイトルの一部を入力して動画を探せるのは便利かもしれない(めったに使わないとは思うが)。

 2)ファイル名とは別に表示されるタイトルを設定できる。ファイル名自体は、IMDb データとの紐つけのため、オリジナルタイトルに準拠したのを付けているが、例えば、邦題もいっしょに表示できたら、わかり易いと思う。検索するにしても、それを対象に出来る。原題を知ってはいても、綴りとか怪しいし、馴染みはそちらのほうがあるわけで。

 3)ライブラリ無しでは、シンボリックリンクとフォルダを使って分類していたが、これをMovie setsとかいうのに置き換えるだけで、似たような振り分けが可能かも。

 4)もちろん、nfoファイルに書いたデータ(ジャンルや年、人名など)は、自動で分類表示される。


 そういうわけで、IMDb のデータは、作品毎に登録されている俳優数とか少ないから、情報目的には物足りないかもしれないが、HTPC 上の分類ぐらいには使えそうだ。

 一応、言っておくと、Kodi 標準のスクレーパーが、同様というか、それ以上の情報を取得、展開出来る。普通に使う分には、余計な手間も時間もかける必要はない。

2020/01/14

IMDb Datasets を調べる、その1

 Kodi のライブラリ代わりのファイル振り分けソフトが、データ元に使っていた某映画サイトのリニューアルにより使えなくなり、新しい方式を模索中。Kodi 付属のデータ取得は、TMDBからで、仕様に不満がなければ、そのまま使うのが面倒もなく、楽チン。でも、僕のように、どうも気に入らないって人は、独自に振り分けるべく、イバラの道へ。

 そんなで、大手の映画データベースサイトの IMDb が、元データを配布しているのを見つけた。これが使えれば、いちいち、スクレイピングとかしなくても良くなるかも。データは毎日更新しているらしいが、動画管理に使うので、最新情報は不要。時々アップデートすれば問題ないかと。
IMDb 映画データベースサイト
  IMDb Datasets Document  IMDb data files available for download

 ・個人および非営利目的で使用可能
 ・データベースは、UTF-8、タブ区切りのTSVファイルが、gzip圧縮されている
 ・データテーブルは、7種類
 ・日本語は、例のローマ字仕様で使えない
 ・タイトルに日本語が登録されているのもある(中途半端)
 いいかげん日本語対応にしてくれても良さそうなのに。国内の映画サイトも色々あるから、IMDb を使う日本人は、そもそも多くないのかもね。僕が必要なのは、洋画の振り分けに使うデータで、この最大の欠点は、問題なし。邦画の管理に使いたいという人は、ハナから無理です。自前で、ローマ字・漢字変換するのは、可能でも不毛すぎる。


 データの中身に関しては、サイトに説明があるので、そちらを見てもらえばいい。とりあえず、へなちょこPCで、タブ区切りファイルのままじゃ埒があかないので、使えそうな部分のみ SQLite に変換した。洒落たデータベースソフトなら、インポート処理で簡単に出来そうな気もするが、Lazarus で1行づつ読んでは、DBに吐き出させた。

title.basics.tsv + title.principals.tsv
name.basics.tsv
title.akas.tsv
 結論だけ書くと、1枚目+2枚目の画像のデータで、ジャンル、人名での振り分けには、使えそう。3枚目のタイトルの別名のテーブルや、その他のデータは、使い道が無さそうだ。

 やりたいのは、ジャンル、人名での振り分けだけではなく、独自の分類を手軽に設定すること。当然、その部分は、手動での作業になるが、Kodi のライブラリは、そのまま使うにはいいが、細工をするには複雑すぎて難しい。その辺を、シンボリックリンクのフォルダ分けと、Kodi のライブラリ機能の一部を使って実現するソフトを作成したい。

2020/01/03

ESP-NOWを試す


 ESP32を2つ使って直接通信する話。通常のWiFi接続だと、立ち上がってから IP設定するまでのタイムラグがあるので、すばやい送信など不可能。もちろん、立ち上がってしまえば問題は無いが、バッテリ駆動を考えると、スリープ必須なわけで、常時電源供給される環境でも無い限り使いものにならない。

 ESP-NOWは、高機能のESP32を、単機能の2.4GHzの無線モジュールと同じような使い方も出来る、というわけだが、果たして置き換えるメリットがあるのか?

 例えば、2.4GHzのリモコンをESP-NOWで作るなら、送信側の ATmega等のマイコン + WiFiモジュール が、ESP32一つで処理できる。受信側は、同じようにATmega32u4 と組み合わせる必要があるが、次VERのESP32は、USB直の制御出来るようになるとの話もあるので、将来的には、こちらもESP32一つで済むようになるかもしれない。

 現時点で、消費電力の高そうなESP32にわざわざ置き換えるのが正しいのか分からないが、ゴチャゴチャと作成するのが困難だった送信側デバイスが、簡単につくれるようになるだけでも価値はあるかもしれない。

 受信側をつくらず、ESP-NOWを Bluetooth キーボードにして送信しても、やはりタイムラグは大きいので、実用性はない。BLEで?ぎっぱなしでも、異常に電池食わないとかなら使えるが。そもそも、ESP32を使った実用的なBluetoothキーボード、誰か作った人いるのだろうか?Bluetoothデバイスの自作は、まだ敷居が高そうだ。