Skip to content

Commit

Permalink
Bugfix:
Browse files Browse the repository at this point in the history
 - server device mode: filter for monitor is not work
  • Loading branch information
w-okada committed Jul 1, 2023
1 parent 2f0289f commit 07d26d3
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 6 deletions.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/issue.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,17 @@ body:
- "yes"
validations:
required: true
- type: dropdown
id: sample-model
attributes:
label: Sample model
description: If the GUI won't start up, wait a several minutes. Alternatively, have you excluded it from your virus-checking software (at your own risk)?
options:
- "The GUI successfully launched."
- "no"
- "yes"
validations:
required: true
- type: input
id: vc-type
attributes:
Expand Down
2 changes: 1 addition & 1 deletion client/demo/dist/index.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export const DeviceArea = (_props: DeviceAreaProps) => {
const { isConverting, audioInputForGUI, inputAudioDeviceInfo, setAudioInputForGUI, fileInputEchoback, setFileInputEchoback, setAudioOutputForGUI, audioOutputForGUI, outputAudioDeviceInfo } = useGuiState();
const [inputHostApi, setInputHostApi] = useState<string>("ALL");
const [outputHostApi, setOutputHostApi] = useState<string>("ALL");
const [monitorHostApi, setMonitorHostApi] = useState<string>("ALL");
const audioSrcNode = useRef<MediaElementAudioSourceNode>();

const { getItem, setItem } = useIndexedDB({ clientType: null });
Expand Down Expand Up @@ -510,7 +511,7 @@ export const DeviceArea = (_props: DeviceAreaProps) => {

const filteredDevice = devices
.map((x, index) => {
if (outputHostApi != "ALL" && x.hostAPI != outputHostApi) {
if (monitorHostApi != "ALL" && x.hostAPI != monitorHostApi) {
return null;
}
return (
Expand All @@ -535,9 +536,9 @@ export const DeviceArea = (_props: DeviceAreaProps) => {
className="config-sub-area-control-field-auido-io-filter"
name="kinds"
id="kinds"
value={outputHostApi}
value={monitorHostApi}
onChange={(e) => {
setOutputHostApi(e.target.value);
setMonitorHostApi(e.target.value);
}}
>
<option value="ALL" key="ALL">
Expand All @@ -558,7 +559,7 @@ export const DeviceArea = (_props: DeviceAreaProps) => {
</div>
</div>
);
}, [outputHostApi, serverSetting.serverSetting, serverSetting.updateServerSettings, serverSetting.serverSetting.enableServerAudio]);
}, [monitorHostApi, serverSetting.serverSetting, serverSetting.updateServerSettings, serverSetting.serverSetting.enableServerAudio]);

return (
<div className="config-sub-area">
Expand Down
37 changes: 37 additions & 0 deletions tutorials/tutorial_monitor_consept.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## Tutorial Monitor Output

v.1.5.3.7 から追加された server device mode における monitor output について説明します。

##

## v.1.5.3.6 以前の構成

出力先デバイスが一つしか設定できませんでした。Discord や Zoom など他のアプリケーションと連携するためには、一般的にこの出力を Voicemeeter などの仮想オーディオデバイスに設定する必要があります。このため、変換後の音声を確認するためには仮想オーディオデバイスを経由して行う必要があり、多くのオーバーヘッドがかかっていました(青線)。

![image](https://github.com/w-okada/voice-changer/assets/48346627/faba8fdf-cfa5-468f-a56b-3fa986fb45a1)

## v.1.5.3.7 以降の構成

v.1.5.3.7 では、VCClient の server device mode でもう一つ出力先デバイスを設定できるようになりました(赤線)。これにより、モニター用には Voicemeeter を経由せずに直接 wasapi デバイスや asio デバイスに出力できるようになり、遅延が少ないモニタリングが可能になります。

![image](https://github.com/w-okada/voice-changer/assets/48346627/1d5065eb-b042-4521-ade3-66828c87a712)

## 使い方

デバイス設定エリアで server device mode を選択してください。サンプリングレート(S.R.)、input, output, monitor を設定できるようになります。

![image](https://github.com/w-okada/voice-changer/assets/48346627/c15e6800-75ec-410b-87f2-c96d0c697c91)

## 注意事項

server device mode で使用する input, output, monitor のそれぞれのデバイスはサンプリングレートが一致している必要があります。一致していない場合は、コンソール上に詳細情報がでるのでそれぞれのデバイスが対応しているサンプリングレートを GUI から指定してください。

## Tips

### その1

お使いの環境により大きく変わると思いますが、開発者の環境では Input, Monitor を Wasapi デバイス、output を任意にすることで遅延をかなり少なく運用することができました。

### その 2

Wasapi のサンプリングレートはデバイス側で設定したものしか選択できません。この設定は Windows のサウンド設定から変更できます。(Win11)
2 changes: 1 addition & 1 deletion tutorials/tutorial_rvc_ja_latest.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ onnxdirectML 版では GPU の ON/OFF を切り替えることができます。

録音した音声を再生するスピーカーを設定します。

#### input
#### in

音声変換 AI に入力される音声を再生します。

Expand Down

0 comments on commit 07d26d3

Please sign in to comment.