エーワンサーキット闇耐久レースに出たときのメモ

エーワンサーキットというとこでカートの90分耐久レースをやってきたのでそのメモ

動画はこちら

www.youtube.com

イベントについて

今回は出走3チームだったんだけど、完全にいつものメンバーという感じで、いままでは話をあまりしたことがなかったけど今回は結構「身内感」があっておもしろかった。

36号車について

最初36号車だったんだけど、調子わるかったので、サーキットで一番はやい3号車に変えてもらった。当初はくじ引きでどこかのチームが使えるということだったけど、あまりにも調子が悪そうだったということで譲ってもらったぽい。
ありがとうございました! (走行中のできごとなので詳しくは知らない)

で、これが単にぼくの乗り方が悪かっただけの可能性もあるなと思ってたけど、動画を見てるとやはりストレートエンドで回転数があがったところで落ち込みが発生している。
後半になると30秒台がでるようになったのだけど、最終コーナー前でも落ち込みが発生していて、やはり車の調子が悪かったようだ。

コースについて

速い人が2コーナー(まわりこんだところのインフィールドの入り口のコーナー)ではブレーキがいらないと言ってたらしく、えーそれはないだろうって思ったけど、実際にブレーキなしでいけたっぽい

ヘルメットがいる話

レンタルのヘルメットが頭にあわなくてふらふらしていて、そしてメガネをかけているのでコーナーでメガネがずれまくり、視界が安定しない。
早めにヘルメット買って視界を安定させたい。

動画の作成

動画はSONYのAS300で撮っているのだけど、いままではSONY純正のアプリでGPSデータを合成していた。
これが10分の動画の処理に8時間くらいかかる優れもので、しかもCPUもGPUも負荷がが5%くらいと、意味がわからなかったんで、別のアプリにしてみた。
AviUtlというソフトにVSDというプラグインを入れて、ffdshowMPEGエンコードのAVIファイルを作成したあと、Moo0の動画変換でMP4にしてDavinci Resolveに取り込んで編集という流れ。GPSのLOGファイルは拡張子をnmeaにしておきます。 で、このときDavinci Resolveで編集してたらディスク残量が0になることが頻発して、その対策にハマり、結局キャッシュが巨大になっているということがわかって解決した。
c:/vol0というところに180GBくらいキャッシュができていたし、アプリから全消しはできないのでフォルダごと削除して解決。
ただ、resolve付属のテロップが左から出てくるものばかりなので、次回からはメーターを右に置こうと思う。

AviUtlのお部屋
VSD for GPS - コレジャナイ ソフトウェア
L-SMASH Works r940 release1 / mod1 – RePOPn
ffdshow_rev3631_20101115_clsid.exeをダウンロード - ffdshow - OSDN
Moo0 - Moo0 の人気のソフト達 (Windows XP/Vista/7/8/10)
DaVinci Resolve 16 | Blackmagic Design

asin:B01HAVKSLC:detail

NEUTRINOのデータをCeVIOで作ってAIきりたんを歌わせる

NEUTRINOというフリーで使える歌声シンセサイザがあるのですが、データはmusicxmlで与える必要があります。
NEUTRINO -Neural singing synthesizer-

そのMusicXMLデータを作るのにMuseScoreとかが使えるのですけど、結構めんどくさいんで、有料の歌声シンセサイザCeVIOのエディタを使ってデータを作ると便利です。
この動画で手順を説明しています。
www.youtube.com

CeVIOは30日使える体験版も用意されているので、試してみるといいんじゃないでしょうか。
CeVIO Official Web

CeVIOは9/3までちょっと安く買えます。
CeVIO CS7 シリーズ | 新世代の音声合成ソフトウェア【ベクターPCショップ】

データ作成

ということで、これがCeVIOの画面です。
f:id:nowokay:20200829022721p:plain

とりあえず音を並べてみます。ここで、CeVIOはひとつの音に複数の文字をいれても自動で割り振ってくれるのですが、NEUTRINOでは1音につき1文字にする必要があるので注意が必要です。
f:id:nowokay:20200829073128p:plain

CeVIOでは複数の音に一気に歌詞を設定できます。先頭の音でF8を押すとまとめ入力ダイアログが開くので、歌詞を入力して「OK」します。 f:id:nowokay:20200829073154p:plain

そうすると、各音に文字がそれぞれ割り振られました。 f:id:nowokay:20200829073209p:plain

エクスポート

これでデータができたのでMusicXMLで保存します。メニューから「ファイル > エクスポート > MusicXMLの書き出し」を選択します。
f:id:nowokay:20200829073534p:plain

書き出しダイアログでソング1にチェックをいれておきます。保存フォルダにはNEUTRINOを解凍したフォルダの下のscore\musicxmlを指定します。
f:id:nowokay:20200829083043p:plain

ソング名をファイル名とした拡張子xmlのファイルができているはずです。
f:id:nowokay:20200829083412p:plain

これを適当な名前に変更します。拡張子はmusicxmlにしておく必要があります。ここでは「konna.musicxml」にしています。
f:id:nowokay:20200829083646p:plain

歌声合成

それではNEUTRINOで歌声を作成します。 Run.batファイルを編集します。6行目くらいにBASENAMEの設定があるので、ここに先ほどのファイル名を拡張子なしで書いておきます。

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0

: Project settings
set BASENAME=konna
set NumThreads=3

: musicXML_to_label.exe
set SUFFIX=musicxml

: NEUTRINO.exe
set ModelDir=KIRITAN
set StyleShift=0

: WORLD.exe
(略)

ちなみに、SUFFIXをxmlにしておけば、拡張子xmlのままで歌声合成できます。
あと、ModelDirをYOKOにすると謡子に歌わせることができます。デフォルトではKIRITANになっているので東北きりたんが歌います。

Run.batを編集したらファイルをダブルクリックするかコマンドプロンプトでRunとして実行します。
f:id:nowokay:20200829073858p:plain

outputフォルダに音声ファイルができています。 f:id:nowokay:20200829074120p:plain

weekly news 2020-08-24

JavaのRecordsで値を変更したコピーを作る構文の提案

Java 14からRecordsが搭載されていますが、いまのところ値の一部を変更したコピーを作ることはできません。 メソッドとして実現するのも、Javaでは名前付き引数がないので難しく、ビルダーのようなものを作っても利用が煩雑になりそうです。
ということで新しく構文を導入するという話が持ち上がっています。

Point p;
Point pp = p with { x = 3; }

amber-docs/reconstruction-records-and-classes.md at master · openjdk/amber-docs

Epicの開発者アカウントの全停止が通達される

Epicが30%ボリすぎと訴えてfortniteがBANされるということが起きましたが、開発者アカウントが停止されるようです。
そうするとUnreal Engineも実質Apple環境で使えなくなるので、影響はかなり広いです。
AppleがEpicの開発者アカウント全停止を通達 - PC Watch

Microsoft Flight Simulator 2020発売

CNN.co.jp : 米マイクロソフト、伝説の「フライトシム」の新作発表

地形データは自動生成です。自動生成の雰囲気はこんな感じ
2020年版「Microsoft Flight Simulator」の陰の立役者はオーストリア拠点のスタートアップBlackshark.ai | TechCrunch Japan

自動生成なので、ところどころ変な建物も発生してる模様。
福岡でも建物の中を車が通ったりしていました。
メルボルンに超巨大ビル出現!『Microsoft Flight Simulator』で世界中に不思議スポットの出現報告相次ぐ | Game*Spark - 国内・海外ゲーム情報サイト

無償のFPGA利用環境

ACRiというグループが、東工大にリモートから利用できるFPGA環境を提供しています。

東京工業大学構内には、100枚を超えるFPGAボードや開発用ソフトウェアなどが用意されている。これらのツール群をリモート環境で活用することができる」

ACRi、無償のオンラインFPGA利用環境を開設 - EE Times Japan

スバル車にZILINX FPGA

ステレオカメラからの3D化にFPGAを使っているそうな。
低遅延というのがやはり大事らしい。
スバルの新型「アイサイトX」、心臓部にザイリンクスのFPGAを採用 新型「レヴォーグ」を支えるZynq UltraScale+ MPSoC - Car Watch

ファーウェイへの制裁

アメリカの技術を使った半導体の輸出が禁止されました。
自前でのファウンドリはまだ難しいので、Samsongにお願いするしかないのかな。
ARMもつかいにくくなると、これはRISC Vへの移行が早まるかな。
CNN.co.jp : 米、ファーウェイに追加制裁 半導体の供給を禁止

自動生成ブログがハッカーニュースで1位に

GPT-3生成のブログ、ハッカーニュースで1位に

Gmailで障害

GmailやGoogleドライブのサービス障害が復旧へ - PC Watch

Rustファンデーション設立

Laying the foundation for Rust's future | Rust Blog

「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表 - Publickey

りんなが独立

雑談ができるAIを売りにする感じかな
りんなが国民的AIを目指しMicrosoftから卒業。rinna株式会社を設立 - PC Watch

NetBeansでJavaFX開発をする

NetBeansJavaFXのプログラムを作る方法を解説します。

プロジェクトを作る

まずはプロジェクト作成です。「Java with Maven」カテゴリの「FXML JavaFX Maven Archtype(Gluon)」を選んで「Next」を押します。
f:id:nowokay:20200716005904p:plain

いろいろ入力する項目がでますが、とりあえずそのまま「Finish」を押します。
f:id:nowokay:20200716005929p:plain

そうするとプロジェクトの作成が始まります。初回はいろいろとダウンロードが行われるので時間がかかると思います。

NetBeansじゃなくても、次のMavenコマンドで同じプロジェクトが生成できます。

$ mvn -DarchetypeGroupId=com.raelity.jfx \
  -DarchetypeArtifactId=javafx-archetype-fxml-netbeans \
  -DarchetypeVersion=0.0.4 \
  -DarchetypeRepository=https://repo.maven.apache.org/maven2 \
  -DgroupId=kis \
  -DartifactId=mavenproject18fx \
  -Dversion=1.0-SNAPSHOT \
  -Dpackage=kis.mavenproject18fx \
  -Djavafx-version=13 \
  -Djavafx-maven-plugin-version=0.0.4 \
  -Dadd-debug-configuration=Y \
  -Darchetype.interactive=false \
  --batch-mode \
  org.apache.maven.plugins:maven-archetype-plugin:3.1.2:generate"

ファイル構成

生成されたプロジェクトは、こんな感じのファイル構成になってます。
f:id:nowokay:20200716010611p:plain

App.javaは起動ファイル。
画面がPrimaryとSecondaryが切り替わるというプログラムになっているので、それぞれのコントローラがあります。
あと、Other SourcesのほうにFXMLファイルがあって、ここで画面が定義されています。
あとはプロジェクト構成のPOMファイルがありますね。

module-info.javaはモジュール定義ファイルなのですが、慣れないうちは あとあとハマりがちなので、消しておいたほうがいいです。

実行してみる

プロジェクトを右クリックして、メニューから「Run」を選ぶと実行できます。 f:id:nowokay:20200716010632p:plain

コマンドではjavafx:runで実行できます。

$ mvn javafx:run

実行すると次のような画面が出ます。
f:id:nowokay:20200716010658p:plain

ボタンを押すと次の画面に切り替わります。
f:id:nowokay:20200716010712p:plain

SceanBuilderの導入

それではちょっと画面をいじってみましょう。
画面定義はFXMLファイルに記述されているので、このファイルを書き換えればいいのですが、やはりビジュアルエディタで操作したい。
f:id:nowokay:20200716012443p:plain

JavaFXではScene Builderというツールが用意されているので、このツールをインストールします。
ダウンロードは次のサイトで行えます。
Scene Builder - Gluon f:id:nowokay:20200716011202p:plain

NetBeansの「Tools > Option」で設定を開いて、「Java」の中の「JavaFX」タブでScene Builderをインストールした場所を設定します。
f:id:nowokay:20200716011524p:plain

これでFXMLファイルをダブルクリックするとScene Builderが開くようになるんですが、メニューが文字化けしています。
f:id:nowokay:20200716011734p:plain

ここではメニュー操作は行わないのでそのままにしていてもいいんですが、目障りでもあります。
とりいそぎ、英語設定にしておきます。
Scene Builderをインストールしたフォルダの下のAppフォルダにSceneBuilder.cfgというファイルがあるので、これを編集してJVMオプションの項目に-Duser.language=enを追加します。

[JVMOptions]
--add-opens
javafx.fxml/javafx.fxml=ALL-UNNAMED
-Duser.language=en

ただ、恐らくパーミッションがなくて保存できないので、どこか別のところで保存して上書きコピーするか、Usersに変更のパーミッションを設定します。
f:id:nowokay:20200716011925p:plain

そうすると、メニューが英語で表示されるようになりました。
f:id:nowokay:20200716011613p:plain

日本語で表示したい場合には、検索するといろいろ出てくるのでそこの手順に従うといいと思います。
SceneBuilder 11 の文字化けを直す - Qiita

やってることは同じですが、コマンドからJarファイルを操作して対処するほうが正統っぽいやりかたです。 SceneBuilder 11で日本語が文字化けする事象の修正方法 - タツノオトシゴのブログ

ボタンを置いてみる

Scene Builderが使えるようになったので、ボタンを配置してみましょう。
ControlsからButtonを選んで一番下においてみます。
f:id:nowokay:20200716012531p:plain

保存してFXMLファイルを確認するとButtonが追加されているのがわかります。
f:id:nowokay:20200716012605p:plain

実行するとボタンが表示されていますね。ただ、ここではボタンを押してもなにも起きません。
f:id:nowokay:20200716012630p:plain

ということで、ボタンを押したときの処理として次のようなメソッドをPrimariController.javaに追加します。

    @FXML
    private void buttonAction() {
        System.out.println("Hello");
    }

そうすると、Scene BuilderでOn Actionに設定できるようになります。
f:id:nowokay:20200716012836p:plain

FXMLはこんな感じになります。
f:id:nowokay:20200716012921p:plain

実行すると、ボタンを押したときにHelloとコンソールに表示されるようになりました。
f:id:nowokay:20200716012949p:plain

コンポーネントの操作

最後に、コンポーネントから値を読み取ったり値を設定したり、コンポーネントの操作を行ってみます。

TextFieldとTextAreaを置いてみます。
f:id:nowokay:20200716024503p:plain

TextFieldとButtonを横に並べたいのだけど、全体がVBOXになっているので、ここにHBOXをいれて横にコンポーネントが並べれるようにしています。
f:id:nowokay:20200716024549p:plain

TextFieldとTextAreaを扱うフィールドを追加して、@FXMLアノテーションを付けておきます。

    @FXML
    private TextField textField;
    
    @FXML
    private TextArea textArea;

importなどはこんな感じになります。ctrl+shift+i で補完できます。 f:id:nowokay:20200716024754p:plain

そうするとScene Builderのほうでfx:idに設定できるようになります。対応するものを設定します。
f:id:nowokay:20200716025031p:plain

ボタンを押したときの処理を書き換えます。

    @FXML
    private void buttonAction() {
        textArea.appendText(textField.getText() + "\n");
    }

実行すると、テキストフィールドになにか入力してボタンを押すとテキストエリアに表示されるようになりました。
f:id:nowokay:20200716025917p:plain

ということで、あとはいろいろコントロールを追加したり処理を追加したりしてアプリケーションを作っていくことになりますね。

せんたっきを買った

せんたっき、壊れてしばらくたっていた。

けど、せんたっきの通り道に棚を置いてたりして、せんたっき様の通り道がなかったので、片付けるまで買えないってことになっていた。

なので、しばらくコインランドリー通いだったんだけど、2時間かかるし、それで洗濯の間隔があいて旅行前に服がないとか、やっぱかなり不便だった。

で、主に邪魔になっていた本の山がちくちくと裁断スキャンして片付いたのと、このたびおうち生活が長くなって部屋が片付いて、7年ごしにようやく せんたっき様が通れるようになったので、買った。
キャッシュレス還元が終わるので6月中に買いたいなと思っていたら、ちょうど新機種も出たところで、旧機種が安くなっていた。 f:id:nowokay:20200715201654p:plain

せんたっき、結構重くて、ひとりでは運べないと思っていたのでふたりで運ぶかなと思っていたら、おにいさんがひとりで軽々と運んでいたのが驚きであった。あれひとりで持てるもんなんやな。 そんで、設置までしてもらったら、しばらく使ってなかった排水溝がつまってたりしてせんたっき稼働できなかったんだけど、クラシアンに来てもらって使えるようになった。

まあ、洗剤いれてセットしわすれたりもしたけど、家にせんたっきあるのはとてもいい。

コインランドリー通いだと、頻度を減らすためにそれなりにパンツとか靴下とかのストックが必要で、ちょっとヨレヨレとかは捨てずにおいたんだけど、頻繁に洗濯できるようになったのでハズレと感じていた靴下やパンツなどを全部捨てれたのもよい。

コインランドリー、こういうこともあったりして嫌いではなかったのだけど、やっぱり単純にめんどい。

乾燥機つきにしたんだけど、頻度たかければ量が少ないので干すのも手間ではなくて、まだ一回しか使っていない。 冬になったら使うかもな。

一人暮らしならトイレのドアを閉めては いけない

一人暮らしならトイレのドアを閉めては いけないし、トイレのドアの前に段ボールなど立てかけてはいけない。
トイレのドアが開かなくなったら死ぬ。

「トイレ 閉じ込め」で検索すると事例が結構でてくるけど、通話中であったり同居人に助けられたり約束していた人が110番してくれていたり、だいたい他者によって助けられている。

あと、助かった人はおもしろおかしくツイートしてバズるのだけど、おそらく亡くなった人はツイートしないので広まりにくい。

こういうの見ると怖い。

近所のマンションでトイレに閉じ込められての死亡事故がありました。独身のサラリーマンの方で、会社も欠勤し電話も出ないため、まさかトイレに閉じ込められていたことは想定外だったようです。

https://qa.itmedia.co.jp/qa9578401.html

携帯を持って入ればいいのだけど、こういう事故というのは たまたま携帯もってないときに起こる。
ということでトイレのドアは閉めないほうがいいのだけど、うっかり閉まってしまいその拍子に壊れる、みたいなことも考えられなくはない。

で、対策として工具を常備すればいいというのがあるけど、トイレのドアを壊せる工具は結構おおげさなものになる。
ということで、笛を置いておくのが一番コスト安で死ぬ危険性は減らせるんじゃないだろうか。

笛があったとこで、どうやって外に知らせるかと考えるとモールスがよさそう。 SOSはわかりやすい。

・・・---・・・

TOILETならこう。

- --- ・・ ・-・・ ・ -

いまは笛がないので、とりいそぎソプラノサックスのマウスピースを置いている

2023/1/24 追記 ブコメにある、トイレで夫婦死亡というのはこの話。ちなみに、そんな高齢ではなく、40代夫と50代妻の夫婦
トイレの内外で夫婦怪死!巨漢夫ドアの前で急死、閉じ込められた妻は熱中症: J-CAST テレビウォッチ