shingoushori's dialy

音信号処理を専ら研究していた元博士後期課程の学生によるメモ

VRoidでVTuberになりました、たぶん

VRoidでVTuberになりました、たぶん。
いまいち、VTuberの定義がよくわからないのですが。
YouTubeに動画もあげたので、VTuberだと思います。
名前は...まだない。とりあえず、shingoushoriです。
shingoushoriっていうのもおこがましいですけれども。
これからまた信号処理していこうという気持ちで。

VRoid が手軽そうだったので、やってみました。

 

vroid.pixiv.net

とりあえず、こんなこになりました。眼鏡と頭身とセーラーの実装に期待。

f:id:shingoushori:20180807002755p:plain

v0.1.1 を8/3(金)の夜にDLしだいたい掴んでから寝て、
起きた8/4(土)に v0.2.0が出ていて作り直しました。

 

そういえば、「バ美肉」、「受肉」なる用語ができたようですね。読み方もわからないのですが...。

VRoidで表情をいじっていての発見がこちら。
なんとなく、行き交う人たちの表情って、これくらいのパラメータじゃないでしょうか。

f:id:shingoushori:20180807003125p:plain

私自身が、周囲から注意を受ける感じで不機嫌な表情でいるのが普通なので、その認知バイアスかもしれませんが。... 眼鏡だったり頭痛に腹痛に運動不足にカフェイン中毒に出不精で出かけているときは大体不機嫌とかいろいろなんですけども。

1アプリケーションでのパラメータというだけですけども。
そのパラメータが「怒り」「悲しい」というあたりで、妙に納得したのでした。

 

以下、Twitter -> YouTube にこの記事までにあげたものです。

FaceVTuber に関しては、2018/8/7 現在では 0.1.1 で出力したVRMファイル(dwangoが提唱するVTuber用のファイルフォーマット VRM - dwango on GitHub )なら、目が抜けませんでした。いや、角度によっては抜けていますね ... 。

こちらは VDRAW ( Ogura Laboratory Shop - BOOTH(同人誌通販・ダウンロード) ) ↑の動画時にはディスプレイ1枚で試運転でした。2枚使うのが推奨だそうで。手軽におしゃれで素敵です。

声質変換は、とりあえず ↓ を試してみました。が、↑の動画の通り、しばらく話しているうちに録音が止まる、繰り返しているうちに録音が開始されない...といったなんがあって、まだ使えていません。

voice-changer.userlocal.jp

 

www.youtube.com

www.youtube.com

 顔のトラッキングは、眼鏡をかけているよりも外した方が追従していそうです。
そりゃそうか、と思いつつ...。
VRゴーグルを被らなくとも、眼鏡に厳しい分野ですね...。

 

 

dot言語でグラフを書いて、はてなブログに直接書いてみるテスト

[埋め込みテスト]

dot言語でグラフを書いて,はてなブログに埋め込んでみたくなりました。 ので、サンプルを探して、埋め込みのテストです。 d3-graphviz というライブラリです。
表示までに数秒かかります。

 

はてなブログの記事としての知見として3点。
・HTML編集なら、外部のスクリプトも簡単に埋め込める
・<script>の中身が、見たまま編集やプレビュー時にCDATA化されたり勝手に個別に<p>されたりして戸惑う。
プレビューの「新しいウィンドウで表示」は、必ずしも公開にした時と同じじゃないの注意。

[参考文献]

サンプルの出どころ。
stackoverflow.com

ライブラリの埋め込み時のリンクは、この記事のものを使っています。viz.jsがWebWorker対応版っぽい。
https://gist.github.com/magjac/4acffdb3afbc4f71b448a210b5060bca

github.com

memo : Magenta.js

とりあえず、メモ

先日、TensorFlow.js が出てうわぁとなって色々触ってみているところ
こちらもということから、Webへの進出、JavaScript移植の動きが勢いづいている印象

EarthQuaker Devices / Rainbow Machine v2 or not ...

EarthQuaker Devices / Rainbow Machine という, 素敵なエフェクターがいます.

素敵。なにこれ、素敵。

特にオススメの動画がこちら、素敵。

で、購入してしまったのです.イシバシ楽器さまで. 


しかし、やはり癖が強い.
かけっぱなしで耐えられる設定となると、このエフェクト特有のエグさを薄〜くする感じに. それはそれで素晴らしい風合いなのですが, 惜しい.
本記事の最初に貼った動画では、いい感じでラッチとアンラッチが使い分けられていそう. 

しかし、私の手持ちではどうもできない ... そんな風に悩んでいました.

で、おかしいなと思うこと四ヶ月くらい (購入したのは昨年のクリスマス for 自分)

ようやくわかりました.

アンラッチもできるのは、 v2 なのですね ...
スイッチと種類と、インジケーターのライトの位置が違います.
購入時にはぜひご確認を ...

どうしよう, v2を見つけたらそちらも買ってしまおうかと.今持っているやつは, 掛けっぱなしよう薄い設定として, v2の方はエグめ設定でアンラッチでレインボー ... したい ...

Simutrans を Win10 でビルドしてみた

Simutrans の自リポジトリを Win10 でビルドしてみました

主に参考にしたページ

qiita.com

しかし, 手間取ったり, 載っていないエラーに苦しみました
ので, ちょっとメモしておきます

・msys2をインストールしても, simutrans をビルドするのは mingw32.exe のほう msys2 じゃない

・make で "x86_64-w64-mingw32-windres.exeが見つからない" とエラーがでた

github.com

「In /mingw64/bin there is no x86_64-w64-mingw32-windres.exe but there is a windres.exe. When I manually copy windres.exe to x86_64-w64-mingw32-windres.exe everything works for now.」

ということで, windres.exe を x86_64-w64-mingw32-windres.exe の名前でコピーしたらビルドできました

なんてこったい

 

↓ こうしてできた win 版のexe を, mac 版共々公開してみました ↓

ux.getuploader.com

 

正直、ぜんぜん私には簡単じゃなかったです
なんども挫折し、その度に数週間放置しました
しかし、やらねばノウハウは蓄積されず、障壁は下がりません
皆さんにも是非、ノウハウを公開して戴きたいとおもっております

ffmpegでスペクトログラムの動画出力

FFmpeg ...

FFmpeg(エフエフエムペグ)は動画と音声を記録・変換・再生するためのフリーソフトウェアである。」FFmpeg - Wikipedia

定番のフリーソフトで、いろんなソフトが実はライブラリとして使っている ... とも、どこかでか聞いたような
コマンドラインで動画や音声をいじる、Pythonからコマンドラインを通して ... というような時には、とりあえずFFmpegが便利です


で、FFmpegでスペクトログラムが出力できる、しかも簡単に
さらには凝ったこともできそうだ、ということに気づきました
ので、感動のあまりこちらにもメモがてら記事にしておきたい

www.youtube.com

↑こんな感じです!↓こんな感じで作れます! 複数!cqt!素晴らしい

ffmpeg -i hoge.wav -filter_complex \
"[0:a]showcqt=s=640x518,pad=1280:720[vs]; \
[0:a]showspectrum=mode=separate:color=intensity:scale=cbrt:slide=scroll:s=640x518[ss]; \
[0:a]showwaves=s=1280x202:mode=line[sw]; \
[vs][ss]overlay=w[bg]; \
[bg][sw]overlay=0:H-h[out]" \
-map "[out]" -map 0:a hoge.mp4

スペクトログラムの画像出力もできました。

ffmpeg -i hoge.wav -lavfi showspectrumpic=s=1024x1024 hoge.png

数値で出せないと、あれこれやるには全然足りないですが、
手軽に見れるのが素晴らしい!

<参考文献>

音声波形を表示する showspectrum, showwaves の使い方 : ニコニコ動画研究所

音声をオクターヴ表示する showcqt の使い方 : ニコニコ動画研究所

FFmpeg Filters Documentation

ffmpeg: audio visualization tricks | Luka Prinčič

How do I turn audio into video (that is, show the waveforms in a video)? - Video Production Stack Exchange

ffmpeg - Create a video file from an audio file and add visualizations from audio - Super User

Simutrans の Scripted AI : sqai の作る路線の設定を弄る

フリーの交通?シミュレーション
Simutrans(http://japanese.simutrans.com)が, 素晴らしい.

SimutransにはAIプレイヤーがあります.それも2種類あります.
1種類はソースに組み込まれていそうなもの.もう1種類はスクリプトで改造,追加ができそうなものです.
今回は,後者のスクリプトの改造についてです.
Scripted AI のデフォルトでいる, sqai を改造するということです.

最初の改造どころは,sqai の作る路線の設定です.
・積むまで待機(%)
・最大待ち時間(月)

sqaiが作成する路線は,どうも貨物関係ばかり.
始点が資材を送る方,終点が受け取る方のようです.
路線の設定は,始点の"積むまで待機(%)"が 100 で,それ以外は 0 のようです.

実装箇所は,$simutrans/ai/sqai/road_connector.nut l.129-130 です.

sched.entries.append( schedule_entry_x(c_start, 100, 0) );
sched.entries.append( schedule_entry_x(c_end, 0, 0) );

わかりやすいですね.
schedule_entry_x の第二引数が 積むまで待機(%), 第三引数が 最大待ち時間(月) のようです.

試しに,以下のように書き換えてみました.

sched.entries.append( schedule_entry_x(c_start, 50, 1) );
sched.entries.append( schedule_entry_x(c_end, 50, 8) );

第二引数の 積むまで待機(%) は,指定した通り 50 % になりました.
わかりにくいのが第三引数です.始点(上の行,1を指定)では 1/32768 , 終点(下の行,
8を指定)では 1/256 となりました.
1/32768 が最小単位として,2^(8-1) ということでしょう.