Articulate 3D is a Blender addon that allows users to create and manipulate 3D models using voice commands, powered by Google's Gemini AI.
- Voice-controlled 3D modeling in Blender
- Real-time voice recognition and processing
- AI-powered natural language understanding via Google Gemini
- Secure API key management
- Works within Blender's Python environment
The addon is designed with the following components:
- UI Component: Blender panel interface for controlling voice input
- Voice Processing: Captures and transcribes audio input
- Natural Language Understanding: Processes commands using Gemini AI
- Script Generation: Converts natural language to Blender Python code
- Execution Engine: Safely runs generated scripts in Blender
- Blender 4.0+
- Internet connection (for API access)
- Microphone
- Google Gemini API key
-
Clone the repository:
git clone https://github.com/yourusername/articulate3D.git -
Run the setup script:
cd articulate3D python setup.pyThis creates a virtual environment and installs dependencies.
-
Configure API keys:
- Copy
.env.exampleto.env - Add your Google Gemini API key
- Copy
-
Install in Blender:
- Open Blender
- Go to Edit > Preferences > Add-ons
- Click 'Install' and select the addon directory
- Enable the 'Articulate 3D' addon
Blender uses its own Python environment, which presents challenges for addons requiring external packages. Articulate 3D addresses this in several ways:
-
Bundled Virtual Environment: The addon creates its own Python virtual environment during setup, separate from Blender's.
-
Subprocess Communication: The addon uses subprocess calls to execute code in the bundled environment while maintaining communication with Blender.
-
Dependency Management: Required packages (SpeechRecognition, PyAudio, etc.) are installed in the bundled environment, not Blender's Python environment.
-
Fallback Mechanisms: If local processing fails, the addon can use online alternatives for speech recognition.
The addon uses threading to ensure real-time voice processing without blocking Blender's UI:
- Voice input is captured in a background thread
- Processing happens asynchronously
- Results are returned to Blender when ready
Future versions will support LiveKit for enhanced real-time audio processing:
- Lower latency voice recognition
- Better handling of network interruptions
- Potential for collaborative voice commands
-
Install the addon following the installation steps above
-
Open the Voice panel in Blender's 3D View sidebar
-
Enter your API key in the configuration section
-
Click "Start Voice Command" and speak a simple command like:
- "Create a red cube"
- "Add a sphere"
- "Move the selected object up 2 units"
-
Verify execution by checking if the command was properly executed in the 3D view
If you encounter issues:
-
Microphone not working:
- Run
microphone_test.pyto check your microphone setup - Ensure microphone permissions are enabled in your OS
- Try selecting a different microphone in your system settings
- Run
-
API Key Issues:
- Verify your Gemini API key is valid
- Check the
.envfile exists and contains the correct key - Ensure no spaces or quotes around the API key
-
Addon Not Starting:
- Check Blender's System Console for error messages
- Verify all dependencies are installed (
setup.pyran successfully) - Ensure Python environment is properly set up
-
Voice Commands Not Recognized:
- Speak clearly and at a normal pace
- Check your internet connection (required for API calls)
- Verify the voice recognition status in the addon panel
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini API for natural language processing
- Blender Foundation for the amazing 3D creation suite
- Contributors and testers who helped improve this addon
-
Test environment handling:
- Delete the
envdirectory and run setup.py again to verify environment recreation - Test on different operating systems to ensure cross-platform compatibility
- Delete the
-
Test error handling:
- Try commands with ambiguous instructions
- Test with poor audio quality or background noise
- Disconnect from the internet to test offline behavior
-
Performance testing:
- Test with complex scenes to ensure Blender remains responsive
- Try rapid successive commands to test queue handling
-
Microphone not detected:
- Ensure your microphone is properly connected
- Check system permissions for microphone access
-
API key errors:
- Verify your API key is correctly entered
- Check internet connectivity
-
Dependencies not installing:
- Run setup.py with administrator privileges
- Check Python version compatibility (Python 3.8+ recommended)
-
Addon not appearing in Blender:
- Ensure you're installing the correct directory
- Check Blender's console for error messages
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.