Skip to content

Repository files navigation

A.I.VOICE Python Library

A Python wrapper for A.I.VOICE Editor API that makes it easy to control A.I.VOICE Editor from Python.

Features

Easy to use: Simple Python interface for A.I.VOICE Editor API
🎵 Voice synthesis: Generate speech from text using A.I.VOICE voices
🔧 Full control: Access to all A.I.VOICE Editor functions
🛡️ Type safety: Full type hints for better development experience

Requirements

  • Windows OS
  • A.I.VOICE Editor (v1.3.0 or later)
  • Python 3.8+
  • pythonnet

Installation

pip install aivoice-python

Quick Start

importtimefromaivoice_pythonimportAIVoiceTTsControl, HostStatus# Create A.I.VOICE controller (using default installation path)tts_control=AIVoiceTTsControl()
# Or specify custom installation path:# tts_control = AIVoiceTTsControl(editor_dir="C:\\MyPath\\AIVoice\\AIVoiceEditor\\")# Initialize APIhost_name=tts_control.get_available_host_names()[0]
tts_control.initialize(host_name)
# Start A.I.VOICE Editor if not runningiftts_control.status==HostStatus.NotRunning:
tts_control.start_host()
# Connect to A.I.VOICE Editortts_control.connect()
# Set text and playtts_control.text="Hello, A.I.VOICE!"play_time=tts_control.get_play_time()
tts_control.play()
# Wait for playback to completetime.sleep((play_time+500) /1000)
# Disconnecttts_control.disconnect()

API Reference

AIVoiceTTsControl

Main class for controlling A.I.VOICE Editor.

Constructor

  • AIVoiceTTsControl(editor_dir: str = None) - Create controller instance
    • editor_dir: Custom A.I.VOICE Editor installation path (optional)

Properties

  • text: str - Text to synthesize
  • current_voice_preset_name: str - Current voice preset name
  • voice_names: List[str] - Available voice names
  • voice_preset_names: List[str] - Available voice preset names
  • status: HostStatus - Current host status
  • version: str - Host version

Methods

  • initialize(service_name: str) - Initialize API
  • connect() - Connect to A.I.VOICE Editor
  • disconnect() - Disconnect from A.I.VOICE Editor
  • start_host() - Start A.I.VOICE Editor
  • play() - Start/pause playback
  • stop() - Stop playback
  • get_play_time() -> int - Get playback duration in milliseconds
  • save_audio_to_file(path: str) - Save audio to file

Enums

HostStatus

  • NotRunning - A.I.VOICE Editor is not running
  • NotConnected - Not connected to A.I.VOICE Editor
  • Idle - Connected and idle
  • Busy - Connected and busy

TextEditMode

  • Text - Text mode
  • List - List mode

Examples

Custom Installation Path

If A.I.VOICE Editor is installed in a non-standard location:

fromaivoice_pythonimportAIVoiceTTsControl# Specify custom installation pathtts_control=AIVoiceTTsControl(editor_dir="D:\\MyApps\\AIVoice\\AIVoiceEditor\\")
# ... rest of the code ...

Save Audio to File

fromaivoice_pythonimportAIVoiceTTsControltts_control=AIVoiceTTsControl()
# ... initialization code ...tts_control.text="Hello, World!"tts_control.save_audio_to_file("output.wav")

Use Different Voice

fromaivoice_pythonimportAIVoiceTTsControltts_control=AIVoiceTTsControl()
# ... initialization code ...# Get available voicesvoices=tts_control.voice_namesprint(f"Available voices: {voices}")
# Set voiceifvoices:
tts_control.current_voice_preset_name=voices[1] # Use second voice

Error Handling

fromaivoice_pythonimportAIVoiceTTsControltry:
tts_control=AIVoiceTTsControl()
exceptFileNotFoundErrorase:
print(f"A.I.VOICE Editor not found: {e}")
# Try with custom pathtry:
tts_control=AIVoiceTTsControl(editor_dir="C:\\MyPath\\AIVoice\\AIVoiceEditor\\")
exceptFileNotFoundError:
print("Please install A.I.VOICE Editor v1.3.0 or later.")

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

If you encounter any issues, please create an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages