mirror of
https://github.com/Mangio621/Mangio-RVC-Fork.git
synced 2025-12-16 11:37:44 +01:00
Merge branch 'dev-main-backup' of https://github.com/alexlnkp/Mangio-RVC-Tweaks into dev-main-backup
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
# 7/25 Changelog:
|
||||
# 7/26 Changelog:
|
||||
- Fixed the cli inferencing traceback.
|
||||
- SQL Databases implemented for formanting training stop.
|
||||
- Gradio browser tab renamed to `Mangio-RVC-Web 💻`.
|
||||
- Rudimentary functions from `infer-web.py` removed.
|
||||
- Formanting now accepts any audio format, as long as it is supported by FFmpeg.
|
||||
|
||||
# 7/25 Changelog:
|
||||
- Better MacOS installation script. For inference, all that needs to be done is running the `run.sh` from the extracted zip folder, where it will install Python 3.8, Homebrew, and other dependencies for you automatically. M1 Macs are natively supported for GPU acceleration, and training should work if you choose to download the pretrained models.
|
||||
|
||||
# 7/23 Changelog:
|
||||
- Fp16 detection now works how it did before the last RVC beta; no more training slowdowns compared to how it was before then
|
||||
|
||||
98
run.sh
98
run.sh
@@ -1,5 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Define common paths for Homebrew
|
||||
BREW_PATHS=(
|
||||
"/usr/local/bin"
|
||||
"/opt/homebrew/bin"
|
||||
)
|
||||
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
# macOS specific env:
|
||||
export PYTORCH_ENABLE_MPS_FALLBACK=1
|
||||
@@ -11,6 +17,74 @@ fi
|
||||
|
||||
requirements_file="requirements.txt"
|
||||
|
||||
# Function to add a path to PATH
|
||||
add_to_path() {
|
||||
echo "Homebrew found in $1, which is not in your PATH."
|
||||
read -p "Do you want to add this path to your PATH? (y/n) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "Adding $1 to PATH..."
|
||||
|
||||
# Detect the shell and choose the right profile file
|
||||
local shell_profile
|
||||
if [[ $SHELL == *"/bash"* ]]; then
|
||||
shell_profile="$HOME/.bashrc"
|
||||
[[ ! -f "$shell_profile" ]] && shell_profile="$HOME/.bash_profile"
|
||||
elif [[ $SHELL == *"/zsh"* ]]; then
|
||||
shell_profile="$HOME/.zshrc"
|
||||
else
|
||||
echo "Unsupported shell. Please add the following line to your shell profile file manually:"
|
||||
echo "export PATH=\"$PATH:$1\""
|
||||
return
|
||||
fi
|
||||
|
||||
# Add the export line to the shell profile file
|
||||
echo "export PATH=\"$PATH:$1\"" >> "$shell_profile"
|
||||
|
||||
# Source the shell profile file
|
||||
source "$shell_profile"
|
||||
|
||||
# Verify that the new PATH includes Homebrew
|
||||
if ! command -v brew &> /dev/null; then
|
||||
echo "Failed to add Homebrew to the PATH."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if Homebrew is in PATH
|
||||
if command -v brew &> /dev/null; then
|
||||
echo "Homebrew is already in your PATH."
|
||||
else
|
||||
# If not, check common paths for Homebrew
|
||||
echo "Homebrew not found in PATH. Checking common paths..."
|
||||
for path in "${BREW_PATHS[@]}"; do
|
||||
if [[ -x "$path/brew" ]]; then
|
||||
add_to_path "$path"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Check again if Homebrew is in PATH
|
||||
if ! command -v brew &> /dev/null; then
|
||||
echo "Homebrew still not found. Attempting to install..."
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
fi
|
||||
|
||||
# Verifying if Homebrew has been installed successfully
|
||||
if command -v brew &> /dev/null; then
|
||||
echo "Homebrew installed successfully."
|
||||
else
|
||||
echo "Homebrew installation failed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Installing ffmpeg with Homebrew
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
echo "Installing ffmpeg..."
|
||||
brew install ffmpeg
|
||||
fi
|
||||
|
||||
# Check if Python 3.8 is installed
|
||||
if ! command -v python3.8 &> /dev/null; then
|
||||
echo "Python 3.8 not found. Attempting to install..."
|
||||
@@ -27,7 +101,7 @@ fi
|
||||
|
||||
# Check if required packages are installed and install them if not
|
||||
if [ -f "${requirements_file}" ]; then
|
||||
installed_packages=$(python3.8 -m pip freeze)
|
||||
installed_packages=$(python3.8 -m pip list --format=freeze)
|
||||
while IFS= read -r package; do
|
||||
[[ "${package}" =~ ^#.* ]] && continue
|
||||
package_name=$(echo "${package}" | sed 's/[<>=!].*//')
|
||||
@@ -41,5 +115,27 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install onnxruntime package
|
||||
echo "Installing onnxruntime..."
|
||||
python3.8 -m pip install onnxruntime
|
||||
|
||||
download_if_not_exists() {
|
||||
local filename=$1
|
||||
local url=$2
|
||||
if [ ! -f "$filename" ]; then
|
||||
echo "$filename does not exist, downloading..."
|
||||
curl -# -L -o "$filename" "$url"
|
||||
echo "Download finished."
|
||||
else
|
||||
echo "$filename already exists."
|
||||
fi
|
||||
}
|
||||
|
||||
# Check and download hubert_base.pt
|
||||
download_if_not_exists "hubert_base.pt" "https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt"
|
||||
|
||||
# Check and download rmvpe.pt
|
||||
download_if_not_exists "rmvpe.pt" "https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt"
|
||||
|
||||
# Run the main script
|
||||
python3.8 infer-web.py --pycmd python3.8
|
||||
Reference in New Issue
Block a user