Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ Start WebUI:
```bash
soprano-webui # hosted on http://127.0.0.1:7860 by default
```
> **Tip:** Use `--host` and `--port` to change the bind address, for example:
> ```bash
> soprano-webui --host 0.0.0.0 --port 8080
> ```
> **Tip:** You can increase cache size and decoder batch size to increase inference speed at the cost of higher memory usage. For example:
> ```bash
> soprano-webui --cache-size 1000 --decoder-batch-size 4
Expand Down
26 changes: 15 additions & 11 deletions soprano/webui.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,13 @@
help='Backend to use for inference')
parser.add_argument('--cache-size', '-c', type=int, default=100,
help='Cache size in MB (for lmdeploy backend)')
parser.add_argument('--decoder-batch-size', '-bs', type=int, default=1,
help='Batch size when decoding audio')
args = parser.parse_args()
parser.add_argument('--decoder-batch-size', '-bs', type=int, default=1,
help='Batch size when decoding audio')
parser.add_argument('--host', default='127.0.0.1',
help='Host/IP to bind the WebUI server (default: 127.0.0.1)')
parser.add_argument('--port', type=int, default=None,
help='Port to bind the WebUI server (default: auto-select)')
args = parser.parse_args()

# Initialize model
print("Loading Soprano TTS model...")
Expand Down Expand Up @@ -217,13 +221,13 @@ def find_free_port(start_port=7860, max_tries=100):
continue
raise OSError("Could not find a free port")

def main():
# Start Gradio interface
port = find_free_port(7860)
print(f"Starting Gradio interface on port {port}")
demo.launch(
server_name="127.0.0.1",
server_port=port,
def main():
# Start Gradio interface
port = args.port if args.port is not None else find_free_port(7860)
print(f"Starting Gradio interface on port {port}")
demo.launch(
server_name=args.host,
server_port=port,
share=False,
theme=gr.themes.Soft(primary_hue="green"),
css="""
Expand All @@ -237,4 +241,4 @@ def main():
)

if __name__ == "__main__":
main()
main()