スタジオおふとん

プログラミング系

ActivityPubすごいなー、と思った話

ActivityPubについてはMastodonやMisskeyで皆さんご存知かと思う。
それゆえに、マイクロブログの互換性みたいなイメージついちゃったのはもったいないなぁ、というお話。

Pixelfed

Pixelfedをご存知だろうか?
ざっくりいうと分散型instagramで、ActivityPubに対応している。
見た目はこんな感じ。

もちろん普通にリンク張ったり、埋め込みしたりもできる。

では、ActivityPubに対応しているとはどういうことだろうか。
そう、そのままMastodonやMisskeyから観覧出来て、boostやリノート出来るのである。

Misskeyから見た画面

これ結構すごくない?ちょっと感動したんだけど。
レイアウト全然違うのに、同じように扱えるっていうのが。
表示側の工夫次第でいろいろできそうじゃん。

どうやらWordPressもActivityPubに対応しているらしい。
はてなブログもやってくんないかなぁ。

Clipchampで貯まったキャッシュを消す方法

Twitterで教えていただいたのだが、毎回探してるし、元Tweetが消えたら終わりなのでメモしておく。

アプリと機能のClipchampの詳細オプションからリセットを押す。

なんだかんだかなりお手軽に使えるので便利は便利よ、Clipchamp

BenQ EC1-C

今使っているマウス。
一か月ほど使用したが、今のところ大きな不満点はない。
もうワンサイズ小さくてもよかったかもしれない。

マウスのサイズは形状によって全然握り心地違うので参考にならない。
G402と違い、これは全体がつるつるなので、親指のところがボロボロになったりしない。

asahane.hatenablog.com

たまにDPIがなんかこころもち変になる気がするが、気のせいかもしれない。

まぁ正直、マウスにこの値段出せるか?ってところなんだけど。
そこ気にしない人にならオススメできる。

Logicool G402

以前に使っていたマウス。
サイズ感など基本性能はかなりいいのだが、2点ほど問題があったので今は違うマウスを使用している。

真ん中のホイールボタンが効かなくなる

これが致命的。特にBlenderユーザーは死活問題。
別におま環ではなくて、似たようなワードでググると引っかかるのでHW的な欠陥かと。

poipoipoip.hatenablog.com

親指の部分がボロボロになって指が汚れる

これは使いすぎのせいかもしれないが、なんなんだあの素材。

TP-Link Bluetooth 5.0 Nano USB Adapter

購入して半年以上たっているが、安定して動いてるしいいと思う。
XBOX Wireless Headsetとかをつないでいる。

RVCで声帯を作るときに詰まった点

まず完成形

https://misskey.gamelore.fun/storage/files/d112fe39-ebf9-43f2-96ad-446e954b8e90.mp3

misskey.gamelore.fun

環境

MMVCのときと微妙に構成が違う理由は後述。

asahane.hatenablog.com

手順

おおむね下記

eyatu-vrc.hatenablog.com

目标采样率は48kにチェック入れておくといいかも。

詰まりポイント

RVC側

port使ってないのに使われてるといわれる

普通にgo-web.batをたたくとこのメッセージ確認する前に閉じちゃうので、コマンドプロンプトからgo-web.batに書いてある内容実行して、それっぽいメッセージが出ていたらこれ。
infer-web.pyの最後の行のserver_portを適当な値(7965など)に変えればOK

クライアント側

RuntimeError: "slow_conv2d_cpu" not implemented for 'Half' Voice Changer Client

v.1.5.1.15bを使うとなる。
v.1.5.1.15aを使うと出なくなる。

scrapbox.io

ブツブツ言ってて明らかにおかしい

音声機材周りを48KHzに統一しないと、サンプリングレートの関係上おかしくなるっぽい。
なので、XBOX Wireless Headsetで使えない。
ゲームするときマイク置くの邪魔だし、いちいちセッティングするのもめんどいので、私はしばらくはMMVCでいいかな、という感じ。

その他感想

すごいはすごいんだけど、ぶっちゃけTuning次第でいくらでも変わるので、学習させた声に近いか?って言われたらよくわからん。
とりあえず何かしらリアルタイムボイチェンしたい。という願いはかなえてくれそう。

追記

このあといろいろやってみたが、やっぱり気軽に学習できるのは強い。
ただ、やっぱりTuningでどうとでも変わるので、「君誰?」ってなる。
そういう意味では誰でもない誰かになるのには強いのかも。
違う視点で考えると、声の種類にタグ付けができていれば音声版Stable Diffusionとして好みの声の作成も可能か?

あと、かなりクリアなのでキモイしゃべり方がそのまま反映されてまぁまぁつらい。

MMVCで声帯を作るときに詰まった点

まず完成形

https://sjc1.vultrobjects.com/misskey/files/295913d2-13ff-4206-a81d-0fc429b981ac.mp3misskey.gamelore.fun

ちなみにこの後、Discordでもちゃんとできた。

環境

ローカルです。

  • Windows 10
    • WSL2
  • CPU i9-9900K
  • メモリ32G
  • RTX3090
  • XBOX Wireless Headset

手順

基本は以下。

github.com

  • tarinのeval_intervalは500
  • batch_sizeは7

にした。

どこで学習をやめるかだが、定期的に表示されるloss/g/melがもう下がらなそうだな。となったらやめる。
19以下になるといいらしい。
今回はどんなに頑張っても19以下にはならず、19.7くらいだった。

詰まりポイント

なんかgpu使ってくれない

cudaのversionが違うとダメっぽい。
上記の手順通り、まっさらからスタートすればこの問題は発生しないと思われるが、過去にcudaを導入しているとそれが悪さする可能性がある。
下記コマンドでcudaを一回削除して、もう一回入れ直すといい。
nvidia-smiで表示されるversionはまた違うっぽいのであんまり参考にならない。

sudo apt-get purge nvidia* && sudo apt-get autoremove && sudo apt-get autoclean && sudo rm -rf /usr/local/cuda*

参考

qiita.com
zenn.dev

CUDA kernel errors might be asynchronously reported at some other API call

RuntimeError: CUDA error: unknown error
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

ビデオメモリが足りないときに出るエラーらしいが、そんな感じもしなかったからよくわからん。 何回かやってればうまくいく。

MMVC Clientの話

  • バイスの設定は同じのが複数ある場合、若いのを指定しないと動かないっぽい。
    • 昔は数値で指定だったが、今は文字列指定でOK. よくわかんなかったら数値で指定してもいい。
  • パスは絶対パスで指定したほうが確実。
    • というかどこから見た相対パスなのかがわからない。
  • target_idはcreate_dataset_jtask.pyの-tに指定した値を設定する
    • 下記に記載している春日部つむぎ王への道講座を見ておくといい。
  • ずんだもんチュートリアルのやり方だとonnxは使用しない。
    • use_onnxはfalse
    • pathのmodelは.pthを指定する

参考

gaprot.jp

youtu.be

Discordで使うとき

  • VB Audioを使う。
  • MMVC Clientのoutput_deviceをCABLE Inputにする。
  • Discordの入力デバイスをCABLE Outputにする。
    • マイクテストが反応しないときは、一回入力デバイスを違うやつにしてからCABLE Outputにすると直ったりする。