Skip to main content

About

dramaTTS parses scripts (plain text files) for theatre/screen plays and converts them into a multi-voice audio plays (wave-files).

While the script parsing functionality is provided by the dramaTTS program itself, it relies on external tools for the audio processing:

SoX, Festival as well as voices and lexicons for Festival have to be installed in order to create audio output with dramaTTS.

See the dramaTTS documentation for more details

Licenses

dramaTTS, Copyright (c) 2020 Thies Hecker

dramaTTS is free software released under the GPLv3 license (see the full disclaimer in COPYING and the LICENSE file for details). It is written python and you can download the source code from dramaTTS’s gitlab page.

dramaTTS is realized using:

PyQt, Copyright (c) Riverbank Computing Limited

and

setuptools_scm, Copyright (c) Ronny Pfannschmidt.

While dramaTTS is a standalone application, it is of limited use without Festival and SoX being installed, which provide the audio rendering (only script parsing including syntax highlighting, etc. is available).

While the Festival application itself and SoX are released under free software licenses as well, specific components, which are commonly bundled with Festival (i.e. certain lexicons and voices) may be released under non-free licenses.

For instance the festlex-OALD lexicon, which can be found among other files (incl. the source code of the latest Festival release) on the Festvox 2.5 release page lexicon is restricted to non-commercial use only.

The dramaTTS documentation will provide an example for a Festival distribution based on free components only.

Please see the COPYING file in the source code repository for details on licenses and copyright disclaimers of the individual components.

Features

As mentioned above dramaTTS consists of 2 main components: a script parser and a scheduler/configurator for the audio-rendering.

The script parser features:

  • configurable input file formatting

  • syntax highlighting (identifies different content like new scenes, dialogue lines, narrative descriptions,…)

  • text string substitutions supporting regular expressions

  • some utility functions like sorting speakers according to their number of text lines

The audio-renderering part basically provides a front-end to Festival and SoX with following features supported:

  • Altering of Festival voices (pitch, tempo and volume)

  • support for multiple CPU cores to accelerate audio rendering (dispatches parallel processes for individual lines)

  • using a Festival server for rendering is supported

  • some post-processing: normalize all voices, combine audio files (lines -> scenes -> single project file)

  • (re-)rendering of individual scenes or speakers

Installing

You will need a python3 distribution installed and for most convenience you should have either the pip or conda package manager installed.

On linux you will most likely have python and pip already installed - if not you should be able to install them with distributions package-manager.

E.g. for debian based system like ubuntu just run:

sudo apt-get python3-pip

or on arch based:

sudo pacman -S python-pip

For Windows users I would recommend to install Anaconda or miniconda, which will provide the conda package manager (make sure to get the python3 - not the python2 - version!).

To install dramaTTS with pip:

pip install dramatts

Note, that on some distributions you may install python2 and python3 in parallel. In such cases you should make sure, that you not using a pip for your python2 environment to install dramaTTS. Eventually you need to use pip3 as a command. You can check if you are using the correct pip by calling:

pip --version

To install dramaTTS with conda:

conda install -c thecker dramatts

In both cases pip or conda should download all required dependencies and should be able to launch the program. To do that just type:

python -m dramatts.dramatts_gui

The GUI should pop up and you can import text files, define roles etc., but you will not be able render audio unless you have installed Festival (and its components) and SoX.

See the dramaTTS documentation for more details.

Release files for dramatts 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dramatts 0.2.1
File Size Uploaded
dramatts-0.2.1.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for dramatts 0.2.1
File Interpreter ABI Platform
dramatts-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / dramatts-0.2.1.tar.gz

Download URL dramatts-0.2.1.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
b73a4a513a75124662a4b45cf8bcfbfd20504935be5a1224badb167e1a40b50c
BLAKE2b-256 checksum
How to use checksums
4e6222a29b8cf37cd4439154d8af9d97a6a96c1ec103c6c188b83bb1fd16a4c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / dramatts-0.2.1-py3-none-any.whl

Download URL dramatts-0.2.1-py3-none-any.whl
Size 58.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a70bd422906f8b424506a96aac9b21843ef6f70496883d777998c73d49b69e97
BLAKE2b-256 checksum
How to use checksums
a61c91bbe16f76789a6a4a274966e10dbb699d283bcff4ef66d54686031a0fdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page