# What Is the Entry Point for Launching Voice-Pro? The Complete Startup Guide

> Discover the entry point for launching Voice-Pro. This guide details the start-voice.py script and its role in initializing the Gradio interface at http://127.0.0.1:7870.

- Repository: [ABUS/voice-pro](https://github.com/abus-aikorea/voice-pro)
- Tags: getting-started
- Published: 2026-08-03

---

**Voice-Pro is launched via the [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py) script, which bootstraps the uv-managed Python environment and chains into [`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py) to initialize the Gradio interface on `http://127.0.0.1:7870`.**

The open-source Voice-Pro application by `abus-aikorea` provides a multi-stage startup process designed to handle dependency management automatically. Understanding the entry point for launching Voice-Pro is essential for developers who want to debug, customize, or deploy the application outside of the standard install flow.

## The Voice-Pro Launch Sequence

The startup process follows a cascading chain of scripts that progressively prepare the environment and load the application. According to the source code in the `abus-aikorea/voice-pro` repository, the execution flows through four distinct stages:

1. **`start.bat` (Windows) or [`start.sh`](https://github.com/abus-aikorea/voice-pro/blob/main/start.sh) (macOS/Linux)** – Platform-specific wrappers that handle initial environment setup, including downloading the `uv` package manager and synchronizing dependencies.
2. **[`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py)** – The primary Python entry point that executes the uv-managed interpreter and passes control to the next stage.
3. **`start-abus.py voice`** – Invoked with the `voice` argument, this core launcher initializes the application modules.
4. **`AbusAppVoice.create_ui()`** – Defined in [`app/abus_app_voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/app/abus_app_voice.py), this function constructs the Gradio interface and starts the local server on port 7870.

## Primary Entry Point: start-voice.py

The file [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py) serves as the main entry point for launching Voice-Pro. This script resides in the repository root and is responsible for coordinating the uv environment before handing execution to the core launcher.

When you run the standard startup command, this script ensures that the Python interpreter managed by `uv` is properly configured. It then invokes [`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py) with the appropriate arguments to load the Voice-Pro specific modules. For developers examining the codebase, this is the first Python file executed after the platform-specific wrapper scripts complete their setup tasks.

## Core Launcher: start-abus.py and the UI Initialization

Once [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py) completes its environment checks, it delegates to `start-abus.py voice`. This script acts as the core launcher that bridges the bootstrap phase with the actual application logic.

Inside [`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py), the execution path leads to `AbusAppVoice.create_ui()` located in [`app/abus_app_voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/app/abus_app_voice.py). This function instantiates the Gradio-based user interface and binds it to `http://127.0.0.1:7870`. The separation of concerns between the bootstrap script ([`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py)) and the core launcher ([`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py)) allows the application to handle dependency resolution independently from UI initialization.

## How to Start Voice-Pro from the Command Line

You can launch Voice-Pro using the provided convenience scripts or by invoking the Python entry point directly for debugging purposes.

### Using the Bootstrap Scripts

For standard operation, use the platform-specific wrappers included in the repository root:

```bash

# Windows

configure.bat
start.bat

```

```bash

# macOS/Linux

./configure.sh
./start.sh

```

These scripts automatically handle the download of the `uv` package manager, synchronize dependencies, and execute [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py).

### Running the Python Entry Point Directly

To bypass the wrapper scripts or debug the startup process, you can invoke the entry point manually after ensuring dependencies are present:

```bash

# Ensure dependencies are synchronized

installer_files/uv/uv.exe sync --frozen --extra gpu

# Execute the primary entry point

installer_files/env/Scripts/python.exe start-voice.py

```

This approach is useful when you need to inspect the environment or pass custom arguments to the Python interpreter.

## Key Files in the Startup Architecture

Understanding the role of each file in the launch chain helps when troubleshooting or extending Voice-Pro:

- **[`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py)** – The primary entry point that prepares the uv-managed interpreter and initiates the launch sequence.
- **[`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py)** – The core launcher that processes the `voice` argument and routes to the appropriate application class.
- **[`app/abus_app_voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/app/abus_app_voice.py)** – Contains the `AbusAppVoice.create_ui()` method that builds the Gradio interface.
- **[`CLAUDE.md`](https://github.com/abus-aikorea/voice-pro/blob/main/CLAUDE.md)** – Documentation detailing the architecture and launch sequence of the application.

## Summary

- The **entry point for launching Voice-Pro** is [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py), which serves as the bridge between system-level setup and application execution.
- Platform-specific wrappers (`start.bat`/[`start.sh`](https://github.com/abus-aikorea/voice-pro/blob/main/start.sh)) handle environment preparation before calling the Python entry point.
- The core launcher [`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py) receives control via the `voice` argument and initializes the UI through `AbusAppVoice.create_ui()`.
- The application serves its Gradio interface on `http://127.0.0.1:7870` after successful startup.
- Developers can invoke [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py) directly using the uv-managed Python interpreter for debugging or custom deployments.

## Frequently Asked Questions

### What is the main file to run to start Voice-Pro?

The main file is **[`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py)** located in the repository root. While platform-specific scripts like `start.bat` or [`start.sh`](https://github.com/abus-aikorea/voice-pro/blob/main/start.sh) provide convenience, [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py) is the primary Python entry point that initializes the uv environment and launches the application.

### Can I start Voice-Pro without using the batch or shell scripts?

Yes, you can execute [`start-voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-voice.py) directly using the uv-managed Python interpreter. First synchronize dependencies with `installer_files/uv/uv.exe sync --frozen --extra gpu`, then run `installer_files/env/Scripts/python.exe start-voice.py`. This bypasses the wrapper scripts while maintaining the proper environment.

### What port does Voice-Pro use when it starts?

Voice-Pro starts the Gradio server on **`http://127.0.0.1:7870`**. This is configured within the `AbusAppVoice.create_ui()` method in [`app/abus_app_voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/app/abus_app_voice.py), which binds the interface to localhost on port 7870.

### Where is the Gradio UI defined in the source code?

The Gradio interface is constructed in **[`app/abus_app_voice.py`](https://github.com/abus-aikorea/voice-pro/blob/main/app/abus_app_voice.py)** within the `AbusAppVoice.create_ui()` function. This method is called by [`start-abus.py`](https://github.com/abus-aikorea/voice-pro/blob/main/start-abus.py) after the bootstrap phase completes, and it handles the layout and server initialization for the Voice-Pro web UI.