Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[ISSUE for v2]: about http request #1343

Open
7 tasks done
fanglei-fob opened this issue Sep 9, 2024 · 8 comments
Open
7 tasks done

[ISSUE for v2]: about http request #1343

fanglei-fob opened this issue Sep 9, 2024 · 8 comments
Labels
v.2 for version.2.x

Comments

@fanglei-fob
Copy link

Voice Changer Version

vcclient_win_cuda_2.0.61-alpha.zip

Operational System

Windows 10

GPU

none

CUDA Version

vcclient_win_cuda_2.0.61-alpha.zip

Read carefully and check the options

  • If you use win_cuda_torch_cuda edition, setup cuda? see here
  • If you use win_cuda edition, setup cuda and cudnn? see here
  • If you use mac edition, client is not launched automatically. Use chrome to open application.?
  • I've tried to change the Chunk Size
  • I've tried to set the Index to zero
  • I've read the tutorial
  • I've tried to extract to another folder (or re-extract) the .zip file

Does pre-installed model work?

No

Model Type

MMVC

Issue Description

When I run the main.exe program in the compressed package, visit http://127.0.0.1:18000/ on the page and click start, I can see that the interface requested by the page is api/voice-changer/convert_chunk. This interface can also be seen in the interface document http://127.0.0.1:18000/docs, but I can't find any interface about it in the source code.

Application Screenshot

No response

Logs on console

image
1725874844307

@fanglei-fob
Copy link
Author

When I access the interface using http on a single host, the returned audio is normal, but when there are more than two hosts accessing via http, there is interference between the returned audio

@w-okada
Copy link
Owner

w-okada commented Sep 12, 2024

The current VCClient is basically a single-user application.

@w-okada w-okada added the v.2 for version.2.x label Sep 12, 2024
@fanglei-fob
Copy link
Author

The current VCClient is basically a single-user application.

I noticed that when calling changeVoice, self.tlock.acquire() and self.tlock.release() are used to lock. Can this lock help to prevent audio interference between multiple users? Do you have any idea of ​​multiple users in the subsequent project?

@fanglei-fob
Copy link
Author

The current VCClient is basically a single-user application.

In addition, I see “/test” interface in the code, which is used to convert audio. Is there any difference between this method and the "/convert_chunk" method in the pre-built binary? Because I didn't find "/convert_chunk" interface in the code, but the pre-built binary does have this interface

@w-okada
Copy link
Owner

w-okada commented Sep 12, 2024

For now, the priority is low.
Currently, the majority of users are RVC users.
RVC can only convert to the voice of a single character.
I can't think of a use case where multiple users would convert to the voice of this single character.

If you are considering loading multiple RVC models simultaneously,
it is not significantly different from running multiple servers on different ports.
In that case, it is easier to handle it that way.

@fanglei-fob
Copy link
Author

For now, the priority is low. Currently, the majority of users are RVC users. RVC can only convert to the voice of a single character. I can't think of a use case where multiple users would convert to the voice of this single character.

If you are considering loading multiple RVC models simultaneously, it is not significantly different from running multiple servers on different ports. In that case, it is easier to handle it that way.

Thank you very much for your answer, this is a new idea for me

@fanglei-fob
Copy link
Author

Because many people's host configuration is relatively low, I want to run the service in my host to allow multiple users to remotely call it, so as to solve the problem that their computer configuration is not enough but they want to use this function smoothly. The running multiple servers on different ports you mentioned is a new idea, but it will also increase the resource pressure of my local host.

@Kuuko-fokkusugaru
Copy link
Sponsor

I think, even if you could host multiple people on the same server, the increased load would be inevitable. Most of the resources happen on the conversion anyway. So even if you could host 2 people, you would still need to use 2 times more resources regardless. I don't think that there could be shared resources due to the nature of the software so you would still need to receive the different chunks from each user and store and convert them separately. The only shared resources could be the uploaded models which would be in the same folder and this would already work by just running multiple servers with different ports as long as the application allows multiple instances (probably through the command line, not sure).

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
v.2 for version.2.x
Projects
None yet
Development

No branches or pull requests

3 participants