Skip to main content

pymbrola

GitHub Actions Workflow Status PyPI - Version PyPI - Python Version GitHub License PyPI - Status Docker Image Size (tag) GitHub Release Codecov


A Python interface for the MBROLA speech synthesizer, enabling programmatic creation of MBROLA-compatible phoneme files and automated audio synthesis. This module validates phoneme, duration, and pitch sequences, generates .pho files, and can call the MBROLA executable to synthesize speech audio from text-like inputs.

References: Dutoit, T., Pagel, V., Pierret, N., Bataille, F., & Van der Vrecken, O. (1996, October). The MBROLA project: Towards a set of high quality speech synthesizers free of use for non commercial purposes. In Proceeding of Fourth International Conference on Spoken Language Processing. ICSLP'96 (Vol. 3, pp. 1393-1396). IEEE. https://doi.org/10.1109/ICSLP.1996.607874

Installation

You can install pymbrola from the PyPi repository using pip or uv:

pip install pymbrola # pip installation
uv add pymbrola      # uv installation

In either case, you will need Python>=3.10. To synthesise audios via MBROLA, you will need to download it and compile it. The pymbrola package has functions for this. This will download MBROLa from numediat/MBROLA to you home folder ~/.mbrola and compile it.

from pymbrola import mbrola

mbrola.install_mbrola()

Finally, you will need to download some MBROLA voices from numediart/MBROLA-voices. These voices will be automatically downloaded and found by pymbrola at ~/.mbrola/Voices:

from pymbrola import install

install.install_voice("it4")  # install it4 voice
install.install_voice(["it4", "fr4"])  # install several voices
install.install_voice()  # install all voices (~534M)

Usage

from pymbrola import mbrola

# Create an MBROLA object
caffe = MBROLA(
    phon=["k", "a", "f", "f", "E1"],
    durations=100,  # or [100, 120, 100, 110]
    pitch=[100, [200, 50, 200], 100, 100, 200],
)

# Display phoneme sequence
print(caffe)

# Export PHO file
caffe.export_pho("caffe.pho")

# Synthesize and save audio (WAV file)
caffe.make_sound("caffe.wav", voice="it4")

The mbrola module uses the MBROLA command line tool under the hood. Ensure MBROLA is installed and available in your system path, or WSL if on Windows.

License

pymbrola is distributed under the terms of the MIT license.

Supported by

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council Executive Agency (ERCEA). Neither the European Union nor the granting authority can be held responsible for them. This work is supported by the ERC StG 101115991 (GALA) awarded to Chiara Santolin

https://erc.europa.eu/homepage

Metadata

Release files for mbrola 0.7.0

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

Source distribution (sdist)

Source distribution for mbrola 0.7.0
File Size Uploaded
mbrola-0.7.0.tar.gz 14.1 kB Details

Built distribution (wheel)

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

Total release size: 26.8 kB

Release files / mbrola-0.7.0.tar.gz

Download URL mbrola-0.7.0.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cd1afbec036f0307fab82bbff95e8024c0d0563bb02a2e6a8cd6146d62c799b6
BLAKE2b-256 checksum
How to use checksums
7c1221653fddd1856010f1a163749b0b0f74c4030ef38c539cff278b4ee6ab95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / mbrola-0.7.0-py3-none-any.whl

Download URL mbrola-0.7.0-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5042b7d9c4c8cca87a0a8ee86753f73c4d8b89509c9566b75c5f9c0e5e1e6e2
BLAKE2b-256 checksum
How to use checksums
ecadf0c286b0f22340e00de9211fee9b2dcacb1959f0b5eec068cc06e657c923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.2

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.0

2 release files

0.3.28

2 release files

0.3.27

2 release files

0.3.26

2 release files

0.3.25

2 release files

0.3.24

2 release files

0.3.23

2 release files

0.3.22

2 release files

0.3.21

2 release files

0.3.20

2 release files

0.3.19

2 release files

0.3.18

2 release files

0.3.17

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

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