-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
81 lines (81 loc) · 12 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>フゴゴゴゴ</title><link>https://yayoyuyu.github.io/</link><description>Recent content on フゴゴゴゴ</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Sun, 08 Dec 2024 21:00:32 0900</lastBuildDate><atom:link href="https://yayoyuyu.github.io/index.xml" rel="self" type="application/rss xml"/><item><title>LinuxでVCClientを使ってみる</title><link>https://yayoyuyu.github.io/post/linux-vcclient/</link><pubDate>Sun, 08 Dec 2024 21:00:32 0900</pubDate><guid>https://yayoyuyu.github.io/post/linux-vcclient/</guid><description><h2 id="vcclientとは">VCClientとは
</h2><p><a class="link" href="https://github.com/w-okada/voice-changer" target="_blank" rel="noopener"
>VCClient</a>とは、いわゆるAIボイスチェンジャーと言われるソフト。
RVCやMMVCなど複数のモデルに対応している。<br>
対応プラットフォームはWindows、M1 Mac、Linux、Google Colab。</p>
<h2 id="インストール方法について">インストール方法について
</h2><p>Windows、M1 Macではビルドされたものが<a class="link" href="https://huggingface.co/wok000/vcclient000/tree/main" target="_blank" rel="noopener"
>Hugging Face</a>でダウンロードできるが、Linuxへは配布されていないので<a class="link" href="https://github.com/w-okada/voice-changer/blob/master/README_dev_ja.md" target="_blank" rel="noopener"
>開発者向けの方法</a>でインストールする。</p>
<h2 id="インストール">インストール
</h2><p>まずはリポジトリをクローンしてcd</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>git clone https://github.com/w-okada/voice-changer.git
</span></span><span style="display:flex;"><span>cd ./voice-changer
</span></span></code></pre></div><h3 id="仮想環境をつくる">仮想環境をつくる
</h3><p>ドキュメントではAnacondaを使っているが、多分仮想環境を作れるなら何でもよさそうなので
<a class="link" href="https://github.com/astral-sh/uv" target="_blank" rel="noopener"
>uv</a> を使ってみる。
pythonのバージョンは<strong>3.10</strong>なのでオプションで指定しておく。<br>
仮想環境を作って有効化</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>uv venv -p 3.10
</span></span><span style="display:flex;"><span>source ./.venv/bin/activate
</span></span></code></pre></div><p>仮想環境から抜ける時は</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>deactivate
</span></span></code></pre></div><p>でOK</p>
<h3 id="モジュールをインストールする">モジュールをインストールする
</h3><p><a class="link" href="https://github.com/w-okada/voice-changer/blob/master/server/requirements.txt" target="_blank" rel="noopener"
>requirements.txt</a>からインストール</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>uv pip install -r ./server/requirements.txt
</span></span></code></pre></div><p>自分の環境では実行したときに<code>ModuleNotFoundError</code>と言われたので追加でインストールした。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>uv pip install fairseq pyworld
</span></span></code></pre></div><h2 id="つかう">つかう
</h2><p>serverディレクトリに入って</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>cd ./server
</span></span></code></pre></div><p>起動する。ちなみにこれは公式ドキュメントに書いてあったものからhttpsで起動するオプションを外したもの。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>python3 MMVCServerSIO.py -p <span style="color:#ae81ff">18888</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --content_vec_500 pretrain/checkpoint_best_legacy_500.pt <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --content_vec_500_onnx pretrain/content_vec_500.onnx <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --content_vec_500_onnx_on true <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --hubert_base pretrain/hubert_base.pt <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --hubert_base_jp pretrain/rinna_hubert_base_jp.pt <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --hubert_soft pretrain/hubert/hubert-soft-0d54a1f4.pt <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --nsf_hifigan pretrain/nsf_hifigan/model <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --crepe_onnx_full pretrain/crepe_onnx_full.onnx <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --crepe_onnx_tiny pretrain/crepe_onnx_tiny.onnx <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --rmvpe pretrain/rmvpe.pt <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --model_dir model_dir <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --samples samples.json
</span></span></code></pre></div><p>shファイルで保存して実行権限を与えておくとサッと実行できて便利。</p>
<p>初回起動時はモデルのダウンロードが行われる。デフォルト設定ならサーバーが<code>http://localhost:18888/</code>で起動するので、適当なブラウザで開く。</p>
<p>チュートリアルは<a class="link" href="https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md" target="_blank" rel="noopener"
>ここ</a></p>
<h3 id="ループバック">ループバック
</h3><p>実際にボイスチャットなどでマイク入力として使用する場合は、出力から入力へループバックする必要がある。PipeWireなら<code>libpipewire-module-loopback</code>を使うとよさそう。
実際の方法は<a class="link" href="https://sorrel.sh/blog/pipewire-how-to-static-loopbacks/" target="_blank" rel="noopener"
>この記事</a>とかを見るのがよさげかも。</p>
<h3 id="終了する">終了する
</h3><p>CTRL-cで終了できているように見えるが、裏ではまだ生きているのでhtopやらなんやらでkillする。(もっとちゃんとした方法があるかも)<br>
<code>deactivate</code>で仮想環境を抜ければおわり。</p>
<h2 id="リンク">リンク
</h2><p><a class="link" href="https://github.com/w-okada/voice-changer" target="_blank" rel="noopener"
>VCClient</a><br>
<a class="link" href="https://github.com/astral-sh/uv" target="_blank" rel="noopener"
>uv</a></p></description></item><item><title>ddc-fuzzyにddc-filter-matcher_prefixを合わせるといい感じかも</title><link>https://yayoyuyu.github.io/post/2020240803-ddc-fuzzy-and-matcher_prefix/</link><pubDate>Sat, 03 Aug 2024 02:16:01 0900</pubDate><guid>https://yayoyuyu.github.io/post/2020240803-ddc-fuzzy-and-matcher_prefix/</guid><description><p>基本的にddc.vimのfilterはddc-fuzzyを使っていたのだけど、途中の部分にマッチしたものが出ていたのが出てくるのがあまり好きじゃなかったのでmatcher_prefixでprefixにマッチさせたら結構いい感じだったかもしれない。</p>
<p><img src="https://i.gyazo.com/3343fb764fb0fc88a7d9c3b37bb3da42.webp"
loading="lazy"
alt="ビフォーアフター"
></p>
<p>だいたいこんなかんじ。</p>
<p>ちなみにmatcher_prefixのparamsのprefixLengthを変更するとprefixの長さを変更出来る。</p></description></item><item><title>skkeletonがgit経由で取得した辞書を読んでくれない問題の対処</title><link>https://yayoyuyu.github.io/post/20231209-skkeleton-doesnt-read-dict/</link><pubDate>Sat, 09 Dec 2023 02:31:56 0900</pubDate><guid>https://yayoyuyu.github.io/post/20231209-skkeleton-doesnt-read-dict/</guid><description><h2 id="なんでこうなるの">なんでこうなるの
</h2><p>gitが改行コードを自動で変換する設定になっていたせいらしい<br>
skkeletonは辞書の改行コードがLFじゃないと読んでくれないのでそのせいで失敗してた</p>
<h2 id="対処">対処
</h2><p>こんな感じでgitの設定を変更して改行コードの自動変換をオフにすればよい</p>
<pre tabindex="0"><code>git config --global core.autocrlf false
</code></pre><p>追記
globalで設定すると他のリポジトリに問題が起きる可能性があるのでlocalで設定した方が安全かも</p></description></item><item><title>最初の</title><link>https://yayoyuyu.github.io/post/first/</link><pubDate>Sun, 12 Nov 2023 15:00:18 0900</pubDate><guid>https://yayoyuyu.github.io/post/first/</guid><description><p>暇だったのでGithub Pages Hugoでサイト作ってみました。<br>
Github Pages、無料なんでね。無料。無料ですよ?もう使うしか無いじゃないですか…</p>
<p>Hugo触るの初めてなのでよくわからないですが、情報はいっぱいあるのでそんなに難しくはないかな~?
理解に若干苦しんだのはリポジトリを2個使うってことくらいですかね。管理用リポジトリにプッシュして、それをGithub ActionsでビルドしてGithub Pagesのリポジトリにプッシュするっていうのは一瞬わからなかったかも。まあ今は完全に理解しました。</p>
<p>一応ちょくちょく何か書きたいな~とは思ってるので多分また何か書きます。多分ね</p>
<p>そんじゃ今回はそんな感じで。</p></description></item></channel></rss>