This commit is contained in:
w-okada 2023-07-02 02:01:38 +09:00
parent c48ac96104
commit 2ffc38154b
5 changed files with 846 additions and 288 deletions

View File

@ -17,7 +17,7 @@ VC Client は図中の3か所で音声がどのような状態になってい
### (1)(2)での音声の状態について確認 ### (1)(2)での音声の状態について確認
<img src="https://user-images.githubusercontent.com/48346627/235551159-907a8cbd-a3a7-4183-8d6f-31f235879eb9.png" width="720"> <img src="https://github.com/w-okada/voice-changer/assets/48346627/fb0ee6fe-e543-4ea2-8351-bf95a5c8a063" width="720">
Analyzer の Sampling を start させた状態で音声変換を開始してください。ある程度音声を入力した後に Sampling をストップすると in/out に再生ボタンが表示されます。 Analyzer の Sampling を start させた状態で音声変換を開始してください。ある程度音声を入力した後に Sampling をストップすると in/out に再生ボタンが表示されます。
@ -26,10 +26,15 @@ Analyzer の Sampling を start させた状態で音声変換を開始してく
### (3)での音声の状態について確認 ### (3)での音声の状態について確認
<img src="https://user-images.githubusercontent.com/48346627/235551182-f6bc172c-0225-44fd-a8a8-d5c0fce933b7.png" width="720"> <img src="https://github.com/w-okada/voice-changer/assets/48346627/18ddfc2c-beb2-4e7a-8a06-1e00cc6ddb72" width="720">
AudioOutput の output record を start させた状態で音声変換を開始してください。ある程度音声を入力した後に stop すると.wav ファイルがダウンロードされます。この.wav ファイルはサーバから受信した変換後の音声が録音されているはずです。 AudioOutput の output record を start させた状態で音声変換を開始してください。ある程度音声を入力した後に stop すると.wav ファイルがダウンロードされます。この.wav ファイルはサーバから受信した変換後の音声が録音されているはずです。
## 音声の状態の確認後 ## 音声の状態の確認後
前述の図の(1)~(3)のどこまで想定された音声が録音されているかを把握したら、想定された音声が録音された場所以降で問題がないかを検討してください。 前述の図の(1)~(3)のどこまで想定された音声が録音されているかを把握したら、想定された音声が録音された場所以降で問題がないかを検討してください。
### (1)での音声の状態がおかしい場合
マイク入力自体に問題がある可能性があります。録音ソフトなどを用いてマイク入力を確認してみてください。
また、[こちらの録音サイト](https://w-okada.github.io/voice-changer/)は VCClient の姉妹品であり、ほぼ同等のマイク入力処理が行われているため参考になります。(インストール不要。ブラウザのみで動きます。)

View File

@ -0,0 +1,275 @@
# Realtime Voice Changer Client for RVC Tutorial (v.1.5.3.3)
[Japanese/日本語](/tutorials/tutorial_rvc_en_latest.md)
# Introduction
This application is client software for real-time voice conversion that supports various voice conversion models. This document provides a description for voice conversion limited to [RVC(Retrieval-based-Voice-Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI).
From the following, the original [Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) is referred to as the original-RVC, [RVC-WebUI](https://github.com/ddPn08/rvc-webui) created by ddPn08 is referred to as ddPn08-RVC.
## Notes
- Model training must be done separately.
- If you want to learn by yourself, please go to [original-RVC](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI) or [ddPn08RVC](https://github.com/ddPn08/rvc-webui).
- [Recording app on Github Pages](https://w-okada.github.io/voice-changer/) is convenient for preparing voice for learning on the browser.
- [Commentary video] (https://youtu.be/s_GirFEGvaA)
- [TIPS for training](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/docs/training_tips_en.md) has been published, so please refer to it.
# Steps up to startup
## Start GUI
### Windows version,
Unzip the downloaded zip file and run `start_http.bat`.
### Mac version
After extracting the download file, execute `startHttp.command`. If it shows that the developer cannot be verified, press the control key again and click to execute (or right-click to execute).
### Precautions when connecting remotely
When connecting remotely, please use `.bat` file (win) and `.command` file (mac) where http is replaced with https.
### Console
When you run a .bat file (Windows) or .command file (Mac), a screen like the following will be displayed and various data will be downloaded from the Internet at the initial start-up. Depending on your environment, it may take 1-2 minutes in many cases.
![image](https://github.com/w-okada/voice-changer/assets/48346627/88a30097-2fb3-4c50-8bf1-19c41f27c481)
### GUI
Once the download of required data for launching is complete, a Launcher screen like the following will appear. Please select RVC from this screen.
![v1.5.3.1 RVC](https://github.com/w-okada/voice-changer/assets/48346627/0f407779-7798-49f9-a542-663d80807cdb)
# Quick start
At startup, you can immediately perform voice conversion using the data downloaded.
Select the microphone and speakers in (1) of the figure below, then press the start button in (2). After a few seconds of data loading, the voice conversion will start. For those who are not used to it, it is recommended to select client device in (1) to select the microphone and speakers. (The difference between server device will be described later.)
![image](https://github.com/w-okada/voice-changer/assets/48346627/ce2f8be7-852e-4b78-adce-1df8cad9fbab)
## Configurable items
The items that can be set with the GUI are divided into sections like the figure below. Each section can be opened and closed by clicking the title.
![image](https://github.com/w-okada/voice-changer/assets/48346627/a5eab90c-c0af-42cd-abfb-e897d333d1ff)
## Title
![image](https://github.com/w-okada/rvc-trainer-docker/assets/48346627/0ea2106d-9da9-493b-aee0-8320fa58e273)
Icons are links.
| Icon | To |
| :--------------------------------------------------------------------------------------------------------------------------------- | :---------------- |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/97c18ca5-eee5-4be2-92a7-8092fff960f2" width="32"> Octocat | github repository |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/751164e4-7b7d-4d7e-b49c-1ad660bf7439" width="32"> question | manual |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/7bc188db-3aae-43eb-98a1-34aacc16173d" width="32"> spanner | tools |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/5db16acc-e901-40d2-8fc2-1fb9fd67f59c" width="32"> coffee | donation |
### claer setting
Initialize configuration.
### reload
Reload the window.
### re-select vc
Return to launcher.
## server control
### start
`start` starts the server, `stop` stops the server
### monitor
Indicates the status of real-time conversion.
The lag from voicing to conversion is `buf + res seconds`. Adjust so that the buf time is longer than res.
If you are using the device in server device mode, this display will not be shown. It will be displayed on the console side.
#### vol
This is the volume after voice conversion.
#### buf
It is the length (ms) of one section to cut the audio. Shortening the Input Chunk reduces this number.
#### res
This is the time it takes to convert data that is the sum of Input Chunk and Extra Data Length. Shortening both Input Chunk and Extra Data Length will reduce the number.
### Switch Model
### Switch Model
You can switch between uploaded models.
Information about the model is shown in [] under the name
1. Is the model considering f0(=pitch)?
- f0: consider
- nof0: don't consider
2. Sampling rate used to train the model
3. Number of feature channels used by the model
4. Clients used for learning
- org: This is the model trained in [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI).
- webui: The model trained on [ddPn08-RVC](https://github.com/ddPn08/rvc-webui).
### Operation
A button is placed to perform operations on the model and server. and server.
#### export onnx
We can output an ONNX model. Converting a PyTorch model to an ONNX model can sometimes speed up inference.
#### download
Download the model. It is mainly used to get the results of model merging.
## Model Setting
#### Model Slot
You can choose which frame to set the model in. The set model can be switched with Switch Model in Server Control.
When setting up the model, you can choose to either load the file or download it from the internet. Depending on your choice, the available settings will change.
- file: Select a local file to load the model.
- from net: Download the model from the internet.
#### Model(.onnx or .pth)
If you set it to load from a file, it will be displayed.
Specify the trained model here. Required fields.
You can choose either ONNX format (.onnx) or PyTorch format (.pth).
- If trained with [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI), it is in `/logs/weights`.
- If trained with [ddPn08-RVC](https://github.com/ddPn08/rvc-webui), it is in `/models/checkpoints`.
#### index(.index)
If you set it to load from a file, it will be displayed.
This is an additional function that brings the features extracted by HuBERT closer to the training data. Used in pairs with feature(.npy).
- If trained with [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI), it is in `/logs/your-expetiment-name/total_fea.npy`.
- If trained with [ddPn08-RVC](https://github.com/ddPn08/rvc-webui), it is in `/models/checkpoints/your-model-name_index/your-model-name.0.big.npy`.
#### Select Model
If you choose to download from the internet, you will see the model to download. Please check the link to the terms of use before using it.
#### Default Tune
Enter the default value for how much the pitch of the voice should be converted. You can also convert during inference. Below is a guideline for the settings.
- +12 for male voice to female voice conversion
- -12 for female voice to male voice conversion
#### upload
After setting the above items, press to make the model ready for use.
#### select
When you set the option to download from the internet, the items above will be displayed. After setting the items above, press to activate the model.
## Speaker Setting
### Tuning
Adjust the pitch of your voice. Below is a guideline for the settings.
- +12 for male voice to female voice conversion
- -12 for female voice to male voice conversion
### index ratio
Specify the ratio to shift to the features used in training. Effective when both feature and index are set in Model Setting.
0 uses the output of HuBERT as it is, 1 brings it all back to the original features.
If the index ratio is greater than 0, the search may take a long time.
### Silent Threshold
The volume threshold for audio conversion. If the rms is smaller than this value, no voice conversion is performed and silence is returned.
(In this case, the conversion process is skipped, so the load is less.)
## Converter Setting
### InputChunk Num(128sample / chunk)
Decide how much length to cut and convert in one conversion. The higher the value, the more efficient the conversion, but the larger the buf value, the longer the maximum time before the conversion starts. The approximate time is displayed in buff:.
### Extra Data Length
Determines how much past audio to include in the input when converting audio. The longer the past voice is, the better the accuracy of the conversion, but the longer the res is, the longer the calculation takes.
(Probably because Transformer is a bottleneck, the calculation time will increase by the square of this length)
Detail is [here](https://github.com/w-okada/voice-changer/issues/154#issuecomment-1502534841)
### GPU
If you have 2 or more GPUs, you can choose your GPU here.
## Device Setting
Choose between client device mode and server device mode. You can only change it when the voice conversion is stopped.
For more details on each mode, please see [here](./tutorial_device_mode.md).
### Audio Input
Choose an input device
### Audio Output
Choose an output terminal
#### output record
It will only be displayed when in client device mode.
Audio is recorded from when you press start until you press stop.
Pressing this button does not start real-time conversion.
Press Server Control for real-time conversion
## Lab
You can do model merging.
Set the component amounts for each source model for the merge. Create a new model according to the ratio of the component amounts.
## Quality Control
### Noise Supression
On/Off of the browser's built-in noise removal function.
### Gain Control
- input: Increase or decrease the volume of the input audio to the model. 1 is the default value
- output: Increase or decrease the volume of the output audio from the model. 1 is the default value
### F0Detector
Choose an algorithm for extracting the pitch. You can choose from the following two types.
- Lightweight `dio`
- Highly accurate `harvest`
- Middle accurate with gpu `crepe`
### Analyzer(Experimental)
Record input and output on the server side.
As for the input, the sound of the microphone is sent to the server and recorded as it is. It can be used to check the communication path from the microphone to the server.
For output, the data output from the model is recorded in the server. You can see how the model behaves (once you've verified that your input is correct).

View File

@ -1,10 +1,10 @@
# Realtime Voice Changer Client for RVC Tutorial (v.1.5.3.3) # Realtime Voice Changer Client for RVC Tutorial (v.1.5.3.7)
[Japanese/日本語](/tutorials/tutorial_rvc_en_latest.md) [Japanese/日本語](/tutorials/tutorial_rvc_en_latest.md)
# Introduction # Introduction
This application is client software for real-time voice conversion that supports various voice conversion models. This document provides a description for voice conversion limited to [RVC(Retrieval-based-Voice-Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI). This application is client software for real-time voice conversion that supports various voice conversion models. This application support the models including RVC, MMVCv13, MMVCv15, So-vits-svcv40, etc. However, this document focus on [RVC(Retrieval-based-Voice-Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI) for voice conversion as the tutorial material. The basic operations for each model are essentially the same.
From the following, the original [Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) is referred to as the original-RVC, [RVC-WebUI](https://github.com/ddPn08/rvc-webui) created by ddPn08 is referred to as ddPn08-RVC. From the following, the original [Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) is referred to as the original-RVC, [RVC-WebUI](https://github.com/ddPn08/rvc-webui) created by ddPn08 is referred to as ddPn08-RVC.
@ -40,26 +40,51 @@ When you run a .bat file (Windows) or .command file (Mac), a screen like the fol
### GUI ### GUI
Once the download of required data for launching is complete, a Launcher screen like the following will appear. Please select RVC from this screen. Once the download of the required data is complete, a dialog like the one below will be displayed. If you wish, press the yellow icon to reward the developer with a cup of coffee. Pressing the Start button will make the dialog disappear.
![v1.5.3.1 RVC](https://github.com/w-okada/voice-changer/assets/48346627/0f407779-7798-49f9-a542-663d80807cdb) ![image](https://github.com/w-okada/voice-changer/assets/48346627/a8d12b5c-d1e8-4ca6-aed0-72cee6bb97c1)
# GUI Overview
Use this screen to operate.
![image](https://github.com/w-okada/voice-changer/assets/48346627/27add00d-5059-4cbf-a732-9deb6dc309ff)
# Quick start # Quick start
At startup, you can immediately perform voice conversion using the data downloaded. You can immediately perform voice conversion using the data downloaded at startup.
Select the microphone and speakers in (1) of the figure below, then press the start button in (2). After a few seconds of data loading, the voice conversion will start. For those who are not used to it, it is recommended to select client device in (1) to select the microphone and speakers. (The difference between server device will be described later.)
![image](https://github.com/w-okada/voice-changer/assets/48346627/ce2f8be7-852e-4b78-adce-1df8cad9fbab) ## Operation
(1) To get started, click on the Model Selection area to select the model you would like to use. Once the model is loaded, the images of the characters will be displayed on the screen.
(2) Select the microphone (input) and speaker (output) you wish to use. If you are unfamiliar, we recommend selecting the client and then selecting your microphone and speaker. (We will explain the difference between server later).
(3) When you press the start button, the audio conversion will start after a few seconds of data loading. Try saying something into the microphone. You should be able to hear the converted audio from the speaker.
![image](https://github.com/w-okada/voice-changer/assets/48346627/883b296e-e5ca-4571-8fed-dcf7495ebb92)
## FAQ on Quick Start
Q1. The audio is becoming choppy and stuttering.
A1. It is possible that your PC's performance is not adequate. Try increasing the CHUNK value (as shown in Figure as A, for example, 1024). Also try setting F0 Det to dio (as shown in Figure as B).
![image](https://github.com/w-okada/voice-changer/assets/48346627/3c485d9b-53be-47c1-85d9-8663363b06f9)
Q2. The voice is not being converted.
A2. Refer to this and identify where the problem lies, and consider a solution.
Q3. The pitch is off.
A3. Although it wasn't explained in the Quick Start, if the model is pitch-changeable, you can change it with TUNE. Please refer to the more detailed explanation below.
## Configurable items ## Configurable items
The items that can be set with the GUI are divided into sections like the figure below. Each section can be opened and closed by clicking the title.
![image](https://github.com/w-okada/voice-changer/assets/48346627/a5eab90c-c0af-42cd-abfb-e897d333d1ff)
## Title ## Title
![image](https://github.com/w-okada/rvc-trainer-docker/assets/48346627/0ea2106d-9da9-493b-aee0-8320fa58e273) ![image](https://github.com/w-okada/voice-changer/assets/48346627/bb813fbb-4ea1-4c3b-87b0-da75b7eaac5e)
Icons are links. Icons are links.
@ -74,27 +99,25 @@ Icons are links.
Initialize configuration. Initialize configuration.
### reload ## Model Selection
Reload the window. ![image](https://github.com/w-okada/voice-changer/assets/48346627/503eb581-a560-42b2-985b-d229d186eac8)
### re-select vc Select the model you wish to use.
Return to launcher. By pressing the "edit" button, you can edit the list of models (model slots). Please refer to the model slots editing screen for more details.
## server control ## Main Control
### start ![image](https://github.com/w-okada/voice-changer/assets/48346627/5a8dcf64-29d3-49cd-92f1-db7b539bfb3d)
`start` starts the server, `stop` stops the server A character image loaded on the left side will be displayed. The status of real-time voice changer is overlaid on the top left of the character image.
### monitor You can use the buttons and sliders on the right side to control various settings.
Indicates the status of real-time conversion. ### status of real-time voice changer
The lag from voicing to conversion is `buf + res seconds`. Adjust so that the buf time is longer than res. The lag time from speaking to conversion is `buf + res` seconds. When adjusting, please adjust the buffer time to be longer than the res time.
If you are using the device in server device mode, this display will not be shown. It will be displayed on the console side.
#### vol #### vol
@ -102,174 +125,150 @@ This is the volume after voice conversion.
#### buf #### buf
It is the length (ms) of one section to cut the audio. Shortening the Input Chunk reduces this number. The length of each chunk in milliseconds when capturing audio. Shortening the CHUNK will decrease this number.
#### res #### res
This is the time it takes to convert data that is the sum of Input Chunk and Extra Data Length. Shortening both Input Chunk and Extra Data Length will reduce the number. The time it takes to convert data with CHUNK and EXTRA added is measured. Decreasing either CHUNK or EXTRA will reduce the number.
### Switch Model ### Control
### Switch Model #### start/stop button
You can switch between uploaded models. Press "start" to begin voice conversion and "stop" to end it.
Information about the model is shown in [] under the name
1. Is the model considering f0(=pitch)? #### GAIN
- f0: consider
- nof0: don't consider
2. Sampling rate used to train the model
3. Number of feature channels used by the model
4. Clients used for learning
- org: This is the model trained in [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI).
- webui: The model trained on [ddPn08-RVC](https://github.com/ddPn08/rvc-webui).
### Operation - in: Change the volume of the inputted audio for the model.
A button is placed to perform operations on the model and server. and server. - out: Change the volume of the converted audio.
#### export onnx #### TUNE
We can output an ONNX model. Converting a PyTorch model to an ONNX model can sometimes speed up inference. Enter a value for how much to convert the pitch of the voice. Conversion can also be done during inference. Below are some guidelines for settings.
#### download
Download the model. It is mainly used to get the results of model merging.
## Model Setting
#### Model Slot
You can choose which frame to set the model in. The set model can be switched with Switch Model in Server Control.
When setting up the model, you can choose to either load the file or download it from the internet. Depending on your choice, the available settings will change.
- file: Select a local file to load the model.
- from net: Download the model from the internet.
#### Model(.onnx or .pth)
If you set it to load from a file, it will be displayed.
Specify the trained model here. Required fields.
You can choose either ONNX format (.onnx) or PyTorch format (.pth).
- If trained with [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI), it is in `/logs/weights`.
- If trained with [ddPn08-RVC](https://github.com/ddPn08/rvc-webui), it is in `/models/checkpoints`.
#### index(.index)
If you set it to load from a file, it will be displayed.
This is an additional function that brings the features extracted by HuBERT closer to the training data. Used in pairs with feature(.npy).
- If trained with [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI), it is in `/logs/your-expetiment-name/total_fea.npy`.
- If trained with [ddPn08-RVC](https://github.com/ddPn08/rvc-webui), it is in `/models/checkpoints/your-model-name_index/your-model-name.0.big.npy`.
#### Select Model
If you choose to download from the internet, you will see the model to download. Please check the link to the terms of use before using it.
#### Default Tune
Enter the default value for how much the pitch of the voice should be converted. You can also convert during inference. Below is a guideline for the settings.
- +12 for male voice to female voice conversion - +12 for male voice to female voice conversion
- -12 for female voice to male voice conversion - -12 for female voice to male voice conversion
#### upload #### INDEX (Only for RVC)
After setting the above items, press to make the model ready for use. You can specify the rate of weight assigned to the features used in training. This is only valid for models which have an index file registered. 0 uses HuBERT's output as-is and 1 assigns all weights to the original features. If the index ratio is greater than 0, it may take longer to search.
#### select #### Voice
When you set the option to download from the internet, the items above will be displayed. After setting the items above, press to activate the model. Set the speaker of the audio conversion.
## Speaker Setting #### save setting
### Tuning Save the settings specified. When the model is recalled again, the settings will be reflected. (Excluding some parts).
Adjust the pitch of your voice. Below is a guideline for the settings. #### export to onnx
- +12 for male voice to female voice conversion This output will convert the PyTorch model to ONNX. It is only valid if the loaded model is a RVC PyTorch model.
- -12 for female voice to male voice conversion
### index ratio #### Others
Specify the ratio to shift to the features used in training. Effective when both feature and index are set in Model Setting. The item that can be configured by the AI model used will vary. Please check the features and other information on the model manufacturer's website.
0 uses the output of HuBERT as it is, 1 brings it all back to the original features.
If the index ratio is greater than 0, the search may take a long time.
### Silent Threshold ## Configuration
The volume threshold for audio conversion. If the rms is smaller than this value, no voice conversion is performed and silence is returned. ![image](https://github.com/w-okada/voice-changer/assets/48346627/cd04ba9f-f7e8-4a7e-8c93-cda3c81f3c1a)
(In this case, the conversion process is skipped, so the load is less.)
## Converter Setting You can review the action settings and transformation processes.
### InputChunk Num(128sample / chunk) #### NOISE
You can switch the noise cancellation feature on and off, however it is only available in Client Device Mode.
- Echo: Echo Cancellation Function
- Sup1, Sup2: This is a noise suppression feature.
#### F0 Det (F0 Estimator)
Choose an algorithm for extracting the pitch. You can choose from the following options.
- Lightweight `dio`
- High-precision `harvest`
- GPU-enabled `crepe`
#### S. Thresh (Noise Gate)
This is the threshold of the volume for performing speech conversion. When the rms is smaller than this value, speech conversion will be skipped and silence will be returned instead. (In this case, since the conversion process is skipped, the burden will not be so large.)
#### CHUNK (Input Chunk Num)
Decide how much length to cut and convert in one conversion. The higher the value, the more efficient the conversion, but the larger the buf value, the longer the maximum time before the conversion starts. The approximate time is displayed in buff:. Decide how much length to cut and convert in one conversion. The higher the value, the more efficient the conversion, but the larger the buf value, the longer the maximum time before the conversion starts. The approximate time is displayed in buff:.
### Extra Data Length #### EXTRA (Extra Data Length)
Determines how much past audio to include in the input when converting audio. The longer the past voice is, the better the accuracy of the conversion, but the longer the res is, the longer the calculation takes. Determines how much past audio to include in the input when converting audio. The longer the past voice is, the better the accuracy of the conversion, but the longer the res is, the longer the calculation takes.
(Probably because Transformer is a bottleneck, the calculation time will increase by the square of this length) (Probably because Transformer is a bottleneck, the calculation time will increase by the square of this length)
Detail is [here](https://github.com/w-okada/voice-changer/issues/154#issuecomment-1502534841) Detail is [here](https://github.com/w-okada/voice-changer/issues/154#issuecomment-1502534841)
### GPU #### GPU
If you have 2 or more GPUs, you can choose your GPU here. You can select the GPU to use in the onnxgpu version.
## Device Setting In the onnxdirectML version, you can switch the GPU ON/OFF.
Choose between client device mode and server device mode. You can only change it when the voice conversion is stopped. #### AUDIO
For more details on each mode, please see [here](./tutorial_device_mode.md). Choose the type of audio device you want to use. For more information, please refer to the [document](./tutorial_device_mode.md).
### Audio Input - Client: You can make use of the microphone input and speaker output with the GUI functions such as noise cancellation.
- Server: VCClient can directly control the microphone and speaker to minimize latency.
Choose an input device #### input
### Audio Output You can select a sound input device such as a microphone input. It's also possible to input from audio files (size limit applies).
Choose an output terminal #### output
#### output record You can select audio output devices such as speakers and output.
It will only be displayed when in client device mode. #### monitor
Audio is recorded from when you press start until you press stop. In monitor mode, you can select audio output devices such as speaker output. This is only available in server device mode.
Pressing this button does not start real-time conversion.
Press Server Control for real-time conversion
## Lab #### REC.
You can do model merging. It will output the converted audio to a file.
Set the component amounts for each source model for the merge. Create a new model according to the ratio of the component amounts.
## Quality Control ### ServerIO Analizer
### Noise Supression We can record and confirm the input audio to the speech conversion AI and the output audio from the speech conversion AI.
On/Off of the browser's built-in noise removal function. Please refer to [this document](trouble_shoot_communication_ja.md) for an overview of the idea.
### Gain Control #### SIO rec.
- input: Increase or decrease the volume of the input audio to the model. 1 is the default value I will start/stop recording both the audio inputted into the voice conversion AI as well as the audio outputted from the voice conversion AI.
- output: Increase or decrease the volume of the output audio from the model. 1 is the default value
### F0Detector #### output
Choose an algorithm for extracting the pitch. You can choose from the following two types. The AI will play back any audio that is input into it.
- Lightweight `dio` #### in
- Highly accurate `harvest`
- Middle accurate with gpu `crepe`
### Analyzer(Experimental) I will play the audio inputted to the speech conversion AI.
Record input and output on the server side. #### out
As for the input, the sound of the microphone is sent to the server and recorded as it is. It can be used to check the communication path from the microphone to the server.
For output, the data output from the model is recorded in the server. You can see how the model behaves (once you've verified that your input is correct). Play the audio output from the Speech Conversion AI.
### more...
You can do more advanced operations.
#### Merge Lab
It is possible to do synthesis of models.
#### Advanced Setting
You can set up more advanced settings.
#### Server Info
You can check the configuration of the current server.

View File

@ -0,0 +1,294 @@
# Realtime Voice Changer Client for RVC チュートリアル(v.1.5.3.3)
[English](/tutorials/tutorial_rvc_en_latest.md)
# はじめに
本アプリケーションは、各種音声変換 AI(VC, Voice Conversion)を用いてリアルタイム音声変換を行うためのクライアントソフトウェアです。本ドキュメントでは[RVC(Retrieval-based-Voice-Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)に限定した音声変換のためのチュートリアルを行います。
以下、本家の[Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)を本家 RVC と表記し、ddPn08 氏の作成した[RVC-WebUI](https://github.com/ddPn08/rvc-webui)を ddPn08RVC と記載します。
## 注意事項
- 学習については別途行う必要があります。
- 自身で学習を行う場合は[本家 RVC](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)または[ddPn08RVC](https://github.com/ddPn08/rvc-webui)で行ってください。
- ブラウザ上で学習用の音声を用意するには[録音アプリ on Github Pages](https://w-okada.github.io/voice-changer/)が便利です。
- [解説動画](https://youtu.be/s_GirFEGvaA)
- [training の TIPS](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/docs/training_tips_ja.md)が公開されているので参照してください。
# 起動まで
## GUI の起動
### Windows 版、
ダウンロードした zip ファイルを解凍して、`start_http.bat`を実行してください。
### Mac 版
ダウンロードファイルを解凍したのちに、`startHttp.command`を実行してください。開発元を検証できない旨が示される場合は、再度コントロールキーを押してクリックして実行してください(or 右クリックから実行してください)。
### リモート接続時の注意
リモートから接続する場合は、`.bat`ファイル(win)、`.command`ファイル(mac)の http が https に置き換わっているものを使用してください。
### コンソール表示
`.bat`ファイル(win)や`.command`ファイル(mac)を実行すると、次のような画面が表示され、初回起動時には各種データをインターネットからダウンロードします。
お使いの環境によりますが、多くの場合1~2分かかります。
![image](https://github.com/w-okada/voice-changer/assets/48346627/88a30097-2fb3-4c50-8bf1-19c41f27c481)
### GUI 表示
起動に必要なデータのダウンロードが完了すると下記のような Launcher 画面が出ます。この画面から RVC を選択してください。
![クライアントの選択画面](https://user-images.githubusercontent.com/23290400/235131650-9eeee978-96fa-478a-b728-3581ae0b8b67.png)
## RVC 用の画面
下記のような画面が出れば成功です。右上の?ボタンから[マニュアル](https://zenn.dev/wok/books/0004_vc-client-v_1_5_1_x)に移動できます。
![v1.5.3.1 RVC初期画面](https://github.com/w-okada/voice-changer/assets/48346627/0f407779-7798-49f9-a542-663d80807cdb)
# クイックスタート
起動時にダウンロードしたデータを用いて、すぐに音声変換を行うことができます。
下図の(1)で使用するマイクとスピーカーを選択して、(2)のスタートボタンを押してみてください。
数秒のデータロードの後に音声変換が開始されます。
なお、慣れていない方は、(1)では client device を選択してかマイクとスピーカーを選択することを推奨します。server device との違いは後述します。)
![image](https://github.com/w-okada/voice-changer/assets/48346627/ce2f8be7-852e-4b78-adce-1df8cad9fbab)
## GUI の項目の詳細
GUI で設定できる項目は下図のようなセクションに分かれています。それぞれのセクションはタイトルをクリックすることで開閉できます。
![image](https://github.com/w-okada/voice-changer/assets/48346627/a5eab90c-c0af-42cd-abfb-e897d333d1ff)
## Title
![image](https://github.com/w-okada/rvc-trainer-docker/assets/48346627/0ea2106d-9da9-493b-aee0-8320fa58e273)
タイトル横のアイコンはリンクになっています。
| アイコン | リンク |
| :------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/97c18ca5-eee5-4be2-92a7-8092fff960f2" width="32"> Octocat | github のリポジトリへのリンク |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/751164e4-7b7d-4d7e-b49c-1ad660bf7439" width="32"> クエスションマーク | マニュアル へのリンク |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/7bc188db-3aae-43eb-98a1-34aacc16173d" width="32"> スパナ | 各種便利ツールへのリンク |
| <img src="https://github.com/w-okada/rvc-trainer-docker/assets/48346627/5db16acc-e901-40d2-8fc2-1fb9fd67f59c" width="32"> コーヒー | 開発者へ**寄付**するためのリンク |
### claer setting
設定を初期化します。
### reload
強制的に画面をリロードします
### re-select vc
ランチャー画面に戻ります
## server control
### start
start でサーバーを起動、stop でサーバーを停止します
### monitor
リアルタイム変換の状況を示します。
声を出してから変換までのラグは`buf + res秒`です。調整の際は buf の時間が res よりも長くなるように調整してください。
なお、デバイスを server device モードで使用している場合はこの表示は行われません。コンソール側に表示されます。
#### vol
音声変換後の音量です。
#### buf
音声を切り取る一回の区間の長さ(ms)です。Input Chunk を短くするとこの数値が減ります。
#### res
Input Chunk と Extra Data Length を足したデータを変換にかかる時間です。Input Chunk と Extra Data Length のいずれでも短くすると数値が減ります。
### Switch Model
アップロードしたモデルについて切り替えることができます。
モデルについては名前の下に[]で情報が示されます
1. f0(=pitch)を考慮するモデルか
- f0: 考慮する
- nof0: 考慮しない
2. モデルの学習に用いられたサンプリングレート
3. モデルが用いる特徴量のチャンネル数(大きいほど情報を持っていて重い)
4. 学習に用いられたクライアント
- org: [本家 RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)で学習したモデルです。
- webui:[ddPn08RVC](https://github.com/ddPn08/rvc-webui)で学習したモデルです。
### Operation
モデル、サーバに対する処理を実行するボタンが配置されています。
#### export onnx
ONNX モデルを出力します。PyTorch のモデルを ONNX モデルに変換すると、推論が高速化される場合があります。
#### download
モデルをダウンロードします。主にモデルマージした結果を取得するために使います。
## Model Setting
#### Model Slot
モデルをどの枠にセットするか選べます。セットしたモデルは Server Control の Switch Model で切り替えられます。
モデルをセットする際に、ファイルから読み込むか、インターネットからダウンロードするかを選択できます。この選択結果に応じて設定できる項目が変化します。
- file: ローカルファイルを選択してモデルを読み込みます。
- from net: インターネットからモデルをダウンロードします。
#### Model(.onnx or .pth)
ファイルから読み込む設定にした場合に表示されます。
学習済みモデルをここで指定します。必須項目です。
ONNX 形式(.onnx)か PyTorch 形式(.pth)のいずれかを選択可能です。
- [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)で学習させた場合、`/logs/weights`に入っています。
- [ddPn08RVC](https://github.com/ddPn08/rvc-webui)で学習させた場合、`/models/checkpoints`に入っています。
#### index(.index)
ファイルから読み込む設定にした場合に表示されます。
HuBERT で抽出した特徴を訓練データに近づける追加機能です。feature(.npy)とペアで使用します。
- [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)で学習させた場合、`/logs/実験名/add_XXX.index`という名前で保存されています。
- [ddPn08RVC](https://github.com/ddPn08/rvc-webui)で学習させた場合、`/models/checkpoints/モデル名_index/モデル名.0.index`という名前で保存されています。
#### Select Model
インターネットからダウロードする設定にした場合に表示されます。
ダウンロードするモデルを選択します。利用規約へのリンクが表示されるので、ご使用の際にはご確認ください。
#### Default Tune
声のピッチをどれくらい変換するかデフォルトの値を入れます。推論中に変換もできます。以下は設定の目安です。
- 男声 → 女声 の変換では+12
- 女声 → 男声 の変換では-12
#### upload
ファイルから読み込む設定にした場合に表示されます。
上記の項目を設定した後、押すと model を使用できる状態にします。
#### select
インターネットからダウロードする設定にした場合に表示されます。
上記の項目を設定した後、押すと model を使用できる状態にします。
## Speaker Setting
### Tuning
声のピッチを調整します。以下は設定の目安です。
- 男声 → 女声 の変換では+12
- 女声 → 男声 の変換では-12
### index ratio
学習で使用した特徴量に寄せる比率を指定します。Model Setting で feature と index を両方設定した時に有効です。
0 で HuBERT の出力をそのまま使う、1 で元の特徴量にすべて寄せます。
index ratio が 0 より大きいと検索に時間がかかる場合があります。
### Silent Threshold
音声変換を行う音量の閾地です。この値より小さい rms の時は音声変換をせず無音を返します。
(この場合、変換処理がスキップされるので、あまり負荷がかかりません。)
## Converter Setting
### InputChunk Num(128sample / chunk)
一度の変換でどれくらいの長さを切り取って変換するかを決めます。これが大きいほど効率的に変換できますが、buf の値が大きくなり変換が開始されるまでの最大の時間が伸びます。 buff: におよその時間が表示されます。
### Extra Data Length
音声を変換する際、入力にどれくらいの長さの過去の音声を入れるかを決めます。過去の音声が長く入っているほど変換の精度はよくなりますが、その分計算に時間がかかるため res が長くなります。
(おそらく Transformer がネックなので、これの長さの 2 乗で計算時間は増えます)
詳細は[こちらの資料](https://github.com/w-okada/voice-changer/issues/154#issuecomment-1502534841)をご覧ください。
### GPU
GPU を 2 枚以上持っている場合、ここで GPU を選べます。
## Device Setting
### Device Mode
client device mode と server device mode のどちらを使用するか選択します。音声変換が停止している時のみ変更できます。
それぞれのモードの詳細は[こちら](./tutorial_device_mode.md)をご覧ください。
### AudioInput
入力端末を選びます
### AudioOutput
出力端末を選びます
### output record
client device mode の時のみ表示されます。
start をおしてから stop を押すまでの音声が記録されます。
このボタンを押してもリアルタイム変換は始まりません。
リアルタイム変換は Server Control を押してください
## Lab
モデルマージを行うことができます。
各マージ元モデルの成分量を設定します。成分量の比率に従って新しいモデルを生成します。
## Quality Control
### Noise Supression
ブラウザ組み込みのノイズ除去機能の On/Off です。
### Gain Control
- input:モデルへの入力音声の音量を増減します。1がデフォルト
- output:モデルからの出力音声の音量を増減します。1がデフォルト
### F0Detector
ピッチを抽出するためのアルゴリズムを選びます。以下の二種類を選べます。
- 軽量な`pm`
- 高精度な`harvest`
- GPU を使用する `crepe`
### Analyzer(Experimental)
サーバ側で入力と出力を録音します。
入力はマイクの音声がサーバに送られて、それがそのまま録音されます。マイク ⇒ サーバの通信路の確認に使えます。
出力はモデルから出力されるデータがサーバ内で録音されます。(入力が正しいことが確認できたうえで)モデルの動作を確認できます。

View File

@ -1,10 +1,10 @@
# Realtime Voice Changer Client for RVC チュートリアル(v.1.5.3.3) # Realtime Voice Changer Client for RVC チュートリアル(v.1.5.3.7)
[English](/tutorials/tutorial_rvc_en_latest.md) [English](/tutorials/tutorial_rvc_en_latest.md)
# はじめに # はじめに
本アプリケーションは、各種音声変換 AI(VC, Voice Conversion)を用いてリアルタイム音声変換を行うためのクライアントソフトウェアです。本ドキュメントでは[RVC(Retrieval-based-Voice-Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)に限定した音声変換のためのチュートリアルを行います。 本アプリケーションは、各種音声変換 AI(VC, Voice Conversion)を用いてリアルタイム音声変換を行うためのクライアントソフトウェアです。RVC, MMVCv13, MMVCv15, So-vits-svcv40 などのモデルに対応していますが本ドキュメントでは[RVC(Retrieval-based-Voice-Conversion)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)を題材に音声変換のためのチュートリアルを行います。基本的な操作は大きく変わりません。
以下、本家の[Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)を本家 RVC と表記し、ddPn08 氏の作成した[RVC-WebUI](https://github.com/ddPn08/rvc-webui)を ddPn08RVC と記載します。 以下、本家の[Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)を本家 RVC と表記し、ddPn08 氏の作成した[RVC-WebUI](https://github.com/ddPn08/rvc-webui)を ddPn08RVC と記載します。
@ -40,37 +40,53 @@
### GUI 表示 ### GUI 表示
起動に必要なデータのダウンロードが完了すると下記のような Launcher 画面が出ます。この画面から RVC を選択してください 起動に必要なデータのダウンロードが完了すると下記のような ダイアログが表示されます。よろしければ黄色いアイコンを押して開発者にコーヒーをご馳走してあげてください。スタートボタンを押すとダイアログが消えます
![クライアントの選択画面](https://user-images.githubusercontent.com/23290400/235131650-9eeee978-96fa-478a-b728-3581ae0b8b67.png) ![image](https://github.com/w-okada/voice-changer/assets/48346627/a8d12b5c-d1e8-4ca6-aed0-72cee6bb97c1)
## RVC 用の画面 # GUI
下記のような画面が出れば成功です。右上の?ボタンから[マニュアル](https://zenn.dev/wok/books/0004_vc-client-v_1_5_1_x)に移動できます。 下記のような画面が出れば成功です。
![v1.5.3.1 RVC初期画面](https://github.com/w-okada/voice-changer/assets/48346627/0f407779-7798-49f9-a542-663d80807cdb) ![image](https://github.com/w-okada/voice-changer/assets/48346627/27add00d-5059-4cbf-a732-9deb6dc309ff)
# クイックスタート # クイックスタート
## 操作方法
起動時にダウンロードしたデータを用いて、すぐに音声変換を行うことができます。 起動時にダウンロードしたデータを用いて、すぐに音声変換を行うことができます。
下図の(1)で使用するマイクとスピーカーを選択して、(2)のスタートボタンを押してみてください。 (1) モデル選択エリアから使いたいモデルをクリックします。モデルがロードされるとモデルに設定されているキャラクタの画像が画面に表示されます。
数秒のデータロードの後に音声変換が開始されます。
なお、慣れていない方は、(1)では client device を選択してかマイクとスピーカーを選択することを推奨します。server device との違いは後述します。)
![image](https://github.com/w-okada/voice-changer/assets/48346627/ce2f8be7-852e-4b78-adce-1df8cad9fbab) (2) 使用するマイク(input)とスピーカー(output)を選択します。慣れていない方は、client を選択して、マイクとスピーカーを選択することを推奨します。server との違いは後述します。)
## GUI の項目の詳細 (3) スタートボタンを押すと、数秒のデータロードの後に音声変換が開始されます。マイクに何かしゃべってみてください。スピーカーから変換後の音声が聞こえてくると思います。
GUI で設定できる項目は下図のようなセクションに分かれています。それぞれのセクションはタイトルをクリックすることで開閉できます。 ![image](https://github.com/w-okada/voice-changer/assets/48346627/883b296e-e5ca-4571-8fed-dcf7495ebb92)
![image](https://github.com/w-okada/voice-changer/assets/48346627/a5eab90c-c0af-42cd-abfb-e897d333d1ff) ## クイックスタートにおける FAQ
## Title Q1. 音がとぎれとぎれになってしまう。
![image](https://github.com/w-okada/rvc-trainer-docker/assets/48346627/0ea2106d-9da9-493b-aee0-8320fa58e273) A1. PC の性能が十分ではない可能性があります。CHUNK の値を大きくしてみてください(下図(A))。(1024 など)。また F0 Det を dio にしてみてください(下図(B))。
タイトル横のアイコンはリンクになっています。 ![image](https://github.com/w-okada/voice-changer/assets/48346627/3c485d9b-53be-47c1-85d9-8663363b06f9)
Q2. 音声が変換されない。
A2. こちらを参照して問題点の場所を明らかにして、対応を検討してください。
Q3. 音程がおかしい
A3. クイックスタートでは説明しませんでしたが、Pitch 変更可能なモデルであれば TUNE で変更できます。後述の詳細説明をご確認ください。
# GUI の詳細
## タイトルエリア
![image](https://github.com/w-okada/voice-changer/assets/48346627/bb813fbb-4ea1-4c3b-87b0-da75b7eaac5e)
タイトル下のアイコンはリンクになっています。
| アイコン | リンク | | アイコン | リンク |
| :------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- | | :------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |
@ -83,27 +99,27 @@ GUI で設定できる項目は下図のようなセクションに分かれて
設定を初期化します。 設定を初期化します。
### reload ## モデル選択エリア
強制的に画面をリロードします ![image](https://github.com/w-okada/voice-changer/assets/48346627/503eb581-a560-42b2-985b-d229d186eac8)
### re-select vc 使用するモデルを選択します。
ランチャー画面に戻ります 編集ボタンを押すと、モデル一覧(モデルスロット)を編集することができます。詳細はモデルスロット編集画面をご確認ください。
## server control ## メインコントロールエリア
### start ![image](https://github.com/w-okada/voice-changer/assets/48346627/5a8dcf64-29d3-49cd-92f1-db7b539bfb3d)
start でサーバーを起動、stop でサーバーを停止します 左側にロードされたモデルのキャラクタ画像が表示されます。キャラクタ画像の左上にリアルタイム変換の状況がオーバレイ表示されます。
### monitor 右側のボタンやスライダーで各種コントロールを行います。
リアルタイム変換の状況を示します。 ### リアルタイム変換の状況
声を出してから変換までのラグは`buf + res秒`です。調整の際は buf の時間が res よりも長くなるように調整してください。 声を出してから変換までのラグは`buf + res秒`です。調整の際は buf の時間が res よりも長くなるように調整してください。
なお、デバイスを server device モードで使用している場合はこの表示は行われません。コンソール側に表示されます なお、デバイスを server device モードで使用している場合は buf の表示は行われません。CHUNK に表示されている値を目安に調整してください
#### vol #### vol
@ -111,184 +127,153 @@ start でサーバーを起動、stop でサーバーを停止します
#### buf #### buf
音声を切り取る一回の区間の長さ(ms)です。Input Chunk を短くするとこの数値が減ります。 音声を切り取る一回の区間の長さ(ms)です。CHUNK を短くするとこの数値が減ります。
#### res #### res
Input Chunk と Extra Data Length を足したデータを変換にかかる時間です。Input Chunk と Extra Data Length のいずれでも短くすると数値が減ります。 CHUNK と EXTRA を足したデータを変換にかかる時間です。CHUNK と EXTRA のいずれでも短くすると数値が減ります。
### Switch Model ### コントロール
アップロードしたモデルについて切り替えることができます。 #### start/stop ボタン
モデルについては名前の下に[]で情報が示されます
1. f0(=pitch)を考慮するモデルか start で音声変換を開始、stop で音声変換を停止します
- f0: 考慮する #### GAIN
- nof0: 考慮しない
2. モデルの学習に用いられたサンプリングレート - in: モデルへの入力音声の音量の大きさを変化させます。
3. モデルが用いる特徴量のチャンネル数(大きいほど情報を持っていて重い)
4. 学習に用いられたクライアント
- org: [本家 RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)で学習したモデルです。 - out: 変換後の音声の音量の大きさを変化させます。
- webui:[ddPn08RVC](https://github.com/ddPn08/rvc-webui)で学習したモデルです。
### Operation #### TUNE
モデル、サーバに対する処理を実行するボタンが配置されています。 声のピッチをどれくらい変換するかの値を入れます。推論中に変換もできます。以下は設定の目安です。
#### export onnx
ONNX モデルを出力します。PyTorch のモデルを ONNX モデルに変換すると、推論が高速化される場合があります。
#### download
モデルをダウンロードします。主にモデルマージした結果を取得するために使います。
## Model Setting
#### Model Slot
モデルをどの枠にセットするか選べます。セットしたモデルは Server Control の Switch Model で切り替えられます。
モデルをセットする際に、ファイルから読み込むか、インターネットからダウンロードするかを選択できます。この選択結果に応じて設定できる項目が変化します。
- file: ローカルファイルを選択してモデルを読み込みます。
- from net: インターネットからモデルをダウンロードします。
#### Model(.onnx or .pth)
ファイルから読み込む設定にした場合に表示されます。
学習済みモデルをここで指定します。必須項目です。
ONNX 形式(.onnx)か PyTorch 形式(.pth)のいずれかを選択可能です。
- [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)で学習させた場合、`/logs/weights`に入っています。
- [ddPn08RVC](https://github.com/ddPn08/rvc-webui)で学習させた場合、`/models/checkpoints`に入っています。
#### index(.index)
ファイルから読み込む設定にした場合に表示されます。
HuBERT で抽出した特徴を訓練データに近づける追加機能です。feature(.npy)とペアで使用します。
- [orginal-RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)で学習させた場合、`/logs/実験名/add_XXX.index`という名前で保存されています。
- [ddPn08RVC](https://github.com/ddPn08/rvc-webui)で学習させた場合、`/models/checkpoints/モデル名_index/モデル名.0.index`という名前で保存されています。
#### Select Model
インターネットからダウロードする設定にした場合に表示されます。
ダウンロードするモデルを選択します。利用規約へのリンクが表示されるので、ご使用の際にはご確認ください。
#### Default Tune
声のピッチをどれくらい変換するかデフォルトの値を入れます。推論中に変換もできます。以下は設定の目安です。
- 男声 → 女声 の変換では+12 - 男声 → 女声 の変換では+12
- 女声 → 男声 の変換では-12 - 女声 → 男声 の変換では-12
#### upload #### INDEX (RVC のみ)
ファイルから読み込む設定にした場合に表示されます。 学習で使用した特徴量に寄せる比率を指定します。index ファイルが登録されているモデルのみ有効です。
上記の項目を設定した後、押すと model を使用できる状態にします。
#### select
インターネットからダウロードする設定にした場合に表示されます。
上記の項目を設定した後、押すと model を使用できる状態にします。
## Speaker Setting
### Tuning
声のピッチを調整します。以下は設定の目安です。
- 男声 → 女声 の変換では+12
- 女声 → 男声 の変換では-12
### index ratio
学習で使用した特徴量に寄せる比率を指定します。Model Setting で feature と index を両方設定した時に有効です。
0 で HuBERT の出力をそのまま使う、1 で元の特徴量にすべて寄せます。 0 で HuBERT の出力をそのまま使う、1 で元の特徴量にすべて寄せます。
index ratio が 0 より大きいと検索に時間がかかる場合があります。 index ratio が 0 より大きいと検索に時間がかかる場合があります。
### Silent Threshold #### Voice
音声変換先の話者を設定します。
#### 設定保存ボタン
設定した内容を保存します。モデルを再度呼び出したときに設定内容が反映されます。(一部のぞく)
#### ONNX 出力 (RVC のみ)
PyTorch のモデルを ONNX に変換して出力します。ロードされているモデルが RVC の PyTorch モデルである場合のみ有効です。
#### その他
使用する音声変換 AI モデルにより設定可能な内容が増減します。モデル開発元のサイトなどで機能等をご確認ください。
## 詳細設定エリア
![image](https://github.com/w-okada/voice-changer/assets/48346627/cd04ba9f-f7e8-4a7e-8c93-cda3c81f3c1a)
動作設定や変換処理の内容を確認することができます。
#### NOISE
ノイズ除去機能の ON/OFF を切り替えられます。Client Device モードでのみ有効です。
- Echo: エコーキャンセル機能
- Sup1, Sup2: ノイズ抑制機能です
#### F0 Det (F0 Estimator)
ピッチを抽出するためのアルゴリズムを選びます。次の中から選べます。
- 軽量な`dio`
- 高精度な`harvest`
- GPU を使用する `crepe`
#### S. Thresh (Noise Gate)
音声変換を行う音量の閾地です。この値より小さい rms の時は音声変換をせず無音を返します。 音声変換を行う音量の閾地です。この値より小さい rms の時は音声変換をせず無音を返します。
(この場合、変換処理がスキップされるので、あまり負荷がかかりません。) (この場合、変換処理がスキップされるので、あまり負荷がかかりません。)
## Converter Setting #### CHUNK (Input Chunk Num)
### InputChunk Num(128sample / chunk)
一度の変換でどれくらいの長さを切り取って変換するかを決めます。これが大きいほど効率的に変換できますが、buf の値が大きくなり変換が開始されるまでの最大の時間が伸びます。 buff: におよその時間が表示されます。 一度の変換でどれくらいの長さを切り取って変換するかを決めます。これが大きいほど効率的に変換できますが、buf の値が大きくなり変換が開始されるまでの最大の時間が伸びます。 buff: におよその時間が表示されます。
### Extra Data Length #### EXTRA (Extra Data Length)
音声を変換する際、入力にどれくらいの長さの過去の音声を入れるかを決めます。過去の音声が長く入っているほど変換の精度はよくなりますが、その分計算に時間がかかるため res が長くなります。 音声を変換する際、入力にどれくらいの長さの過去の音声を入れるかを決めます。過去の音声が長く入っているほど変換の精度はよくなりますが、その分計算に時間がかかるため res が長くなります。
(おそらく Transformer がネックなので、これの長さの 2 乗で計算時間は増えます) (おそらく Transformer がネックなので、これの長さの 2 乗で計算時間は増えます)
詳細は[こちらの資料](https://github.com/w-okada/voice-changer/issues/154#issuecomment-1502534841)をご覧ください。 詳細は[こちらの資料](https://github.com/w-okada/voice-changer/issues/154#issuecomment-1502534841)をご覧ください。
### GPU #### GPU
GPU を 2 枚以上持っている場合、ここで GPU を選べます。 onnxgpu 版では使用する GPU を選択することができます。
## Device Setting onnxdirectML 版では GPU の ON/OFF を切り替えることができます。
### Device Mode #### AUDIO
client device mode と server device mode のどちらを使用するか選択します。音声変換が停止している時のみ変更できます。 使用するオーディオデバイスのタイプを選びます。詳細は[こちらの文書](./tutorial_device_mode.md)をご確認ください
それぞれのモードの詳細は[こちら](./tutorial_device_mode.md)をご覧ください。 - client: ノイズ抑制機能など GUI(chrome)の機能を活用してマイク入力、スピーカー出力を行うことができます。
- server: VCClient が直接マイクとスピーカーを操作します。遅延を抑えることができます。
### AudioInput #### input
入力端末を選びます マイク入力など音声入力デバイスを選択できます。音声ファイルからのインプットも可能です(サイズ上限あり)。
### AudioOutput #### output
出力端末を選びます スピーカー出力など音声出力デバイスを選択できます。
### output record #### monitor
client device mode の時のみ表示されます。 モニター用にスピーカー出力など音声出力デバイスを選択できます。server device モードの場合のみ有効です。
start をおしてから stop を押すまでの音声が記録されます。 #### REC.
このボタンを押してもリアルタイム変換は始まりません。
リアルタイム変換は Server Control を押してください
## Lab 変換後の音声をファイル出力します。
モデルマージを行うことができます。 ### ServerIO Analizer
各マージ元モデルの成分量を設定します。成分量の比率に従って新しいモデルを生成します。 音声変換 AI に入力される音声と音声変換 AI から出力される音声を録音し、確認することができます。
## Quality Control 大まかな考え方は[こちらの文書](trouble_shoot_communication_ja.md)を確認ください。
### Noise Supression #### SIO rec.
ブラウザ組み込みのノイズ除去機能の On/Off です。 音声変換 AI に入力される音声と音声変換 AI から出力される音声を録音を開始/停止します。
### Gain Control #### output
- input:モデルへの入力音声の音量を増減します。1がデフォルト 録音した音声を再生するスピーカーを設定します。
- output:モデルからの出力音声の音量を増減します。1がデフォルト
### F0Detector #### input
ピッチを抽出するためのアルゴリズムを選びます。以下の二種類を選べます。 音声変換 AI に入力される音声を再生します。
- 軽量な`pm` #### out
- 高精度な`harvest`
- GPU を使用する `crepe`
### Analyzer(Experimental) 音声変換 AI から出力された音声を再生します。
サーバ側で入力と出力を録音します。 ### more...
入力はマイクの音声がサーバに送られて、それがそのまま録音されます。マイク ⇒ サーバの通信路の確認に使えます。
出力はモデルから出力されるデータがサーバ内で録音されます。(入力が正しいことが確認できたうえで)モデルの動作を確認できます。 より高度な操作を行うことができます。
#### Merge Lab
モデルの合成を行うことができます。
#### Advanced Setting
より高度な設定を行うことができます。
#### Server Info
現在のサーバの設定を確認することができます。