w-okada / voice-changer

リアルタイムボイスチェンジャー Realtime Voice Changer
Other
16.36k stars 1.8k forks source link

[ISSUE]: Echo issue in client mode. #974

Open akashop5646 opened 1 year ago

akashop5646 commented 1 year ago

Voice Changer Version

MMVCServerSIO_win_onnxgpu-cuda_v.1.5.3.15

Operational System

Windows 11

GPU

Nvidia RTX 3050

Read carefully and check the options

Model Type

RVC

Issue Description

Client mode provides the best audio quality with almost no delay but there is a very huge problem with the input audio in client mode. whenever someone speaks in discord it converts changes other people's voice too and the other people became aware of my voice changer. This bug is not happening in server mode but server mode is very awfull. it's slower and the quality is not that good. The client mode performs very good with smooth voice but it has serious input issues, it literrally takes the input of my whole computer as audio even if I select a dedicated microphone. I kindly request the developer to fix this issue as soon as possible. This issue is bothering me in every update of the voice changer.

Application Screenshot

No response

Logs on console

Please fix this+

w-okada commented 1 year ago

Wouldn't using a headset solve the problem?

akashop5646 commented 1 year ago

No, Using headphones didn't solve the problem Either. It literally takes all the audio as input even if I select Headset microphone. My audio is being changed perfectly but it also takes other people's voice too

On Thu, 2 Nov, 2023, 5:12 am w-okada, @.***> wrote:

Wouldn't using a headset solve the problem?

— Reply to this email directly, view it on GitHub https://github.com/w-okada/voice-changer/issues/974#issuecomment-1789839188, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBAYLBYGZEDHGMMD4VZ2EWLYCLM6JAVCNFSM6AAAAAA6ZNGI4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZHAZTSMJYHA . You are receiving this because you authored the thread.Message ID: @.***>

ileacoool commented 11 months ago

I have the same problem. Have you found how to fix this?

Junqor commented 10 months ago

I had a similar issue with my headset. My guess is that it's treating the mic and the headphones as the same device, so any output to the mic also equals input. A splitter might work but one workaround I found is to plug the headset into a gaming controller.

hoangvu12 commented 1 month ago

any updates on this? I got the same problem. Using a headset too

Kuuko-fokkusugaru commented 1 month ago

any updates on this? I got the same problem. Using a headset too

could you share a screenshot to see all your settings, please? Specially input and output

hoangvu12 commented 1 month ago

any updates on this? I got the same problem. Using a headset too

could you share a screenshot to see all your settings, please? Specially input and output

Sure, here it is. I can't hear the echo if I listen to my mic seperately, it only happens in the voice changer.

image

Kuuko-fokkusugaru commented 1 month ago

any updates on this? I got the same problem. Using a headset too

could you share a screenshot to see all your settings, please? Specially input and output

Sure, here it is. I can't hear the echo if I listen to my mic seperately, it only happens in the voice changer.

image

First of all, the echo checkbox on the top is only in case your microphone has natural echo due to the room and such. In other words, it's to eliminate echo from the input so it has no effect on the "output echo". Just mentioning in case that you are trying to get rid of echo with that checkbox.

Now, in regards to the other echo, you may need to check what your settings are within the software and VB Audio cable. If you are using software or any way to listen to VB Cable and you also set the monitor to something other than none, you will end up listening to both. I recommend going into your input settings in Windows and checking if you have enabled the checkbox to listen to VB Cable or any other input. If you want to listen to yourself you will need to use explicitly only the monitor setting.

To test whether the output is right or not, open any recording software like Audacity, which is free, and try to record VB Cable output while you speak. Then play it back to see if that one has an echo or not.

Additionally, I'd suggest switching from VB Cable to Virtual Audio Cable. The latter is more reliable and has zero issues in comparison with VB Cable, which often won't work with certain applications like Discord.

Let me know if that fixes your issue.

OP's issue was related to Windows audio being converted by RVC, so I am not sure if your issue is exactly the same. Either way is not exactly a software-related issue and is more like a wrong configuration or conflict between inputs and outputs. So is not something that can be fixed at the software level but I will try my best to help you find how to setup your devices properly to fix it.

hoangvu12 commented 1 month ago

Sponsor

Thank you for your detailed instructions

I forgot to mention that I got the same issue as the OP, the Windows audio is being converted by the RVC. I tested it by using the mic test mode feature in Discord and also tested it in a game. I tried switching to Virtual Audio Cable and the problem still exists.

And I can confirm that I didn't check the "Listen to this device" in windows settings by accident.

Kuuko-fokkusugaru commented 1 month ago

Do this test for me. Download Audacity (forget about any software or test mode like Discord where you can hear yourself and just use software where you won't hear yourself but that you can use to record), then record a normal clip of you speaking on the mic. Nothing else, no RVC, just you speaking to the mic for 30 seconds. Does the playback have echo? if don't then save that recording as wav file. Now open RVC and on input select "file" instead of your mic and for output select your speakers or headset instead of VAC. Click on the Start button in RVC to start the conversion then click on the little folder icon below "file mode" and search for the wav file that you just recorded. It should play automatically and convert the audio right away. Is the audio converted fine in this way?

hoangvu12 commented 1 month ago

Do this test for me. Download Audacity (forget about any software or test mode like Discord where you can hear yourself and just use software where you won't hear yourself but that you can use to record), then record a normal clip of you speaking on the mic. Nothing else, no RVC, just you speaking to the mic for 30 seconds. Does the playback have echo? if don't then save that recording as wav file. Now open RVC and on input select "file" instead of your mic and for output select your speakers or headset instead of VAC. Click on the Start button in RVC to start the conversion then click on the little folder icon below "file mode" and search for the wav file that you just recorded. It should play automatically and convert the audio right away. Is the audio converted fine in this way?

If I open the music in the background while the RVC is on then the music and the microphone will be converted. I don't hear any background music when I record the microphone alone.

Kuuko-fokkusugaru commented 1 month ago

@hoangvu12 I don't think you understood what I meant. You don't have to play music in the background. You just need to record like 20 seconds of you speaking into the mic, no RVC, just the raw mic. Then, once you have that audio clip of you speaking as a wav file, you open RVC and you use the file as an input. You don't have to use any mic, just the audio file instead. Then for the output set your headset or speakers, not virtual cable. Start the conversion and play the file and let me know if the file is being converted correctly so you can hear it directly on your speakers. If you can hear it fine without echo, then is not a software issue and you have something wrongly configured in your audio settings.

Kuuko-fokkusugaru commented 1 month ago

For clarification, when you open the input drop down list of RVC, you will see several input options. The last one should be "file" which means that you will use an audio file instead of any input device.

hoangvu12 commented 1 month ago

It converts the audio fine with the file, which makes sense because the file itself doesn't have any Windows audio; it is just the audio from the microphone. The Windows audio leak only happens when I use my microphone as input. If Audacity doesn't record any Windows audio with my microphone, then RVC shouldn't either. I don't see why this wouldn't be a software-related issue.

Kuuko-fokkusugaru commented 1 month ago

Precisely because it works perfectly fine with an audio file, it means that the software is not the one generating the echo and is just related with how you have setup the rest of your inputs and outputs, possibly vb cable if you are still using it instead of the recommended VAC. Or even how you have setup your inputs and outputs in your motherboard software. You can try by recording the VAC output with Audacity instead then playing it again to see if, even though you hear echo while using the software, this is not being recorded or outputed by VAC at all. Just for clarification, you shouldn't even hear yourself while using the software unless you use the monitor setting.

You can also try with version 2 of the software if I haven't recommended it already. But I'd you keep getting the same issue then be sure that it's on your side due wrong audio configuration because v2 has been rewritten completely from ground up. You can also try to update your audio drivers or reset its configuration panel to make sure that no inputs or outputs are being linked together since a lot of motherboards offers such option.

Here you can download all the available versions:

https://huggingface.co/wok000/vcclient000/tree/main

Kuuko-fokkusugaru commented 1 month ago

My guess is that you are just hearing yourself as an echo due some of the inputs doing a loop as an output either due linked sources or some of the inputs/outputs wrongly configured. Make sure that you haven't the audio settings window opened while testing as this can generate extra audio output while opened for preview reasons. You can also disable every input and output that you won't use.

hoangvu12 commented 1 month ago

Precisely because it works perfectly fine with an audio file, it means that the software is not the one generating the echo and is just related with how you have setup the rest of your inputs and outputs, possibly vb cable if you are still using it instead of the recommended VAC. Or even how you have setup your inputs and outputs in your motherboard software. You can try by recording the VAC output with Audacity instead then playing it again to see if, even though you hear echo while using the software, this is not being recorded or outputed by VAC at all. Just for clarification, you shouldn't even hear yourself while using the software unless you use the monitor setting.

You can also try with version 2 of the software if I haven't recommended it already. But I'd you keep getting the same issue then be sure that it's on your side due wrong audio configuration because v2 has been rewritten completely from ground up. You can also try to update your audio drivers or reset its configuration panel to make sure that no inputs or outputs are being linked together since a lot of motherboards offers such option.

Here you can download all the available versions:

https://huggingface.co/wok000/vcclient000/tree/main

It doesn't echo the microphone, it just for some reason also converting the windows audio. Also, I tried VAC and it still output the same thing. If I open a music in the background, then the voice in that music will be converted

hoangvu12 commented 1 month ago

No, Using headphones didn't solve the problem Either. It literally takes all the audio as input even if I select Headset microphone. My audio is being changed perfectly but it also takes other people's voice too On Thu, 2 Nov, 2023, 5:12 am w-okada, @.> wrote: Wouldn't using a headset solve the problem? — Reply to this email directly, view it on GitHub <#974 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBAYLBYGZEDHGMMD4VZ2EWLYCLM6JAVCNFSM6AAAAAA6ZNGI4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZHAZTSMJYHA . You are receiving this because you authored the thread.Message ID: @.>

OP and other 2 people have the same problem, I don't think it's just my setup.

Kuuko-fokkusugaru commented 1 month ago

It's definitely a setup issue, otherwise everyone would be getting the same error. Does using server mode and changing between the different driver modes for the same inputs fix the issue? I know that in server mode, depending on the API selected, it may make your computer lose audio output from other sources. But the key point here is to hunt down the cause and find a way for the output not to have echo. Once we find out which mode (or modes) does work, we can start from there to try different options. Also, you didn't mention if you have tried the newer version 2 of the software.

Kuuko-fokkusugaru commented 1 month ago

OP and other 2 people have the same problem, I don't think it's just my setup.

They actually fixed their issues by searching for alternative methods of connecting their devices which clearly shows that it's a driver/configuration issue and not the software or it would have kept happening.

hoangvu12 commented 1 month ago

It's definitely a setup issue, otherwise everyone would be getting the same error. Does using server mode and changing between the different driver modes for the same inputs fix the issue? I know that in server mode, depending on the API selected, it may make your computer lose audio output from other sources. But the key point here is to hunt down the cause and find a way for the output not to have echo. Once we find out which mode (or modes) does work, we can start from there to try different options. Also, you didn't mention if you have tried the newer version 2 of the software.

Server doesn't has that problem, as the issue's title says, it only happens in client mode.

I'm using MMVCServerSIO_win_onnxgpu-cuda_v.1.5.3.18a and having this issue, is your version the same as the one i'm using, or it is completely different?

Kuuko-fokkusugaru commented 1 month ago

I gave you a link with the latest versions, including v2, and even asked you to test it. If you really want to be able to fix your issue you could at least open it and try what it's being suggested. As for the version that I have, I usually run the same version as you with zero issues. But I also tried v2 several times which also works fine. If server mode works fine, it's there any reason for you to not use server mode? If server mode works then it's clearly a driver issue on your side. If you happen to be using the default audio drivers that come from Windows, you should try installing the ones provided by your motherboard manufacturer which may include a control panel where you can often join or separate different types of inputs. Plus you would be using the proper drivers rather than outdated generic ones that lack functionalities.