まだ咳が出る。もう少しで治りそうで治らん。ぐぬぬぬ。
土日もなんもできんかったなあ。いやなんかやったような気もする。CD取り込みとか。
nodejsでReazonSpeechで文字起こしができるのは確認できてたのでunacastに入れたい。
とりあえず一番こわいのはElectronで動くunacastでsherpa-onnx-nodeが読み込めるかだが、やってみたらすんなり読み込めたっぽい。じゃああとは組み込んでみよう。
マイクはレンダラープロセスで入力してバックエンドにPCMデータを送りたいが、マイク入力からPCMデータを取得するのが意外と大変。WebAudioてので取得するんだがScriptNodeてのを使おうとするとそれはDepricatedだからやめとけとめちゃくちゃ言われる。しかし代替手段がWorkerなので古いElectronで動くかわからんぞ。ということでまあどうせ古いしブラウザで動かすわけじゃないしScriptNode使おう。
入力はなんとかできたのでバックエンド側にそのまま渡して音声認識させる。認識させる部分は以前やったサンプルと同じ。やってみると一瞬「あ」とかなんとかは認識されるんだがそれっきりになってしまう。なんでだー?
入力のデータがおかしそうなのでじゃあサンプリング周波数が違う?getUserMediaの時に16kHzを指定してるんだが、これはヒントでしかないので結局デバイスの自然なサンプリング周波数を返してきてしまい48kHzになっている。絶対16kHzにしろやと指定もできるんだが、そんなデバイスねえよと怒られてしまう。役に立たねえな。これ別途ダウンサンプルしないといけないか。
でダウンサンプルの方法を探したんだが簡単にはなさそうだ。JavaScriptで書く方法もあるがそれなりのデータ量なのでちょっと不安。sherpa-onnx自体には周波数変換してくれる機能があるがVADにはその機能がなぜか付いてなくて、周波数変換単体の機能もあるがnodejs向けのライブラリには公開されていない。残念すぎる。
いろいろ探してたらWebAudioのOfflineAudioContextを使って変換する方法が見つかった。48kHzのPCMを受け取ってOfflineAudioContextで16kHzにレンダリングするとのこと。うーん、まあ確かにできそうだけどもオーバーヘッド大丈夫?遅くない? まあとりあえずやってみるかで試してみたが特に気になることもなく動いた。ほんとにいいんかという気もしなくはないが、今のところ問題なく動くしこれでいいか。 で、無事音声認識も行われるようになった。
あとはexe作るまでは普通にいったんだが全然起動しない。なんか拡張がパスにないぞと言われる。これのdllがどうやって入ってきたのかよくわかってないが勝手にコピってくれたりするわけじゃないのか。必要そうなdllだのをコピってきたらウィンドウは出たんだが、なぜかすぐ落ちてしまう。こっちはなんもログ出てこないのでわからんなあ。 ひとまずはexe無しでも手元で動かす分には問題ないのでしばらく使ってみよう。
で、日曜の夜に一度使ってみたんだが、音声認識はバッチリだった。今まで使ってたAzureの有料Speech to textより精度良く感じるくらい。まあAzureのはリアルタイム音声認識な一方で今回のReazonSpeechはしゃべったフレーズだけ切り出してあとから音声認識させると方式が違うので直接比較してよいものでもないんだろう。しかし配信時にしゃべったログを表示させておきたいという程度のリアルタイム性であれば十分だった。
しかしexe化以外は上手くいったんだと思ってたものの、なぜかVOICEVOXが読み込めなくなっていた。読み上げにVOICEVOX Coreを使ってるので同じプロセスにdllを読み込んでるんだが、それが読み込めないとかで読み上げができなくなっていた。 なんだろなーと思ったが、そういやVOICEVOXもONNX Runtime使ってるんだった。おそらくsherpa-onnxが使うONNX Runtimeと競合して読み込み失敗してんだなこりゃ。困ったね~。 ひとまず読み上げは他の使うことで回避したけどどうしたもんだろう。
VOICEVOXはCoreを直接読み込むんじゃなくて別プロセスのEngineを呼び出す方法もある。しかしこれだと毎度別にVOICEVOXを起動しとかないといけないのでめんどくさいねえ。 sherpa-onnxの方を別プロセスにする手もあるんだが、その実行ファイルどこでどうやってビルドするのめんどくさい。 あとはsherpa-onnxは今回使ってたsherpa-onnx-nodeの他にWASM版のsherpa-onnxというのがある。これはおそらくCPUで1スレッドしか使えないかわりに全部WASMになってるのでバイナリとか考えずに使えるのではなかろうか。 今もどっちにしろCPUしか使えてないしCPUで十分足りてるし、バイナリの問題がなくなるならexe化しても自然に動くはず。 ただ問題はnodejsの18以上が必要とのことで、今使ってる古いnodejsおよびElectronをアップグレードしないといけない。うーんつらい。
でもほんと古いnodejsとElectronを使い続けるのつらすぎるし普通にアップグレードはした方がいいよなあ。やるか~。そのうち。
まだ咳が出る。もう少しで治りそうってところまではやっと来たが、また寒くなってきたので気をつけないと。
土日はまだ鼻水も咳も出てたので家でおとなしくしてた。あとやけに眠いのでひたすら寝てた。日曜にさすがに何もしないのはなということで洗濯と買い物だけはしてきたが。
M3のCD取り込みがまだ出来てない。取り込んだCDはそのままケースに入れとくと大変なのでファイルに入れ直してるんだけども、ファイルを切らしていて休日は出掛けるのもおっくうな体調だし平日は店開いてる時間に帰らないしでいつまでも取り込みできず。日曜にやっと買ってきたんだけど時間が遅かったのでそのまますぐ寝た。 まあ全然急ぎの作業ではないんですけどね。
bootstrapを2から5にバージョンアップしたんだがマークアップも直さないといけないのでつらい。
めんどくさいのでこういう時こそGitHub Copilot Chatにやってもらおう!ということでこのbootstrap2用のHTMLコードをbootstrap5用に直してください、て言ったらやってくれた。すげえ! 完璧ではないもののだめなところだけ直していけばよさそうね。
と思ったのも束の間、100行ちょいくらいのファイルは問題なくやってくれたんだが、より長いファイルになったら100行ちょっとくらいで長すぎなので打ち切りましたと諦めてしまった。そんな~。 じゃあ続きを出力してくださいと言ったら、プログラミング関連の質問しか受け付けませんとつれないお返事。文脈あんま保持してくれんのか? 130行目以降を変換してくださいと言ったら上手くいく場合もあったが、やっぱり長いファイルだと全然だめだ。 何を言っても最初から同じ出力をしてくるようになったり(しかも同じところで打ち切られる)、全然関係ない捏造コードを自信満々で出してきたりと不安定すぎる。 なんとか細切れにしたコードを渡していけばできるのかもしれないがめんどくせえ! 手で変換するのめんどくさいなあと思って任せたいのに、なんでAIをなだめすかして細切れのコード片をあっちこっちコピーしまくるとかめんどくさい作業せねばならんのだ。 しかも完璧に変換してくれるわけでもないのにさ。 はいはいわかったもういいよ俺が手でやるよ。
ところでbootstrap5ではもう既に標準のアイコンが含まれなくなっており、パッケージとしては別にbootstrap iconsというのが配布されているようだ。 しかしこいつはnugetのパッケージになくてちょっと困った。bootstrap本体をパッケージにするならこれもないと困らん? なんかBlazor用とかのASP.NETから使うパッケージみたいなのは結構あるけどそういうのでなく普通にリソースだけ欲しいんだが。
ASP.NET Coreプロジェクトではクライアント用のパッケージ管理にLibManというのが使えるようになっているようだけど、これ使った方がいいのかなあ? ドキュメント見る感じビルド時にリストアしてくれる機能はべつにASP.NET Coreでなくても使えそう。試しにやってみるとそれっぽく動いてくれたぞ。 ただ設定ファイルの書き方がよくわからん。なんかJSON Schemaを見ろとは書かれているがスキーマ見てもどんな形にすればいいかはわかっても値の意味がわからないだろがい! オープンソースではあるのでコードを見ながら設定ファイルを書いてみるもののfileMappingsて書いたら設定ファイルバージョン3.0じゃないと使えないよって言われるし、設定ファイルバージョン3.0て書いたらバージョン1.0しか対応してないよって言われる……? どうもLibManの配布されてるバイナリは2022年で止まっていて、新しい機能は使えないみたい。なにこれほんとに使って今後も大丈夫なやつ?やめとくか。
LibManでも結局CDNから落としてくるならそもそもCDNへのリンクそのまま書いちゃえばいいかもう。 オフラインでも最低限表示できるようにと必要なリソースはローカルに含めるようにしていたんだが、常識的にはインターネット使えないCDNにつながらない環境でPeerCastStation動かしたいことって無いもんね。 ということで諸々一気に解決させた。 sassとかでカスタマイズしたいよ~とかなると話は変わってくるんだが、そういうことする気は今のところないしね。
あとはせっせとマークアップ直し。さすがに2から5だと機能も整理されたり追加されたり、そのまま置き換えるだけじゃなくてより良く書き直すのもできるしやっぱ手で直すのは必要だわな。JavaScriptのAPI変更もあるのでそういうところはどうしても直さないと動かん。
まだちょっとかかりそう。でも今月中にはだいたい終わるかな。
寒くなったせいか早速風邪引いた。
木曜日に喉痛くなったなと思ったら夜にはふとんにもぐって暖房つけてても寒気がひどくて一睡もできない状況に。 金曜日はさすがに休みにして土日もほぼ寝転んでいた。寒気はすぐ落ち着いたが喉の痛みがなかなか治らず。
月曜は喉の痛みも落ち着いてきたしまあまあ大丈夫そうになったので出社したが、夕方あたりから結構元気になったのと引き換えに今度は鼻水と痰が絡んで咳が出るようになっちゃった。 今日休みにしたんだが(プラモの予約戦争があるため)、おとなしくしててもなかなかよくなりませんね。
しかし風邪引いて寝てたかと思いきや意外と作業が進んでる不思議。さすがにプラモ作りはしてないがプログラムが進む。 あったかくして座ってるだけだから少しくらい体調悪くてもいけるんだよね。仕事は無駄に出社させられるからきついんだが。
なおプラモ戦争は30MMと30MFがすんなり予約完了。30MSはオプションの一部だけ予約できたが、フロートユニットとエイダーコスチュームと素体2体は予約できず。キャンセル待ちと抽選に賭けよう。素体はまあいいんだけどオプションは買えないやつはほんと買いづらいから予約できてほしいんだけどな~。 コスチュームはエイダーだけなんで買えねんだ思ったけど、そっかドスケベピンクナース服だから人気なのか……。
PeerCastStationは大幅な整理が時間かかりそうなので、それを終わらせる前に.NET8に移行しようかと。 .NET6もサポート切れちゃうしね。
.NET8への移行自体は特になんも難しいところなく6.0を8.0に置き換えるだけ。まあそんな変なことやってませんし。 ただついでにいろいろ古いのを更新してしまいたい。
インストーラーがWiX3なのを4に移行してビルドしやすくしたい……と調べたらもう5が出てた。4はいつまでも出なかったのに5は早いな。まあ3→4程大きな変更はなさそうだ。 移行は大変そうに思えたがVisualStudioの拡張入れて変換をポチっとしたらそれで済んでしまった。なんか結構めんどくさいことやってたような気がしたんだが?と中身みてみたら、いつだかに整理してそんなめんどくさいことはない形式になってたようだ。それはよかった。 最終的には再確認したいが。
jQueryが古いとかなんとかめちゃくちゃ文句言われてるのもなんとかしたい。nugetパッケージで入れてるのを軒並み更新してみるが、そういやこいつらってどこにどう入ってくるんだっけ? パッケージの中身を見るとなんかContentとかScriptsてフォルダに物が入ってるっぽいけど、なんかそれっぽいの元からリポジトリにコピって追加してあるんだよな。何をどうしたんだ昔の俺は。 あとbootstrapも最新のパッケージを入れたらSolution Explorer上ではwwwrootってのが見えてその中にぶちこまれてるようになったんだが、ビルドしてもコピーされるわけでもなく、こいつらをどう扱えばいいのかさっぱりわからん。なんだこれ……?
いろいろ調べたんだが、ビルド時に勝手にコピーされるようにするにはnuspec内でこのファイルはコピーすると指定しないといけないようだ。 だがnuspecはパッケージ作る側が書くもので、使おうとしているbootstrapではコピーされる指定はない。使う側では手遅れ。むむむ。
試しにSolution Explorer上で見えるwwwroot内のファイルをプロパティページからコピーするように指定してみたら、csprojの方にはそのファイルのローカルキャッシュへのパスが書かれちゃった。確かにそこにファイルあるのかもしれないが、そんなところ参照されても困るぞ……。
なんとかならんかドキュメント見てたらPackageReference
にGeneratePathProperty
てのがあって、これを使うとパッケージのローカルキャッシュへのパスが取得できるようになるらしい。うわ、以前見た覚えがあるけど何に使うんだろう?と思ってたけどこれじゃん!!
実際にどんな展開されるかはobj/~.csproj.g.nuget.props
を見てねということなので見てみると、確かにローカルキャッシュのトップレベルへのパスが入っている。
あとnuspecのcontentFiles
指定から生成された各ファイル項目もここに展開されていて、wwwroot内のパスを指定したLinkも書かれていた。
なるほどSolution Explorerから見える謎はここにあったのか。
謎が解けたらあとはやることは簡単っすね。ということでちょちょっと書いて解決した。
<ItemGroup>
<PackageReference Include="bootstrap" Version="5.3.3" GeneratePathProperty="true"/>
<PackageReference Include="jQuery" Version="3.7.1" GeneratePathProperty="true"/>
<PackageReference Include="knockoutjs" Version="3.5.1" GeneratePathProperty="true"/>
<Content Update="$(Pkgbootstrap)/contentFiles/any/any/wwwroot/**/*.*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(PkgjQuery)/Content/Scripts/jquery-*.min.js">
<Link>wwwroot/js/%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(Pkgknockoutjs)/Content/Scripts/knockout*.js">
<Link>wwwroot/js/%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
GeneratePathProperty
をtrue
にするとPkgパッケージ名
というプロパティが生えてきてインストール先の絶対パスが入っている。
bootstrapはnuspecにcontentFiles
指定があるためobj/~.csproj.g.nuget.props
にContent
が生成されているのでコピー指定だけ書き換える時はUpdate
属性を使う。
jQuery
とknockoutjs
はcontentFiles
指定がないのでobj/~.csproj.g.nuget.props
には何も書かれていない。そのためContent
にはInclude
属性を使う。あとbootstrap
と同じくwwwroot内に入れちゃお、と思ってLink
メタデータを作っておいた。
これでビルド時に必要なファイルがコピーされるようになってくれたわ。
パッケージの更新はできたが、bootstrapは2だか3だかから5に上げたので当然マークアップもめちゃくちゃ変わってて表示がボロボロ。これ直すのがまた大変そうだ。
まああと表示がちゃんとなればひとまずバージョンアップは完了かな。ヘルプのビルドにJekyll使ってるのもnugetで導入できるなんかにしたいけども、キリがないのでそれはまた今度にしよう。
配信時にAzure Speech Serviceで音声認識して字幕生成的なことをやってるんだが、Azure Speech Serviceは結構お金かかってしまって困る1。 月3000円以上かかっちゃってるのでなんとかしたい。
オフラインで音声認識するのにWindowsの機能が使えればいいんだが昔の物は精度がアレだし比較的最近のだとアプリがフォアグラウンドじゃないと動作してくれない。 Windows 11だとライブキャプションという機能が最近あるのでこれが使えればいいんだが、今のところ外から触れるAPIとしては用意されていない。 ただ中身はAzure Speech Serviceのオフライン認識用モデルを使ってるようでそれを触るにはアクセスキーが必要なんだが、なんとライブキャプションの実装あたりのDLLを覗いてみたらキーが普通にぶっこ抜けちゃって試してみたら動いちゃった。 ただまあ一人で試すならこれでいいけども、他人にこれ使いなとは言えないよな……。 あとSpeech Serviceのオフライン認識用のモデルの認証方法は最新版では変更されてたので使えなくなると思われます。簡単にぶっこ抜けるキーではさすがにね。
なんかオフラインで使えてelectronから呼べるのがあったらいいよねということで調べる。 ただAIでとかなるとだいたいPython前提でアプリに組み込むのがなかなか難しくて見つからないねえ……。
一つ見つけたのはVoskてので、これが簡単に導入できそうなのでいろいろいじってた。 Voksはnodejs用のパッケージもあるんだが、ただunacastはelectronなうえにバージョンも古いのでなかなか簡単には導入できず。 途中まで試して思ったよりめんどくせえぞとなっているところで、組み込む前にまずVoskのデモを試してみたら普通に精度悪くて使えねえなこりゃとなった。 まあ50MBのモデルですもんね……。
引き続き調べてたらReazonSpeechのk2てやつがsherpa-onnxといういろんな環境から呼び出せるライブラリ向けのモデルなようだ。ReazonSpeechなら日本語特化だし期待できそうでint8のはサイズも大きくなくて使いやすそう。次これ試してみよう。
unacastにいきなりぶち込もうとすると面倒なことになるのはわかってたのでまず単体で試してみよう。 sherpa-onnxの公式にマイクから入力して音声認識するサンプルもあるのでそれにReazonSpeechのモデルを渡してみる。
sherpa-onnxはいろんなモデルが使えたりするしReazonSpeechもなんかいろんなファイルがぽろっとあってどこに何を指定すればいいのかわからなかったが、そもそもReazonSpeech公式のPythonライブラリがsherpa-onnxを使ってたのでそこを参考にファイルを指定。 あとはすんなり動くはず……って動かねえな。なんかメタデータが無いぞみたいなエラー出されるけど、調べたらそいつはオフライン用のモデルでオンライン(リアルタイム)認識には使えねえぞ、ってことらしい。使えないのかよ!
この場合、音声のしゃべってる部分を切り出してオフライン認識させるのが正道なようだ。でも音声のしゃべってる部分を切り出すのってそう簡単じゃねえぞ……。
と思ったらsherpa-onnxに普通にそのサンプルあるじゃねえか!sherpa-onnxはSilero VADてのを使ってしゃべってる部分を切り出す機能が入ってたようだ。VADって付いてるサンプルあるのは知ってたけどVADてなんだろなと思ってた。Voice Activity Detectorの略だったわ。
今度はオンライン認識じゃなくて、マイク入力でVADしてオフライン認識というサンプルを試したら比較的すんなり動いてくれた。 コードもわかりやすい。 ただいくつか問題があるなあ。
一つは長々としゃべってるとマイク入力のバッファがオーバーフローしたとかで落ちちゃう。まあこれは処理が間に合ってないだけだろう。 マイク入力の設定のところでエラー時に終了しない設定にしたら解決した。
もう一つがよくわからなくて、なんかしゃべり始めがいくらか無視されちゃうんだよね。これはVADが悪いのかなあといろいろパラメータいじってみたが改善せず、そもそもVAD結果を書き出したファイルを聞いてみたら過不足なくしゃべったところだけばっちり切り出されていた。じゃあReazonSpeechの方か~。
しばらくいじってみたが全然わからなくて、ReazonSpeechの公式ライブラリの方で渡してるパラメータを確認してみたがパラメータは同じだった。 ……が、よく見るとなんか音声の頭に0.9秒の空白をくっつける処理やってんじゃん!こんなの必要なのか!現象からしてもばっちりこれじゃんねえ。
0.9秒の空白くっつけるのはまあ簡単で16kHzでサンプリングしてるので16000*0.9
個の0を頭にくっつけて渡してやるだけだ。やってみたら問題なく認識してくれるようになった。やったー!
試した感じは結構精度よくて速度もそんな遅い感じはない。 リアルタイムではないので瞬時にとはいかないし途中経過とかも出ないものの、しゃべったのをログとして出しておきたいだけなので問題ないだろう。 CPUモードで実行してるのにCPU使用率も全然上がらん。メモリは500MB以上食ってるから結構使ってるけど今のPCならまあ厳しいってこともないでしょう。
int8とfp32のモデルがあるので試してみたがint8のでも十分精度良いと感じた。 decoderだけfp32の使うとモデルのサイズはそれほどかわらず精度よくなるからバランス良いかもって感じ。 まあ一回ダウンロードするのが300MB多いか少ないかって程度なんでfp32でもいいのかもだけど。
あとはElectronで動かせるかな~とかマイク入力自分で処理するのめんどくさいな~2というのをやっていかないといけない。 それはそれで大変そうなのでまた今度ね。そのままだとどんどんお金かかるから早めにやっておきたいが。
そういやsherpa-onnxはバックエンドにONNX Runtime使っているということなのでGPUを使うこともできるだろうと調べてみた。DirectMLを指定すると使ってくれそうなので指定してみたが、バイナリがDirectMLを使わない設定でビルドされているようでCPUにフォールバックされちゃった。 まあCPU処理でも全然負荷なかったからGPU処理にする意味全然ないか。むしろVRAMいっぱい持っていかれて困る方があるかもしれない。
三連休は休んだ気がする。
なんもせずに休もうと決めていたので土曜日はなんもせずにごろごろしていた。 日曜はさすがになんかしたいなあと思ってプラモパチ組み。 月曜は土日にやらなきゃいけなかったこと全てを終わらせるために動いた。 とはいえ実際考えたらちょっとした家事と賃貸更新の書類書きくらいだったが。
仕事がちょっと落ち着いた時期に入ってるので趣味のプログラムが書ける気持ちになっている。働いてる時間的にはそこまで大きくは変わってないっぽいが……?
積んであったHG YF-29 デュランダル(マックス機) フルパックセットをさくっと組もうかと。
結構ボリュームあるけど言うてHGだしな~と組み始めたが結局6時間くらいかかったか。まあボリューム的には適正くらいかも。 いつも作ってるのはV.F.G.なのでファイター形態から組むが、HGはバトロイド形態から組むのがちょっと新鮮だ。 正確にはV.F.G.は女の子から組むんだが。
組んでる間はV.F.G.より一回り小さいかな?とか言ってたんだが、ファイター形態にしたらべつに小さくは感じないしあとで比べたらほぼ同じだった。気持ち小さいかも?くらい。 たぶんバトロイド形態は女の子ない分あきらかに小さいのでその辺りの印象だろう。 特に脚がV.F.G.だと女の子の脚が入る関係上エンジン部分が外に出るようになるので、そこが大きく見えるんだな。
別売の水転写デカールも買ってあったので土曜はひとまずシールは貼らずパチ組みだけしたが、日曜にはスミ入れとデカールで代替できない部分のシール貼りもした。
写真はスーパーパック外した状態で。シールで満足できるかなあと心配はあったが、薄いのもあって意外と気にならない。V.F.G.のシールもこれだけ薄ければ……。 ただガウォーク・ファイター形態での頭とか、尾翼だとか立体的な形状に貼るシールはさすがに厳しいものがある。尾翼はまあまだなんとかなるけど頭はちょっと無理あるな。 あと水転写デカールみたいに置いてから位置合わせとかできないので貼るの難しいよ~。
ただまあ色塗る気までは起きないのでシールで済ませておきますけどね。あと結構な数貼りはしたけどまだまだあちこち色が足りなくて気になるところがちらほら。 気にはなるけど塗装しないと決めた以上は見なかったことにしよう。積みが多くて時間かけてらんねえんだ。もしかしたらごく一部筆塗りするかもだけど。
スミ入れはさくっとリアルタッチマーカーでやったけどやっぱこれ便利だな。スミ入れ筆ペンを買ったので使おうとしてみたがニュートラルグレーを試しに入れてみたら思ったより明るくてこれじゃねえなになってめんどくさくて諦めた。一度色を決めてしまえば楽なのかもしんないけど何本も用意しとくのめんどくせえなやっぱ!
ガンダムマーカーの流し込みスミ入れペンもどうかなーと気になったが、他の塗料の上から使えませんとなっていて躊躇われる。 アクリジョンの上からなら大丈夫じゃない?という気もするがどうなんですかね。一本買って試してみるか~。
まああと普通にタミヤのスミ入れ塗料買えばいいじゃないというのもあるが、あれ四角い瓶だから色沢山欲しいとなると嵩張るんだよねえ。 もうクレオスのウェザリングカラー結構持ってるし。ウェザリングカラーは流し込みはできねえし。
10月もう終わりとかマジか。1ヶ月過ぎるのが速い。
賃貸の更新時期で更新書類が送られてきたと思ったらしれっと家賃4000円上がるぞと書かれていた。2週間前に言うなや。 とはいえ元々75000円でさすがに安いよなと思っていたので値上げは想定内。なんなら1万円とかそれ以上のアップも覚悟してたので4000円で済んでよかった~といったところ。 でも言うのは2週間前じゃなくてもっと早く言ってくれ。
最近PeerCastStationを触る余裕がやっと出てきた。 だいぶ書き直しをしてるんだが、RTMPのハンドシェイクがなんか通らね~というところでもうなんなら一年くらい止まってたのが解決した。 単にMemoryPoolからRentしてきたバッファをSliceせずに使っちゃってただけ。 MemoryPool.Rentは要求よりでかいバッファを返してくるんでうっかりバッファ全体のハッシュを取ると余計なところまで計算して一致しなかった。 他ではちゃんと考慮してたのにそこだけ抜けてたしなんなら何度も確認したつもりだったんだが、つもりなだけだったようだ。
まあまあ動きはしてるんだけどもいろいろ不安定なんで、大幅な整理の完了はまだかかりそうだな。できたら追加したいものもたくさんある。
積みプラが大変なことになっているので圧縮のためにせっせとパチ組みしてる。
とりあえず30MLをいくつか。
ほかに30MSのツキルナも組んだはずだがどこかの箱に入ったらしくすぐ見当たらないのでまた今度。
エリエネは全体的に白っぽいし手足のリングもクリアとかじゃないからシンプルだよね、と思ってたんだが武装の白下地の赤パールつやつや成形がすごい。成形色でこれかよ。 あと主にジョイント部分は白下地の赤パールつや消し成形になってて凝ってるなあ。これもすごい綺麗。組んでみるとなかなか派手さがある。静止画だとわかりづらいが。
まだまだあるのでどんどん組んでいかないといけないが、3時間とかかかるので休日一日で一体+オプション一つがせいぜいだ。しばらくはパチ組みずっと進めてくしかないな。
イベントがいろいろあったような。
12・13はホビーショー行ってた。ビッグサイトなので近い。 日が当たると暑いなってくらいには気温高めではあったが風はひんやりしててさすがに秋になったね。
今回のホビーショーは特にこれといって目を引く新しいものはなかったかな。WAVEのところで1/35のファッティー出てたのがうれしい。2026年とかあったので再来年だが。 ずんだもんプラモのクリアー髪付きがワンフェスに引き続き100個限定販売ということで早くから行くべきか悩んだが、直前になって12月の再販版からは手首パーツが増えるよってアナウンスがあってじゃあそっちの方がいいじゃんと思ってやめといた。
BANDAI SPIRITSブースの30MMとかのステージも見たが、なんか1時間以上前から列作ってて、さすがにそんな前から並ぶわけにもいかんなと15分前に来たら席は完全に埋まってて立ち見になっていた。 ずいぶん大人気だなあと思って始まってみたら席の人の多くがMCのリンクルプラネットの写真を撮りまくってて、ああこの人達はリンプラファンか~と合点がいった。 なるほど1時間以上前から並ぶわけだ。他に興味ないもんな。 MCとしても全然しゃべれてないし変なSE鳴らすボタンを押しまくっててうるさいしで良いとこなかったので、リンプラのステージとプラモのステージは分けてほしいよ~。
しかし毎度のことながら全日本模型ホビーショーは空いてるよなあ。 まあ昼過ぎから行ってるというのもあるけども、狭いわりに静岡より空いてるように感じる。 入場料かかるってのもあるけどそんな高いわけでもねえんだがな。
18日は陰陽座のライブがあったので休みにして行った。Zepp Hanedaは会社から1時間もあれば行けるので休まず夕方早めに上がることもできたが、ついでに歯医者の予約とかも入れといたので休みに。 月頭には名古屋で見てたはずなんだけどこんな曲やったっけ?みたいなのですっかり忘れてて新鮮な気持ちで見れましたね。いいのやら悪いのやら。 2階席の2列目だったので全体がよく見れる席だったのはよかった。
来週はM3か。毎週のようになんかあって大変だ。11月以降はとくに予定ない気もする。
純粋に模型関連てわけではないが、模型配信用に書画カメラ的なのを買った。
CZUR Fancy S Proてので、クラウドファンディングで2万切るくらいだったかな(リンクは海外の公式で日本とは値段が違う)。 Webカメラとして使えるというので配信に使えるな~と。
今まではスマホをWebカメラにするのを使ってたが、手持ちのではAQUOS sense4でしか4Kが使えなくて、こいつはカメラのコントラストがやけに高くてすぐ白飛びしてしまっていまいちだった。かといってWebカメラ用にスマホ買う気もせんしなあということで書画カメラ使えないかと思ってたところ、CZUR Fancy S Proてのが出てたので買ってみた。
なんかクラウドファンディングしてたから記事とかめっちゃ出てるんだけど、実はほぼ同じスペックのプリンストンのPDP-U12MSてのが前から売ってるのを確認してたのでCZUR Fancy S Proが特に画期的なわけではない。 なのでどっちがいいかなあと比較してみた時に、CZUR Fancy S Proは発売が10月でPDP-U12MSは既に買える(検討時期は8月くらい)、PDP-U12MSは2万ちょっと越えるくらいだがCZUR Fancy S Proはクラウドファンディングなら2万切る(正式に出たらたぶん同じくらい?)、違いはスタンドくらいでCZUR Fancy S Proはカメラ部分のみの90度回転ができる。てな感じ。まあ全然急ぎではないしちょっと安くて90度回転できる方が配置に融通効きそうだなということでCZUR Fancy S Proにしてみた。
10月ということで10月末には届けばいいわなと思ってたんだが、なんか頭に届いたのでちょっとびっくりした。まあ海外では既に売ってるものだしね。 クラウドファンディングなので進捗報告とかはされてはいたんだが、毎度宣伝みたいなのばっかり報告してきてうっとおしいので通知切ってたんだよね。 売り方はうぜえ感じだ。
届いて設置してみたところ思ったよりいいかもこれ。背はそんな高くないので作業範囲全部写らないかなと危惧していたが、画角が広いので問題なかった。 まあ台にでも置けば高さは上げられるし、それだとさらに広い範囲写せるが、俺の配信ではそこまではいらなさそうだ。 スマホではもっと高いところに設置して撮ってたんだがそれよりむしろ写る範囲が広いくらい。スマホだと16:9とかである一方でこのカメラだと4:3なので写したい範囲と形状が近いってのもある。そんな横長や縦長の範囲で作業はしねえんだわ。 それでいて4000x3000と解像度も高いので多少拡大とかしてもいいしね。 カメラの90度回転はやはり置く場所の自由が効いて地味に便利だった。
これは前者がCZUR Fancy S ProでAQUOS sense4での配信画面。レイアウトが変わっちゃってるから単純比較は難しいかもしれないが、CZUR Fancy S Proの方が広い範囲写せてるのがわかる。といってもAQUOS sense4のは横方向をクロップしてるが……。
フォーカス合う距離も最短10cmなので大きく写したい時もちゃんとピント合ってくれるのは助かる。10cmはそんな近くもないような、と思っていたが実際に使ってみると十分に近いわ。 フォーカス合わせるボタンがあるのでなんか合わねえなって時もボタン押すとあってくれる……はず。いやフォーカスは連続モードとワンショットモードがスイッチで切り替えられるようになってて、ワンショットモードでは確実にボタン押した時だけフォーカス合わせが行われるんだが、連続モードの時にフォーカス合わせボタン押した時にちゃんと効いてるのかは謎だ。単に押そうとしている間にフォーカス合ってるだけかもしれない。
他に露出調整ボタン、180度回転ボタン、ライト調整ボタンがあって、物理ボタンでPC側触らずに操作できるのはうれしいが、これらが円周上に並んでるのはちょっと微妙な感じ。形同じだし刻印も見づらいしカメラの上にあるので覗き込む必要があるのでどれがどれだっけ?となってしまう。シールとか貼って色分けとかした方がいいかもな。180度回転ボタンとかとっさに使わんわ。
色は露出調整にもよるがちょっと白っぽく見えるかもな感じもする。まあAQUOS sense4みたいにすぐ白飛びしたりとかはないのでそれほど気にすることもないかも。物理ボタンで簡単に調整できるのがうれしい。配信しながら狭い画面上のスライダーで露出調整とかやるの大変なんだ。
というわけで2万円弱なら十分満足できるものだった。安売り終わってもまあ2.5万円くらいだし、3万円までならいいんじゃないでしょうか。
特に何もない。
暑くて死にそうになった次の日は寒いとかひどいことになってる。まあ寒いのはいいや。 また気温も上がりそうな予報ではあるが、さすがにそろそろ最低気温が20℃切るようになってきて暑いってほどではなくなりそうか。 最低気温が下がらんと通勤する朝晩が涼しくならねえんだ。
今週末はホビーショーなので涼しいといいけど予報では最高気温はそこそこありそうだ。といってもビッグサイトは家から近いし、ちょっとくらい暑くてもそんなしんどいことにはならんだろが。
土曜日はなんかめちゃくちゃ寝てた。まず起きたのが14時頃でその後だらだらしてたら20時に眠くなったので一旦横になったら4時に目が覚めた。そのままもう一回寝たら起きたのは11時過ぎ。 日曜は寝すぎでちょっとしんどかったが家事もしたし買い物も行けたしプラモも組めたので元気になったようだ。
なんかチームでお前が一番残業多いぞって言われたので頑張って控えめにしよう。
ずっとちまちま進めていたオトシューDXがこないだついに皆伝なった。
記憶が確かなら2020年10月頃からやってたと思うのでちょうど4年かかったはず。 ゲーム下手くそだけどやってればできるもんだねえ。
目標が達成なってしまったがオトシューDX自体は面白いしまだまだ伸ばせるところはあるのでまだ遊んでいきたい。
オトシューは音ゲーが途中でぶちこまれるというところはまあ置いとくとして、メインのゲーム外を音ゲーのフォーマットに載せたSTGという、ちゃんと現代になったSTGで非常に素晴しい。 難しいとは思うが続編出てほしいねえ。いや本当に難しいだろうが……。
せめてこのフォーマットを継承した(いや音ゲーパートはなくてもいいが)他のSTGが出てくれればうれしいが、みんないまだに昔ながらのゼビウスの続編しか作らないのが哀しいところだ。
結構涼しくなってきたかも。 しかし涼しいと思って会社行くと汗だくになったり、それと同じくらいの暑さの日でも全然汗かかなかったり謎だ。
9月の21~23日は三連休だが疲れてほぼなんもできなかった。 いやイベントがあったので何も出さないのもアレだなということでプラモ写真撮って載せるくらいはやった。 まあ作ったやつ全部は撮れなかったので近いうちに撮っておきたいが。V.F.G.は変形が大変なので写真撮るのがだいぶおっくうになってしまう。 そろそろプラモだけじゃなくてちゃんとプログラム書きたいよ~。時間がないよ~。
仕事は一時期落ち着いた気がしたんだけどそんなことなかったぜ。熱出して休んだのもあってこないだの日曜日も出社したり。しかし毎日平均で4つ以上入っている打ち合わせとひっきりなしに点滅するSlackが無いので休日出勤はめちゃくちゃ仕事ができるのが良い。
そんな仕事やばいとか言いながら今日は休みにして名古屋まで陰陽座のライブ行った。 仕事詰まってるのに休んで遊び行くのは気がひけたんだが、今日はそれほんとにいるのかよ的な打ち合わせがめちゃくちゃいっぱい入ってる日で、どっちにしろ作業が進まないのですっぽかしても大したことがないのであった。 なんならもう一日休みにして一泊したくもあったがそこまで休むのはまずそうだったので日帰りで。
ライブは夕方からなのでそんな早く行く気もなかったんだが、新幹線取ろうとしたら日帰りツアーだと結構安くなって、しかし行きで取れるのがだいぶ早い時間帯のみ。 9時発10時半着のが一番遅かったのでそれにしといた。帰りは遅い時間も取れるようになってたので余裕見て21時20分頃。21時前には待ち合い室に居たのでちょうどいいくらいじゃないでしょうか。 陰陽座のライブ昔は3.5時間とかやってたけど、さすがにもう2.5時間くらいで終わるからね。
午前中から名古屋の街中をぶらつくはめになってしかも暑い予報だからだいぶ汗だくになりそう……と覚悟していったものの、 確かに気温は高いし日射しもそこそこ強いが、湿度が低くて涼しい風が吹いてくるので直射日光さえ避ければ涼しく感じるくらいでよかった。 あとZepp Nagoyaから歩いていける距離に山王温泉というスーパー銭湯があったので、ライブ前にそこでお風呂&着替えできたのがうれしい。
ライブは珍しく全席指定だったので座って待てるし早く入る必要も全くないので楽ちん。 席あるし荷物ロッカーに入れなくてもいいか?と思って入れなかったが、着替えとかもあってそこそこ嵩張る荷物で少し邪魔だったので素直に入れときゃよかったね。
今回はライブでは珍しい曲が多くてびっくりした。それもあってかみんなおとなしかったな。いや陰陽座のライブみんな最初はおとなしいんだけども、今回は終盤近くまでおとなしかった。 妖精帝國だと最初からぶっちぎってる人多いからむしろ避けてないと危険なくらいなのにな。
しかし楽しくて一瞬で終わるな~。東京もチケット取ってるのでまた行けるけども。さすがにその頃には仕事落ち着いてると願いたい。 まあZepp Hanedaは16時くらいに会社出れば着けるのでそれまで働くのも可能だが。
全然涼しくならないっすね。
先週あたりからなんかいまいち体調がよくないなと思ってたが、そんな中の三連休にはしゃぎまくって無事撃沈。 月曜夜から熱出して火曜日休んだ。熱だけだったし一日寝てたらだいたい治ったが。いや水曜も出社はしたもののあまり元気とは言えん状況だったか。
女の子の仕上げと機体組み上げを行ってひとまず完成とした。ひとまずってのはあちこちパーツを折っちゃってまだ修理してないので。まあそこまで目立つところではないからおおまかには完成ということでね。
最初のパチ組み開始から3.5ヶ月くらいかけてたらしい。うええ時間かけすぎだあ……。
機体は金色およびシールだったところだけ塗り、あとは全体的にテカテカにしたくらい。 女の子は胸と太股を盛って全体的に色が地味っぽいのを明るめに塗り直した、ということで手を入れたところ自体は女の子の方が多く見えるんだけども、機体のボリュームがボリュームなのでテカテカにするのが非常に大変だった。テカテカにする作業自体も初めてだったし……。
ほとんど成形色のままテカテカにしたらプラスチック感強くなってしまったのでクリアー吹く前に軽くパールを吹いてみたが、金属感とまではいかずともいくらか高級感出たのでよかった。ボリュームに見当った重さもあるので手に持つとプラモ感はなく、お値段する完成品おもちゃくらいの感じはするのでまあ悪くないんじゃないでしょうか。
しかしシャトルモードで写真撮るのにスタンドで浮かせようとしたが、下部に3mm穴が一つ開いてるだけでさすがにそれで支えるのは無理があって断念した。あとから考えたら3mmの薄いピンも出てるのでアーム2本使えばなんとかできたんか?2本すぐには用意できなかったけどさ。
ケーニッヒモンスターは特にでかくて重いというのはあるんだけども、そうでなくともV.F.G.はガンプラでいう1/100サイズくらいはあって重さもそこそこあるのに、スタンド用の穴がいつも3mm穴1つしか無いのが納得いかん。しかも飛行機だから角度つけて飾りたくなるのに3mm軸1本だと容易に回転しちゃうんだよな。 5mmの六角軸とかつけられるスタンド用パーツつけてくれればうっかりアクションベースとか挿さってうれしいんだが……。
次の連休にはなんとか修理とちゃんと写真撮りまでやっておきたいところ。あとで変形とか絶対めんどくさくてやらんからな。
仕事が落ち着いたかもしれん。 いやまだいっぱい働いてるけども、今週からは早く帰っても大丈夫かも。
雨の降り方がやばくて洗濯がしづらい。 急にめっちゃ荒れて10分で止むとかが1時間おきに襲ってくると洗濯物干せないし外に出る気もおきないしでなかなか困るなあ。
機体にパールとクリアーを吹いた。
パールは真っ白にならないかなーザラザラにならないかなー?と不安なところはあったものの、どちらも問題なさそうだった。軽く吹いただけなので当然ではあるが真っ白にはならず、それでいてキラッとしてくれたのでプラスチック感は減らせたかな。この写真だとあんまわからんけども。
クリアーが自信なかったんだけども今回は上手くいったっぽい。アクリジョンのクリアーを若干薄めで重ねていき、最後は低圧で少し厚めに吹くという感じで上手くいった。 いつも圧高めで濃いめのを吹いてたのがよくなかったかもしれない。まあいつもはファレホのメカカラーバーニッシュなので塗料自体違うんだけども。 腕の平面部分とかいくらか荒いところはあるけど磨けばいい感じになりそうかな。
しかし機体一通り塗るのに新品のクリアーを1本使いきってしまった。ちょっと吹きすぎ感はあるけども、面積も結構あるから仕方ないか?そんな高いもんじゃないしな。 ファレホのメカカラーバーニッシュでも綺麗に塗れるように試行錯誤しておきたい。 メカカラーバーニッシュは固まるの遅いから磨くのには向いてないが普通に塗って終わりの時には使いたいし。
下地もだいたいピカピカにしてたのは効いたんだろうか。でも1500番くらいでざっと荒らしてクリアー吹いて磨くて話も聞くからあんま関係ない気もするんだよな。
最終的に磨くのもこれたぶんMr.ラプロスの6000番とか8000番でざっと磨いたあとコンパウンドの細目や仕上げ目でさくっと磨けばいいんだよな。 あんまり頑張らなくてもよくなりそうで希望が見えてきた。
残りは女の子の方を仕上げるのと磨くのくらいかな。さすがにそろそろ完成させられそうだ。 作業サボってた週もあるからだけどだいぶかかったなあ。