VRCWizard / TTS-Voice-Wizard

Speech to Text to Speech. Song now playing. Sends text as OSC messages to VRChat to display on avatar. (STTTS) (Speech to TTS) (VRC STT System) (VTuber TTS)
https://TTSVoiceWizard.com
MIT License
578 stars 66 forks source link

Binary Reduction in source repo #27

Open SpookySkeletons opened 1 year ago

SpookySkeletons commented 1 year ago

Extremely cool project but noticed a few bits of concern in the git repo worth addressing.

There's a number of prebuilt blobs in the git project and a large amount of content that could be better served as git submodules with their own sub builds wired into the main build script. Could lead to much improved ability to modify the program to suit individual needs, future contributions, and of course support for building and running on more platforms than win32.

Is cleaning up the source repo on the roadmap?

VRCWizard commented 1 year ago

I'm pretty new to this stuff so if you could recommend helpful links / information to look at in regards to this that would be great. I tend to code and implement cool ideas first and refactor later although this is a terrible way to do things.

SpookySkeletons commented 1 year ago

If it gets the work done it's not terrible, just have to put in the effort to clean after! It's understandable.

For one as part of your process see if you can identify all the dependencies of your project and perhaps pull them in as separate git 'submodules' in an 'external' folder if you will.

This way you can track the actual commits of each individual dependency and easily identify upstream regressions and issues. Makes it very easy to secure, maintain, and update the project down the line.

Second is I would begin to automated the process of building each of these submodules you pull in and one by one turning them on so that your main build script builds them within their respective folders and then imports the binaries into the main project build as it progresses.

In this manner it can vastly improve the backend and longevity of the project.

EDIT: Do consider a linux/mac/multiplatform based build operation alongside, revamping your build process and adding multiplatform at the same time, overlay together pretty well assuming your dependencies don't hard require any win32.