[TTS] Easy Install for AllTalk TTS engine

Open
#10,399 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
csharp, python
Domain
desktop, tooling

Research direction

Start by tracing IsEngineInstalled() in src/UI/Features/Video/TextToSpeech/TextToSpeechViewModel.cs and compare the existing Piper flow in DownloadTtsWindow. Review the proposed installer area and SeVideoTextToSpeech.cs for the install-path setting. Done means AllTalk can be installed, started, detected as ready, and optionally auto-started when selected.

Written by the indexing model from the issue text.

Description

Problem

AllTalk TTS requires manual installation (Python, git clone, pip install, server startup). When AllTalk is not running, SE only shows a message with a GitHub link.

Current behavior

IsEngineInstalled() checks if AllTalk server responds within 2 seconds. If not, shows dialog: "AllTalk requires running local AllTalk web server. Read more?" linking to GitHub.

Proposed solution

Add automated installer similar to existing Piper download (DownloadTtsWindow):

  1. Detect Python installation (check PATH, common locations)
  2. Clone AllTalk repo (https://github.com/erew123/alltalk_tts)
  3. Install Python dependencies (pip install -r requirements.txt)
  4. Provide "Start AllTalk Server" button that launches the server process
  5. Auto-detect when server is ready (poll http://127.0.0.1:7851)
  6. Option to auto-start AllTalk when TTS engine is selected

Files affected

  • src/UI/Features/Video/TextToSpeech/TextToSpeechViewModel.cs - IsEngineInstalled() flow
  • src/UI/Features/Video/TextToSpeech/DownloadTts/ - new AllTalk installer dialog
  • src/UI/Logic/Config/SeVideoTextToSpeech.cs - AllTalk install path setting

Working on this: @Ironship

Dominant language
C#
Stars
14.3k
Forks
1.3k
Avg merge
1h 19m
Merged PRs (30d)
782

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SubtitleEdit/subtitleedit

All issues in SubtitleEdit/subtitleedit

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.