Add macOS support (including Apple Silicon/ARM64) #1359
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add macOS Support (Including Apple Silicon/ARM64)
Overview
This PR adds official macOS support to the Real-Time Voice Cloning project, enabling users on macOS (including Apple Silicon M1/M2/M3) to install and run the tool without manual workarounds.
Motivation
The project currently only supports Windows and Linux. macOS users, especially those on Apple Silicon, face several challenges:
libsndfileon macOSChanges Made
Configuration Updates (
pyproject.toml)Python Version: Updated from
>=3.9,<3.10to>=3.10,<3.11PyQt5 Version: Changed from
==5.15.6to>=5.15.6,<5.16PyTorch Version: Added platform-specific requirements
torch==1.10.*(unchanged)torch>=1.13,<1.14(supports Python 3.10)Platform Support: Added
sys_platform == 'darwin'torequired-environmentsDocumentation
Helper Script (
run_macos).shgitignore patternGoogle Drive Download Fix (
utils/default_models.py)Technical Details
Key Challenges Solved
PyQt5 ARM64 Wheels
PyTorch Python 3.10 Support
Library Path Issues
libsndfilenot found by Python'ssoundfilepackageDYLD_LIBRARY_PATHto include/opt/homebrew/libQt5 Build Dependencies
qt@5via Homebrew and setCMAKE_PREFIX_PATHTesting
Verified Working on macOS ARM64
Installation Methods Tested
./run_macos)Compatibility
Supported Platforms
Python Versions
Files Changed
User Impact
Breaking Changes
None - This PR maintains full backward compatibility. Linux and Windows users are unaffected.
Notes for Reviewers
DYLD_LIBRARY_PATHenvironment variable is required at runtime on macOSuv.lockfile changes reflect the new platform-specific dependenciesFuture Improvements
uv syncto handle macOS automatically.envfile or activation script for easier setupHow to Test
On macOS (Apple Silicon):
On Linux/Windows:
Should work exactly as before - no changes to existing workflow.
Ready for Review ✅