Rinne
commited on
Commit
•
899fbd2
1
Parent(s):
c486933
initial
Browse files- .gitignore +12 -0
- Packaging.bat +33 -0
- Setup.bat +10 -0
- Sing.bat +28 -0
- Sing.md +38 -0
- Sing0.png +0 -0
- Sing1.png +0 -0
- Sing2.png +0 -0
- Speech.bat +22 -0
- Speech.md +20 -0
- Speech.png +0 -0
- SpeechCPU.bat +22 -0
- VoiceChange.bat +22 -0
- VoiceChange.md +44 -0
- VoiceChange.png +0 -0
.gitignore
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/COEIROINK-*/
|
2 |
+
/MMVCServerSIO/
|
3 |
+
/RVC-beta/
|
4 |
+
/RinneVoiceSet/
|
5 |
+
/7zr.exe
|
6 |
+
/COEIROINK-*.zip
|
7 |
+
/MMVCServerSIO_*.zip
|
8 |
+
/Rinne.index
|
9 |
+
/Rinne.npy
|
10 |
+
/Rinne.onnx
|
11 |
+
/Rinne.pth
|
12 |
+
/RVC-beta.7z
|
Packaging.bat
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@echo off
|
2 |
+
|
3 |
+
pushd %~dp0
|
4 |
+
|
5 |
+
set SEVEN_ZIP=7zr.exe
|
6 |
+
if not exist %SEVEN_ZIP% ( curl -LO https://www.7-zip.org/a/7zr.exe )
|
7 |
+
|
8 |
+
set DST=RinneVoiceSet
|
9 |
+
|
10 |
+
xcopy /QY README.md %DST%\
|
11 |
+
xcopy /QY README.png %DST%\
|
12 |
+
xcopy /QY Setup.bat %DST%\
|
13 |
+
xcopy /QY Sing.md %DST%\
|
14 |
+
xcopy /QY Sing0.png %DST%\
|
15 |
+
xcopy /QY Sing1.png %DST%\
|
16 |
+
xcopy /QY Sing2.png %DST%\
|
17 |
+
xcopy /QY Speech.md %DST%\
|
18 |
+
xcopy /QY Speech.png %DST%\
|
19 |
+
xcopy /QY VoiceChange.md %DST%\
|
20 |
+
xcopy /QY VoiceChange.png %DST%\
|
21 |
+
|
22 |
+
7zr a %DST%\DoNotExtract.7z^
|
23 |
+
64274982-857a-11ed-a560-0242ac1c000c\^
|
24 |
+
Rinne.index^
|
25 |
+
Rinne.npy^
|
26 |
+
Rinne.onnx^
|
27 |
+
Rinne.pth^
|
28 |
+
Sing.bat^
|
29 |
+
Speech.bat^
|
30 |
+
SpeechCPU.bat^
|
31 |
+
VoiceChange.bat
|
32 |
+
|
33 |
+
popd
|
Setup.bat
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@echo off
|
2 |
+
|
3 |
+
pushd %~dp0
|
4 |
+
|
5 |
+
set SEVEN_ZIP=7zr.exe
|
6 |
+
if not exist %SEVEN_ZIP% ( curl -LO https://www.7-zip.org/a/7zr.exe )
|
7 |
+
|
8 |
+
%SEVEN_ZIP% x DoNotExtract.7z
|
9 |
+
|
10 |
+
popd
|
Sing.bat
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@echo off
|
2 |
+
|
3 |
+
pushd %~dp0
|
4 |
+
|
5 |
+
set SEVEN_ZIP=7zr.exe
|
6 |
+
|
7 |
+
if not exist %SEVEN_ZIP% (
|
8 |
+
curl -LO https://www.7-zip.org/a/7zr.exe
|
9 |
+
)
|
10 |
+
|
11 |
+
set RVC_ZIP=RVC-beta.7z
|
12 |
+
if not exist %RVC_ZIP% (
|
13 |
+
curl -LO https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/%RVC_ZIP%
|
14 |
+
)
|
15 |
+
|
16 |
+
set RVC_DIR=RVC-beta
|
17 |
+
if not exist %RVC_DIR%\ (
|
18 |
+
%SEVEN_ZIP% x %RVC_ZIP%
|
19 |
+
)
|
20 |
+
|
21 |
+
if not exist %RVC_DIR%\weights\Rinne.pth (
|
22 |
+
copy .\Rinne.pth %RVC_DIR%\weights\
|
23 |
+
)
|
24 |
+
|
25 |
+
popd
|
26 |
+
|
27 |
+
cd %~dp0%RVC_DIR%
|
28 |
+
start go-web.bat
|
Sing.md
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Rinne を歌わせたい
|
2 |
+
|
3 |
+
[Retrieval-based-Voice-Conversion-WebUI](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI) で、すでにある曲を Rinne に歌わせます。
|
4 |
+
|
5 |
+
# つかいかた
|
6 |
+
|
7 |
+
1. 女性のボーカル付きの曲を mp3 形式や wav 形式で用意します。
|
8 |
+
2. `Sing.bat` をダブルクリックして、[Retrieval-based-Voice-Conversion-WebUI](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI) を立ち上げます。
|
9 |
+
- Windowsファイアウォールで通信を許可しなくとも利用できるようです。
|
10 |
+
3. ブラウザに WebUI が表示されたら画面上部の、「伴奏とボーカルの分離」で、曲を伴奏とボーカルに分離します。
|
11 |
+
![Sing0](./Sing0.png)
|
12 |
+
- 左下の「ここにファイルをドロップ -または- クリックしてアップロード」から mp3 形式や wav 形式の曲を登録できますが、**すぐ上の「フォルダパスを入力」を空欄にする必要があります**。
|
13 |
+
- モデルを「HP5-~」にして「変換」すると `RVC-beta\opt\` 以下に伴奏とボーカルの wav が出力されます。
|
14 |
+
- 曲によって相性があるようなので、「HP2-~」でも「変換」してどちらが伴奏とボーカルをキレイに分離できているかを比較します。
|
15 |
+
4. ボーカルが分離できたら上部の「モデル推論」で、ボーカルを Rinne の声に変換します。
|
16 |
+
![Sing1](./Sing1.png)
|
17 |
+
- 「音源推論」を「Rinne.pth」にします。
|
18 |
+
- 「処理対象音声ファイルのパス」にボーカルのwevのパスにします(フルパス可)。
|
19 |
+
- 「ピッチ抽出アルゴリズム」を「harvest」にします。
|
20 |
+
- 「特徴量検索データベースのファイルパス」を「..\Rinne.index」にします(フルパス可)。
|
21 |
+
- 「特徴量ファイルのパス」を「..\Rinne.py」にします(フルパス可)。
|
22 |
+
5. 「変換」が成功したら、「出力音声」の「…」から変換したボーカルの wav をダウンロードします。
|
23 |
+
6. 変換したボーカルの wav と、分離した伴奏の wav を、[Audacity](https://www.audacityteam.org/) などのツールで結合します。
|
24 |
+
- 例)[Audacity](https://www.audacityteam.org/) でボーカルと伴奏を開き、「ファイル」-「書き出し」-「MP3として書き出す」
|
25 |
+
![](./Sing2.png)
|
26 |
+
|
27 |
+
# 品質の向上
|
28 |
+
|
29 |
+
- 曲を伴奏とボーカルに分離する手段はたくさんあり、よりキレイに分離できる手法がありそうです。
|
30 |
+
- 例)「[UVR5で高精度なBGM除去を行う方法](https://ddpn08.fanbox.cc/posts/5738173)」
|
31 |
+
- 曲や声の組み合わせによって、最適なパラメータは異なるようです。
|
32 |
+
- 「ピッチ変更」を上げ下げしてみる
|
33 |
+
- 「ピッチ抽出アルゴリズム」を「harvest」でなく「pm」にしてみる
|
34 |
+
- 「检索特征占比(特徴量の検索割合?)」を上げ下げしてみる
|
35 |
+
- [Audacity](https://www.audacityteam.org/) などのサウンドツールでも、品質を向上できます。
|
36 |
+
- ボーカルと伴奏のバランス調整やノイズの除去など
|
37 |
+
|
38 |
+
[戻る](./README.md)
|
Sing0.png
ADDED
Sing1.png
ADDED
Sing2.png
ADDED
Speech.bat
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@echo off
|
2 |
+
|
3 |
+
pushd %~dp0
|
4 |
+
|
5 |
+
set COEIROINK_DIR=COEIROINK-GPU-v.1.7.2
|
6 |
+
set COEIROINK_ZIP=%COEIROINK_DIR%.zip
|
7 |
+
if not exist %COEIROINK_ZIP% (
|
8 |
+
curl -Lo %COEIROINK_ZIP% https://www.dropbox.com/s/8rycvu4a58in62h/%COEIROINK_ZIP%?dl=1
|
9 |
+
)
|
10 |
+
|
11 |
+
if not exist %COEIROINK_DIR%\ (
|
12 |
+
PowerShell -Version 5.1 -ExecutionPolicy Bypass Expand-Archive -Path %COEIROINK_ZIP% -DestinationPath .
|
13 |
+
)
|
14 |
+
|
15 |
+
set MYCOE=64274982-857a-11ed-a560-0242ac1c000c
|
16 |
+
if not exist %COEIROINK_DIR%\speaker_info\%MYCOE% (
|
17 |
+
xcopy /SQ %MYCOE%\ %COEIROINK_DIR%\speaker_info\%MYCOE%\
|
18 |
+
)
|
19 |
+
|
20 |
+
call %COEIROINK_DIR%\COEIROINK.exe
|
21 |
+
|
22 |
+
popd
|
Speech.md
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Rinne をしゃべらせたい
|
2 |
+
|
3 |
+
[COEIROINK](https://coeiroink.com/) でテキスト入力した日本語を Rinne にしゃべらせます。
|
4 |
+
|
5 |
+
[COEIROINK](https://coeiroink.com/) の一番の特徴は [MYCOEIROINK](https://coeiroink.com/mycoeiroink) でユーザーが自由に声を追加できることで、これを利用しています。
|
6 |
+
|
7 |
+
# つかいかた
|
8 |
+
|
9 |
+
1. `Speech.bat` をダブルクリックします。
|
10 |
+
2. ダウンロード後に `COEIROINK` が立ち上がり、規約やキャラクター追加を確認します。
|
11 |
+
3. キャラクターで `Rinne` を選択し、テキストを入力して、左下の再生ボタンを押すとしゃべります。
|
12 |
+
|
13 |
+
![Speech](./Speech.png)
|
14 |
+
|
15 |
+
# トラブルシューティング
|
16 |
+
|
17 |
+
- `Speech.bat` で COEIROINK が動作しない場合は、GPU でなく CPU を使う `SpeechCPU.bat` を使うと動作する場合があります。
|
18 |
+
- [COEIROINK](https://coeiroink.com/) の [ダウンロードページの注意書き](https://coeiroink.com/download) や [Q&A](https://coeiroink.com/q_and_a) も参照ください。
|
19 |
+
|
20 |
+
[戻る](./README.md)
|
Speech.png
ADDED
SpeechCPU.bat
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@echo off
|
2 |
+
|
3 |
+
pushd %~dp0
|
4 |
+
|
5 |
+
set COEIROINK_DIR=COEIROINK-CPU-v.1.7.2
|
6 |
+
set COEIROINK_ZIP=%COEIROINK_DIR%.zip
|
7 |
+
if not exist %COEIROINK_ZIP% (
|
8 |
+
curl -Lo %COEIROINK_ZIP% https://www.dropbox.com/s/ofopoyvvao3agyf/%COEIROINK_ZIP%?dl=1
|
9 |
+
)
|
10 |
+
|
11 |
+
if not exist %COEIROINK_DIR%\ (
|
12 |
+
PowerShell -Version 5.1 -ExecutionPolicy Bypass Expand-Archive -Path %COEIROINK_ZIP% -DestinationPath .
|
13 |
+
)
|
14 |
+
|
15 |
+
set MYCOE=64274982-857a-11ed-a560-0242ac1c000c
|
16 |
+
if not exist %COEIROINK_DIR%\speaker_info\%MYCOE% (
|
17 |
+
xcopy /SQ %MYCOE%\ %COEIROINK_DIR%\speaker_info\%MYCOE%\
|
18 |
+
)
|
19 |
+
|
20 |
+
call %COEIROINK_DIR%\COEIROINK.exe
|
21 |
+
|
22 |
+
popd
|
VoiceChange.bat
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@echo off
|
2 |
+
|
3 |
+
pushd %~dp0
|
4 |
+
set ZIP_FILE=MMVCServerSIO_win_onnxgpu-cuda_v.1.5.2.3.zip
|
5 |
+
if not exist %ZIP_FILE% (
|
6 |
+
curl -LO https://huggingface.co/wok000/vcclient/resolve/main/%ZIP_FILE%
|
7 |
+
)
|
8 |
+
|
9 |
+
set MMVC_DIR=MMVCServerSIO
|
10 |
+
if not exist %MMVC_DIR% (
|
11 |
+
PowerShell -Version 5.1 -ExecutionPolicy Bypass Expand-Archive -Path %ZIP_FILE% -DestinationPath .
|
12 |
+
)
|
13 |
+
|
14 |
+
set HUBERT_BASE=hubert_base.pt
|
15 |
+
if not exist %MMVC_DIR%\%HUBERT_BASE% (
|
16 |
+
curl -Lo %MMVC_DIR%\%HUBERT_BASE% https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt
|
17 |
+
)
|
18 |
+
popd
|
19 |
+
|
20 |
+
cd %~dp0MMVCServerSIO
|
21 |
+
start http://localhost:18888/
|
22 |
+
start start_http.bat
|
VoiceChange.md
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Rinne にボイスチェンジしたい
|
2 |
+
|
3 |
+
[RVC](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI) と [VC Client](https://github.com/w-okada/voice-changer) によるボイスチェンジャーで Rinne の声になれます。
|
4 |
+
|
5 |
+
## つかいかた
|
6 |
+
|
7 |
+
1. `VoiceChange.bat` をダブルクリックします。
|
8 |
+
- 赤字のエラーが表示されていたら、新しいVC Clientがリリースされている可能性があります。
|
9 |
+
- `VoiceChange.bat` の `set ZIP_FILE=` 以降のバージョン番号を[公式ページ](https://huggingface.co/wok000/vcclient/tree/main)に合わせると動作する可能性があります。
|
10 |
+
2. インストールが完了すると、ブラウザとアプリで「Realtime Voice Changer Client」が立ち上がります。
|
11 |
+
- Windows Defenderファイアーウォールが通信をブロックしたら「アクセスを許可する」とします。
|
12 |
+
- コンソールにエラーが表示されていたら、一旦閉じて Run.bat を再起動します。
|
13 |
+
- アプリの「Voice Changer Client Demo」は最小化しておきます。
|
14 |
+
- アプリを閉じてしまうとボイスチェンジができなくなります。
|
15 |
+
- アプリからのボイスチェンジでは、なぜかうまく声を変換できません。
|
16 |
+
3. 次の VoiceChange.png と比較しながら、**アプリでなくブラウザ側**を設定します。
|
17 |
+
- ブラウザからマイクへのアクセスを求められたら、許可します。
|
18 |
+
4. ブラウザで「Model Setting」の「Model Uploader」で同梱のRinneモデル4種を「select」して「upload」します。
|
19 |
+
- Onnx(.onnx): Rinne.onnx
|
20 |
+
- PyTorch(.pth): Rinne.pth
|
21 |
+
- feature(.npy): Rinne.npy
|
22 |
+
- index(.index): Rinne.index
|
23 |
+
- 最後に忘れずに「upload」すると、「Server Control」の「Model Info」が更新されます。
|
24 |
+
- アップロードが途中で止まる場合は、一旦終了して Run.bat を再起動してください。
|
25 |
+
5. 変換前に各種設定をします。
|
26 |
+
- 「Device Setting」で「Audio Input」と「Audio Output」を、お使いのサウンドデバイスに設定します。
|
27 |
+
- 変換する声が女性の場合は「Speaker Setting」の「Tuning」を「0」にします。
|
28 |
+
- 「Speaker Setting」の「predict f0」を有効にします。
|
29 |
+
6. 一番上の「Server Control」の「start」で、マイクからの声をリアルタイムで変換できます。
|
30 |
+
![VoiceChange](./VoiceChange.png)
|
31 |
+
7. 変換する声に合わせて以下を調整します。
|
32 |
+
- 「Speaker Setting」の「Tuning」を男性なら「10~20」、女性なら「-5~5」など
|
33 |
+
- マイクのノイズが大きい場合は「Speaker Setting」の「Silent Threshold」を上げる
|
34 |
+
- 「Converter Setting」の「Input Chunk Num」で音声の遅延調整
|
35 |
+
- 「Quality Control」の「F0 Detector」を「harvest」と「dio/pm」で切り替え
|
36 |
+
8. 「Device Setting」の「output record」で「start」すると録音できます。
|
37 |
+
|
38 |
+
## Discord でつかうには
|
39 |
+
|
40 |
+
以下を参考にしてください。
|
41 |
+
|
42 |
+
https://overwhelmingrowth.com/entry/2023/04/09/232415#VB-Audio-Virtual-Cable%E3%81%AE%E5%B0%8E%E5%85%A5
|
43 |
+
|
44 |
+
[戻る](./README.md)
|
VoiceChange.png
ADDED