13

I'm looking for a text-to-speech converter, that

  • produces a wave or mp3 file (no real-time needed)
  • has no fundamental restrictions on commercial usage of the produced output
  • comes with female / male speakers for at least

    • English and
    • German language
  • puts output quality (pronunciation, tone and intonation) over ease of use (third-party product integration, nice GUI, etc.)

  • is gratis (in the ideal case)

There is no need for a whole integrated (and expensive) software suite.

Preferred environments (in descending order): JVM (binaries) > Windows > Linux console > web app

2
  • FYI: IMHO the answer does not meet the requirement "no fundamental restrictions on commercial use". See comment there Apr 13, 2016 at 7:27
  • I'm uncertain what is considered a duplicate in this stack exchange. My question Deep-learning gratis TTS for English on Desktop (Linux) might have a big overlap in answers, but as the restrictions are not the same, the questions are not really duplicates. Feb 22, 2023 at 6:59

2 Answers 2

9

You could take a look at IVONA Text to Speech. It's not free but it does meet all of your other requirements:

  • Multiple voices (with additional voices available)
  • Multiple languages (with additional languages available)
    • American English
    • British English
    • German
    • Spanish
    • French
    • Italian
  • High quality (from my experience* anyway)

* One thing I will note, is that I have only used the IVONA Text to Speech voices for Android and I am basing my assessment of the quality level of the voices off this.

The software is available via their website and comes in a variety of shapes and sizes: for Windows, Android, as APIs for developers, as a Speech Server (for IVRs and the like), etc.

1
  • 1
    IMHO this does not meet the requirement "no fundamental restrictions on commercial use", since the terms indicate "The End User License Agreement does not allow for commercial use or distribution of audio created using the Ivona™ voices." Apr 13, 2016 at 7:26
1

I found something: CoquiTTS (web demo)

There are multiple models, especially German (tts_models/de/thorsten/vits) and English (tts_models/en/ljspeech/vits) ones.

Some of the models have multiple speakers (see Python code below to get the details)

import sys


def gen(model_name: str, text: str, out_file: str) -> None:
    from TTS.api import TTS  # pip install TTS

    tts = TTS(model_name=model_name, progress_bar=False, gpu=False)
    # if you want to see which models are available: TTS.list_models()
    print("#" * 80)
    print(f"model={model_name}")
    print(f"speakers={tts.speakers}")
    print(f"languages={tts.languages}")
    speaker = tts.speakers[0] if tts.speakers else None
    language = "en" if tts.languages else None
    tts.tts_to_file(text=text, speaker=speaker, language=language, file_path=out_file)


def get_text(filepath: str) -> str:
    with open(filepath) as fp:
        text = fp.read()
    text = text.replace("”", '"').replace("“", '"')
    return text


if __name__ == "__main__":
    gen(
        model_name="tts_models/en/ljspeech/vits--neon",
        text=get_text(sys.argv[1]),
        out_file=sys.argv[2]
    )

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.