RVC-Project / Retrieval-based-Voice-Conversion-WebUI

Easily train a good VC model with voice data <= 10 mins!
MIT License
22.4k stars 3.39k forks source link

Some historical legacy issues #2109

Open fumiama opened 2 months ago

fumiama commented 2 months ago

Unfortunately, I have to tell you the truth that the initial RVC developer, whose name is RVC-Boss, basically refuses ANYONE to do ANY changes (including PR) on HIS project, which is, in his mind, "dirtying" his code. That is the main reason of why this project progresses so slowly. I had a chat with him and decided to REVERT the commit of the main repo to what he like it to be and put the newest code to my repo as below.

https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI

My repo will continue to pull the algorithm update from the main repo (this repo), and, is open for everyone to contribute new features. I hope that with this effort, RVC will be better than before by the help from you alls.

blaisewf commented 2 months ago

@RVC-Boss this is really sad. RVC has been driven not only by you, but also by a great community, including some developers who did everything selflessly.

To let such a great project die this way, is a lack of maturity and commitment, and I don't think this is the end that anyone expects for something that has given us so many good things.

I think you should try to change that mentality, if some guys are helping you to maintain a code that you have abandoned, far from complaining you should thank them, and if you don't like the way they do it, do it yourself.

I am willing to help in everything you need, but take the actions with head and in a premeditated way, and if you are going to fire the project, do it in a dignified way.

I really appreciate you guys, regards.

Tps-F commented 2 months ago

Also, I plan to continue to develop the RVC library and other resources.

fumiama commented 2 months ago

@blaise-tk said that RVC has been driven not only by you

However, our boss do not think so. I have talked him with the importance of community but gave up finally. Therefore, this issue is the only thing that I can do to keep RVC alive, which is, separating from the main repo.

blaisewf commented 2 months ago

@blaise-tk said that RVC has been driven not only by you

However, our boss do not think so. I have talked him with the importance of community but gave up finally. Therefore, this issue is the only thing that I can do to keep RVC alive, which is, separating from the main repo.

😢, I sent you a request on Discord so we can talk @fumiama

Tps-F commented 2 months ago

@blaise-tk could you make a group?

ic1149 commented 2 months ago

@fumiama Will you also make a repo for the CLI/API version? Since many people are interested in that version too.

fumiama commented 2 months ago

@fumiama Will you also make a repo for the CLI/API version? Since many people are interested in that version too.

Sure. This part will mainly be done by @Tps-F . Anyone who has interest can also contribute to his project.

Tps-F commented 2 months ago

@ic1149 here!「 https://github.com/RVC-Project/Retrieval-based-Voice-Conversion

But it's still under the development, could be a disruptive change.

alexlnkp commented 2 months ago

Really sad this has to come to this, to be honest. Despite everything, I still believed in this project. I'll follow the fumiama/Retrieval-based-Voice-Conversion-WebUI, lmk if there's something i can help with.

Husky110 commented 2 months ago

So (as a user) do I get this right - This repo here will only get updates if RVC-Boss allows them in his Reich and the repo fumiama will get frequent updates (maybe even new algorithms and such) from now on? Plus - I've seen talk about discord - is there a community surrounding this? (Would be great - since I'm working on some ideas and theories that might need backing...!) Edit: By Discord-Community I mean that if the RVC-Developers-Discord refers to the new repo then?

fumiama commented 2 months ago

This repo here will only get updates if RVC-Boss allows them in his Reich

Yes, generally speaking, he want to control all details of this repo and it means that all modifications will only be done by him. Well, you can see the repo status of GPT-Sovits (and many opening PRs being ignored by him), which is the project I do not take part in.

and the repo fumiama will get frequent updates (maybe even new algorithms and such) from now on?

Yes. My repo is open to everyone to contribute, but not this repo.

is there a community surrounding this?

Currently it is the discord channel.

Edit: By Discord-Community I mean that if the RVC-Developers-Discord refers to the new repo then?

Yes because the main repo will no longer accept PRs basically.

Well, it doesn't means that this main repo is BAD. If you just want to use RVC, of course use this repo first. But the main repo will not actively accept new features (mainly in UI-level). As for the algorithm, I will keep my repo up to date with this main repo. We can try new algorithms, but now I just tidy the code first to let it easier to read the algorithm of RVC, and next, modify it.

Husky110 commented 2 months ago

Thanks for the clearance @fumiama :)

DEUPLECT commented 2 months ago

No code is perfect. And RVC is going to be considered outdated if no further improvement is done. He should already know that.

fumiama commented 2 months ago

No code is perfect. And RVC is going to be considered outdated if no further improvement is done. He should already know that.

He knows. But as a researcher, the outdated only means the algorithm part, which he can completely control and update. Actually, he doesn't care about the codes' quality as long as it works. He just want to keep the code stable so that he can edit it anytime he want without understanding what others have done on HIS codes. From his view, the RVC algorithm is more like a charity and no one should complain about it. They'd better just USE and cheer for his wisdom, that's all.

ic1149 commented 2 months ago

Like I can see parts of the program are not written using the best practices. No code is perfect. That's why communities work together to improve the code.

alexlnkp commented 2 months ago

@fumiama

I understand your frustration, but let's keep this professional for everyone's sake. The RVC project is not great in faith of the open-source spirit, but since RVC-Boss is the owner of this repository, You can't do anything specific about this particular repo.

However, we all can bind together and work on improving the project, even if it is separate from this specific repo.

fumiama commented 2 months ago

However, we all can bind together and work on improving the project, even if it is separate from this specific repo.

Yes, that's why I finally decided to separate.

RVC-Boss commented 2 months ago

fumiama 传递了大量错误的信息,我会澄清一些你们很可能认知错误的事情。为使得我的表述不被误解,我将亲自将其翻译成英文。 Fumiama has conveyed a lot of incorrect information. I will clarify some things that you are very likely to misunderstand. To ensure that my statements are not misinterpreted, I will personally translate them into English.

1、basically refuses ANYONE to do ANY changes (including PR) on HIS project, which is, in his mind, "dirtying" his code. That is the main reason of why this project progresses so slowly. (1) basically refuses ANYONE to do ANY changes:fake news 错误的。所有人都可以向仓库进行提交,我将优先合并稳定且有价值的提交进行验证,在验证成功后进行合并。 No. Everyone can commit to the repository. I will prioritize merging stable and valuable submissions for verification, and merge them after successful verification. 验证有成本,因此验证会有优先级,根据对用户使用体验的提升和代码稳定性来评定。 用户使用体验提升分为4点,一是运行速度的提升,二是合成效果的提升,3是用户反馈的已有bug,4是使用操作的更便捷。 Verification has costs, so it will be prioritized based on improvements to user experience and code stability. User experience improvement is divided into four points: Improvement in running speed, Improvement in synthesis quality, Existing bugs reported by user feedback (or you meet), More convenient user operations. 如果反馈速度慢,可以尝试联系我,我会加速审阅你的pr,决定是推进还是close。你也可以将代码提交到第三方仓库,例如https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI, 并基于第三方仓库进行开发,你有可能得到更快速的反馈。 If the feedback is slow, you can try contacting me, and I will expedite the review of your PR to decide whether to advance it or close it. You can also submit your code to a third-party repository, such as https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI, and develop based on the third-party repository, where you may receive faster feedback.

(2)dirtying 我必须保证main分支是处于稳定的状态,因此我不会允许未经过完整验证可以跑通,例如pytorch推理、训练、实时变声、DML推理、UVR分离等功能的代码合并进main分支,或者你提交的时候自己能够确保。 I must ensure that the main branch remains in a stable state. Therefore, I will not allow code to be merged into the main branch unless it has been fully verified to run correctly. This includes functionalities such as PyTorch inference, training, real-time voice conversion, DML inference, and UVR separation. Alternatively, you need to ensure this yourself when you submit the code. 事实上这个帖子下面已经有不少人在未经验证跑通自己的环境的情况下就提交代码,早期我进行了合并,很快issue的数量大幅增加。所以为了不劣化用户体验,这些未经验证的提交我不会合并到main。之前有一个dev分支,你们一直可以进行提交,fumiama 在进行合并。dev分支或者第三方仓库的稳定性审核会轻很多。 In fact, many people have already submitted code without verifying it runs correctly in their environment. Initially, I merged these submissions, and the number of issues quickly increased. Therefore, to avoid degrading the user experience, I will not merge these unverified submissions into the main branch. There was a dev branch before, and you can submit to it. fumiama has been handling the merges there. The stability checks for the dev branch or third-party repositories will be much lighter. "dirtying"是fumiama的个人总结,这显然不能准确描述以上情况。 "Dirtying" is Fumiama's personal summary, which clearly does not accurately describe the situation mentioned above. (3)his code 错误的。目前的仓库不仅仅是我一个人的代码,它拥有很多贡献者,例如yxlllc提供了实时变声的拼接算法、共振因子参数等,CNChTu提供了FCPE高质量音高提取算法,EntropyRiser提供了早期的实时变声界面代码,nadare881提供了音质更高咬字更准确的faiss检索方法,还有很多人贡献了界面翻译文本,等等。因此我更要确保他们的代码能跑在一套正确运行的系统上,能切实让用户体验得到提升。 No. The current repository is not just my code; it has many contributors. For example, yxlllc provided the real-time voice conversion stitching algorithm and resonance factor parameters, CNChTu provided the FCPE high-quality pitch extraction algorithm, EntropyRiser provided the early real-time voice conversion interface code, nadare881 provided the faiss retrieval method for higher sound quality and more accurate articulation, and many others have contributed interface translation texts, among other things. Therefore, I need to especially ensure that their code runs on a correctly functioning system and genuinely improves the user experience. (4)That is the main reason of why this project progresses so slowly. 错误的。该项目进展缓慢的根本原因是它本来已经到达了他的极限、巅峰状态,在这个状态下,有效提交在逐渐减少才是常态,你不可能在一个已经很成熟的项目上每天都还能有一次有效更新,反过来理解,如果他还在和初期一样常态化拥有大量提交,这些提交很可能是无效提交。 No. The fundamental reason for "the slow progress" of this project is that it has already reached its peak and limit. In this state, it is normal for effective submissions to gradually decrease. It is unrealistic to expect a mature project to have effective updates every day. Conversely, if it still has a large number of submissions as it did in the early stages, these submissions are likely to be ineffective.

2、REVERT the commit of the main repo to what he like it to be 更准确地说是main分支会处于合理的状态。最新的版本本身也是基于较老的main分支在dev分支的一些有效提交上进行的更新,不存在revert的说法。我会时不时观察pr和dev分支的merge,选取有价值的更新去验证他并合并到main分支。 More accurately, the main branch will be in a reasonable state. The latest version itself is an update based on some effective submissions from the dev branch on an older main branch. There is no concept of reverting. I will periodically review PRs and merges in the dev branch, selecting valuable updates to verify and merge into the main branch.

3、To let such a great project die this way 不, RVC不仅没有消亡,相反,使用RVC技术的视频一直在增加,RVC技术也逐渐潜移默化地在进入人们的日常生活中。不要将项目的更新速度降低等同于项目消亡。 No, The RVC project has not disappeared; on the contrary, the use of RVC technology in videos continues to increase. RVC technology is gradually permeating into people's daily lives. Do not equate the slowing update speed of the project with its disappearance.

4、some guys are helping you to maintain a code that you have abandoned 我没有放弃这个项目,这属于误解。 I have not abandoned this project; that's a misunderstanding.

5、this issue is the only thing that I can do to keep RVC alive, which is, separating from the main repo. Fumiama一直在维护dev分支的合并,dev分支事实上承担了大量不稳定提交合并的职责。他认为将dev分支分离出主仓库更合适,我尊重他的决定。 Fumiama has been maintaining merges in the dev branch, which has actually borne the responsibility of merging a large number of unstable submissions. He believes that separating the dev branch from the main repository is more appropriate, and I respect his decision.

6、However, our boss do not think so. I have talked him with the importance of community but gave up finally. 我没有表述过类似想法。我需要再强调一下,社区的贡献是重要的,显然它也是RVC的一个重要组成部分。 事实上直到昨天,我都在进行社区开发人员提交的有价值代码合并。下文我不会再回复有关社区重要性的问题。 I have never expressed such an idea. I need to emphasize once again that community contributions are important and clearly an integral part of RVC. In fact, until yesterday, I was still reviewing and merging valuable code submitted by community developers. I won't respond to further questions about the importance of the community.

7、generally speaking, he want to control all details of this repo and it means that all modifications will only be done by him. 错误的。我不仅没有控制仓库的完整细节,相反,有一些部分是未经过我自己审查验证也同意提交的,例如mac、ipex推理支持,以及实时变声的一部分代码(它由yxlllc自主提交)。我没有亲自验证,同时这部分提交也没有引起用户的负反馈,因为他们在提交前会自行验证程序的稳定性,至少懂得自己要能跑通了,再把代码提交上来。 No. I don't control all the details of the repository. On the contrary, there are some parts that have been submitted and accepted without my own review and verification, such as support for Mac and IPEX inference, as well as some code related to real-time voice conversion (which was autonomously submitted by yxlllc). I haven't personally verified these submissions, but they haven't received negative feedback from users either because they usually verify the stability of their programs before submitting. At least they ensure that the code can run before submitting it. 用户体验是第一位的,必须有人来负责main分支的稳定性,我能理解的部分我尽量自己负责,不能理解的部分也可以交付可靠的提交者自己负责。但是我不会将其交给连自己提交的代码自己都不先去验证的提交者。我必须对用户,和其他贡献者负责。 User experience comes first, and someone must be responsible for the stability of the main branch. I will take responsibility for the parts I understand as much as possible, and for the parts I don't understand, I can assign them to reliable contributors. However, I won't entrust them to contributors who don't even verify their own code before submitting. I must be accountable to users and other contributors.

8、No code is perfect. And RVC is going to be considered outdated if no further improvement is done. 人孰能无过,这是显然的事情。犯了过错当然可以被理解,但是人能通过自己的努力弥补过错。假如代码存在问题,你可以反复运行将其调试通过来纠正它。不自行验证而将错误代码提交上来的行为,反映的不是能力问题,而是态度问题。 People are bound to make mistakes, that's obvious. Making mistakes can be understood, but people can also make up for their mistakes through their efforts. If there are issues in the code, you can debug and correct them by running it repeatedly. Submitting erroneous code without self-validation doesn't reflect an issue with capability but rather an attitude problem. 我们一直有在努力提升RVC的效果和产品用户体验,但是我们不想任何一点意义不大的提升都搞一个大新闻惊扰RVC的用户。RVC是否过时,用户的行为会说明一切,你我说了都不算。 We have been continuously striving to improve the quality and user experience of RVC, but we don't want to make a big fuss about any insignificant improvements that might disturb RVC users. Whether RVC is outdated or not, users' actions will speak louder than words.

社区是重要的,每个人都可以为RVC做出自己的贡献,这是自由的。但是为了切实提升用户体验,合并进主分支会有门槛。 The community is important, and everyone is free to contribute to RVC. However, to genuinely enhance the user experience, there will be a threshold for merging contributions into the main branch. 最后我想再警示大家,RVC的main分支改动的背后,会有大量的开发人员克隆、更新这个分支。提交代码不是儿戏,而是一件责任重大、神圣,且有时会枯燥到难以坚持下去的事情。因此,合并代码将进行严格的代码验证,在提交前请务必保证您的代码的稳定性和有效性。这是最基本的要求。 Finally, I would like to remind everyone once again that behind any changes to the main branch of RVC, there will be numerous developers cloning and updating this branch. Submitting code is not child's play; it is a significant and sacred responsibility, and sometimes it can be tedious to the point of being difficult to persevere. Therefore, merging code will undergo strict code validation, and before submitting, please ensure the stability and effectiveness of your code. This is the most basic requirement.

fumiama commented 2 months ago

Happy to hear the formal reply from RVC-Boss. In my previous chats with him, his attitude to the GitHub codes changes violently so maybe I have some misunderstanding.

I will reply to RVC-Boss's comment point by point from my view according to my collaboration experiences with him.

(1) basically refuses ANYONE to do ANY changes:fake news No. Everyone can commit to the repository. I will prioritize merging stable and valuable submissions for verification, and merge them after successful verification.

That's true, but something is hidden. RVC-Boss will merge the PRs that he thinks useful, and for the PRs he thinks not important or he cannot understand, he just ignore them (or let me to decide, which will be explained later) in most cases, which is his successful verification really means.

If the feedback is slow, you can try contacting me ...

Sure. RVC-Boss is very busy, so he cannot spend so much time on this repo at GitHub, which means, a PR will wait for a month or longer to let him have a look (and possibly just ignore it).

And, he let me to decide the PRs that are not related to the algorithm. I did as he said, but actually, he cannot TRUST every codes I merge/write, whose detail will be explained later.

(2)dirtying I must ensure that the main branch remains in a stable state.

I also agree.

Alternatively, you need to ensure this yourself when you submit the code.

The meaning of this sentence in English is different (and unclear) from the Chinese version. In Chinese version, it means

If you can ensure this yourself when you submit the code, the code can be merged into the main branch.

Which is what I have done in the recently. I migrated some new translations and error fixes that will not affect the main functions into the main branch without asking him because he his busy.

There was a dev branch before, and you can submit to it. fumiama has been handling the merges there.

Yes. RVC-Boss will check and validate dev branch when he want to release a new version. As the dev branch usually contains many changes when he is absent, he may not have the patient to check it completely. At the beginning (in the past year, 2023), he did some merges from dev to main. However, when he is busier in this year, he just give up seeing the dev branch and let it alone, which is a separation in fact. What I have done is just normalize it.

"Dirtying" is Fumiama's personal summary, which clearly does not accurately describe the situation mentioned above.

No. I'm completely repeating what RVC-Boss said in our QQ-dev-group, and, I even beautified it. Let's see the original text. I will translate it on the picture.

The red line that he said is the direct reason that let me make the final decision to separate. It's a matter of principle.

shit code

(3)his code there are some parts that have been submitted and accepted without my own review and verification

And RVC-Boss got mad when these codes contain bugs, which are unavoidable in develop process. Actually, many changes of the repo is pushed by me and got many complains and abuses from him. From my view, it's he that is protecting his code.

No. The fundamental reason for "the slow progress" of this project is that it has already reached its peak and limit.

Hear the voices of the community.

Conversely, if it still has a large number of submissions as it did in the early stages, these submissions are likely to be ineffective.

ineffective, exactly. That's the true thought of RVC-Boss.

The latest version itself is an update based on some effective submissions from the dev branch on an older main branch.

Exactly. These codes are picked up carefully by RVC-Boss from a mountain of shit in dev branch (see the chat log above). Thanks to his effort.

And again, this is a separation in fact.

To avoid these troubles, the LICENSE of MY REPO has been changed to AGPL-3.0 in the dev branch. So, now RVC-Boss CANNOT pick any effective submissions from my repo only if he also change the LICENSE of this main repo to AGPL-3.0.

Do not equate the slowing update speed of the project with its disappearance.

Not a suitable thought for building a community. See the reason of the slowing update speed.

I have not abandoned this project; that's a misunderstanding.

Yes, he just want it be stable.

He believes that separating the dev branch from the main repository is more appropriate, and I respect his decision.

I want to mention that this decision is not from my personal view. I just realized a fact. In fact, I would rather not separate if a little bit hope exists, which has been broken down rudely by the chat log above.

In fact, until yesterday, I was still reviewing and merging valuable code submitted by community developers.

Yes, I have seen it. So I will give back all the merge duties in the main repo to RVC-Boss and work on my separated repo to avoid further misunderstanding of the word valuable code.

At least they ensure that the code can run before submitting it. ... However, I won't entrust them to contributors who don't even verify their own code before submitting.

I agree, but do not be completely negative about all codes from others.

If there are issues in the code, you can debug and correct them by running it repeatedly.

I want to mention that RVC is not a product online in a large company. Do not rule the free-devs with the industrial rules. In open-source project, bugs is acceptable (even in main branch) as long as someone notice it and fix it quickly, which is easy for a large project.

alexlnkp commented 2 months ago

Didn't know this issue went so deep... Honestly, quite shocked about this

At one point the RVC started being... bloated. Like, why do you embed UVR and such into a product which main purpose is to convert the voices? UVR is extremely heavy on its own too and the integration of it into the UI adds unnecessary complexity and a TON of bloat

blaisewf commented 2 months ago

If this problem transcends to these levels, no matter how much you want, this technology is DEAD. No matter what repositories you make or updates you release, you must clear up all these problems and establish the direction and future of RVC.

No developer is going to want to collaborate in such a toxic environment.


Things that I think would be important to save this situation:

fumiama commented 2 months ago

why do you embed UVR and such into a product which main purpose is to convert the voices

Because the base of this project is never the GitHub repo, but the General Pack. You can see the launch script of the General Pack easily ex. go-xxx.bat.

alexlnkp commented 2 months ago

Exactly, @blaise-tk ! The RVC started taking... ODD turns lately Main repo contains literally EVERYTHING, which makes it EXTREMELY heavy to clone, push to and even update! Main weights are contained inside the repo itself, which is simply overkill. Weights should have been uploaded to huggingface and cloned from there, at the very least It feels like the project lost its main direction and just does random things at this point, with very little amount of things being actually relevant to the idea

fumiama commented 2 months ago

No developer is going to want to collaborate in such a toxic environment

RVC-Boss is a good researcher. He can make brand new algorithms and this is his capital. No one can replace him at this time.

alexlnkp commented 2 months ago

Because the base of this project is never the GitHub repo, but the General Pack. You can see the launch script of the General Pack easily ex. go-xxx.bat.

That's the problem in my opinion, the project should do one thing, but do it good; not do 1230981908381 things and do them semi-good Maintaining single thing is much easier and better than maintaining: realtime, web, notebooks and all of that in a single project; why none of these were ever split into multiple repos is beyond me

fumiama commented 2 months ago

why none of these were ever split into multiple repos is beyond me

RVC-Boss mainly faced to the new-bee Chinese users (小白 in Chinese), this is his core user base. As for the GitHub, just the icing on the cake to absorb valuable commits from the community.

fumiama commented 2 months ago

It feels like the project lost its main direction and just does random things at this point

This is what RVC-Boss means of

The fundamental reason for "the slow progress" of this project is that it has already reached its peak and limit.

Because he is quite satisfied about the status now and do not want to change a lot.

blaisewf commented 2 months ago

Honestly, I'm beginning to see all this unnecessary public drama. I understand the need to expose this bad situation, but I think you should clarify things between your team and take the project in the best direction.

Maybe you should open up and take the opinion of more people related to the RVC community.

There are great communities that support this technology and I think it will not cost you much to expand your team.

https://discord.gg/iahispano & https://discord.gg/aihub


If you want, we can create a Discord group with all the RVC team and I will invite the most influential people from all the communities so we can chat and try to help you to achieve something more than a dead-end discussion.

alexlnkp commented 2 months ago

@blaise-tk i'd strongly advise against aihub, the community there is extremely toxic i think creating a group chat for rvc team would be the best solution

fumiama commented 2 months ago

If you want, we can create a Discord group with all the RVC team and I will invite the most influential people from all the communities so we can chat and try to help you to achieve something more than a dead-end discussion.

Maybe a good solution. But perhaps you have some misunderstanding about the RVC-dev-team. There's no tight team. All the directions is given from RVC-Boss and I, yxlllc or others do not know. He has the final decision right. I just devoted to manage the repo (more like a worker with no money) but now I'm tired about the trouble that I work for this project selflessly without salary and being abused by him meanwhile. So it is me who quit the project. If you want to create a new team based on this main repo, just talk to the RVC-Boss. Maybe he is happy to welcome you all. As for me, just want to work alone without listening the instructions from RVC-Boss.

blaisewf commented 2 months ago

If you want, we can create a Discord group with all the RVC team and I will invite the most influential people from all the communities so we can chat and try to help you to achieve something more than a dead-end discussion.

Maybe a good solution. But perhaps you have some misunderstanding about the RVC-dev-team. There's no tight team. All the directions is given from RVC-Boss and I, yxlllc or others do not know. He has the final decision right. I just devoted to manage the repo (more like a worker with no money) but now I'm tired about the trouble that I work for this project selflessly without salary and being abused by him meanwhile. So it is me who quit the project. If you want to create a new team based on this main repo, just talk to the RVC-Boss. Maybe he is happy to welcome you all. As for me, just want to work alone without listening the instructions from RVC-Boss.

I think this is the problem, we have to create a less hierarchical team where developers can be more free based on some rules.

alexlnkp commented 2 months ago

@fumiama whenever open-source project's decisions are ultimately up to a single individual, that's when you know the project is screwed

working on something together is the best approach for FOSS, where people give suggestions and add requested features. the main rvc repo is NOT about teamwork though and i can't imagine why anyone would want to contribute to RVC-Boss' repo...

you branching from the repo to have a more community-maintained solution is much better in spirit than whatever the heck RVC-Boss is doing.

I will attempt to contribute to your repo as much as possible

fumiama commented 2 months ago

I think this is the problem, we have to create a less hierarchical team where developers can be more free based on some rules.

If I can, I would like to.

Husky110 commented 2 months ago

Oh good lord... Stubborn idiots all over the place...
There seems to be some value to what @fumiama said about @RVC-Boss. Basically he (RVC-Boss) behaved like a stupid king in his stupid castle, wanting to reign over his empire of dirt - and instead of saying "sorry..." there come "statements". But crying like a baby won't fix a thing.
I think @fumiama's decision to create a separate repo is actually a good one, since there are two approaches to the project right now (sort of compareable to OpenOffice and LibreOffice) whereas both will have their strengths and weaknesses. I will try to keep up with the development on both at my docker-hub-repo (see https://hub.docker.com/r/cherrymint/rvc_webui ) and hopefully we will see some progress in the end somewhere.
Now @RVC-Boss - maybe think about your mindset on FOSS and life in general - @fumiama get back to work on your repo!
To Both: In the end you're fuckin' over the community with this - maybe some competition will help and in the end we will see who has the better software (@fumiama - maybe that's some motivation for you).

fumiama commented 2 months ago

i can't imagine why anyone would want to contribute to RVC-Boss' repo...

Because this repo has many many stars. You can see the PR status of another famous repo GPT-SoVITS, which is also a project of HIM. And also, he ignored most of the PRs.

I will attempt to contribute to your repo as much as possible

Thanks so much. That's the community I want to work with.

fumiama commented 2 months ago

To Both: In the end you're fuckin' over the community with this

Apologize to all the troubles I made but I have to. Now I will return to my repo.

Husky110 commented 2 months ago

To Both: In the end you're fuckin' over the community with this

Apologize to all the troubles I made but I have to. Now I will return to my repo.

I'm comming from a "user"-standpoint here. To me it's not about you @fumiama or @RVC-Boss. I couldn't care less about two people from the other side of the planet (no offense).
But to me it feels like that the user-side of the story needs to be heard. Speaking of which:
@RVC-Boss has a point in wanting the repo to be as stable and userfriendly as possible, but a word to the wise here: The latter (usability) can be acchieved by a good documentation and some thorough tutorials on how to do things.

SayanoAI commented 2 months ago

If this problem transcends to these levels, no matter how much you want, this technology is DEAD. No matter what repositories you make or updates you release, you must clear up all these problems and establish the direction and future of RVC.

No developer is going to want to collaborate in such a toxic environment.

Things that I think would be important to save this situation:

  • Re-organize the RVC team
  • Establish new project guidelines
  • Establish roadmap for the future
  • More direct contact between RVC team <-> community
  • Announce the status of upcoming releases (roadmap)

To add on to this, a lot of the bugs could be caught if you added unit testing for some baseline features. This will ensure that any new code merged to main will not affect existing core functionality.

RVC-Boss is a good researcher. He can make brand new algorithms and this is his capital. No one can replace him at this time.

@fumiama is this the reason there's no whitepaper for RVC? Other researchers could be helping with algorithmic changes if he released an architectural map of the model.

fumiama commented 2 months ago

is this the reason there's no whitepaper for RVC? Other researchers could be helping with algorithmic changes if he released an architectural map of the model.

I have ask someone else with the problem. The answer is he has no time and no interest on writing the paper/docs. And of course, he welcome the algorithm improvement, but maybe he thought that they will read his code.

fumiama commented 2 months ago

To add on to this, a lot of the bugs could be caught if you added unit testing for some baseline features. This will ensure that any new code merged to main will not affect existing core functionality.

I will add those unit tests on my repo, but not this main repo because in this repo, all the stuffs just mix together and it is hard to test part of them.