Releases: bootphon/phonemizer
phonemizer-3.3.0
This version depends on python>=3.8 (was >=3.6 in previous versions). Tests now requires pytest>=6.0
-
improvements
- Replaced dependency to deprecated
pkg_resources
byimportlib
(requirespython>=3.8
). - Replaced deprecated
setup.py
bypyproject.toml
.
- Replaced dependency to deprecated
-
bug fix
espeak
backend: words mismatch now works when using custom word separators. See issue #169.
phonemizer-3.2.1
-
bug fixes
- Fixed a bug when trying to restore punctuation on a multiline text.
See issue #129
- Fixed a bug when trying to restore punctuation on a multiline text.
phonemizer-3.2.0
-
bug fixes
- Fixed a bug when trying to restore punctuation on very long text.
See #108
- Fixed a bug when trying to restore punctuation on very long text.
-
improvements
- Improved consistency with the handling of word separators when
preserving punctuation, and when using a word separator that is
not a literal space character. See
#106
- Improved consistency with the handling of word separators when
-
new features
-
Added the option to define punctuation with a regular expression.
Previously only strings were accepted. See #120-
In the python API, the
punctuation_marks
parameter can now be
passed tophonemize
(or a backend constructor) as are.Pattern
that defines which characters will be matched as punctuation.
Passingpunctuation_marks
as a str will continue to function as
before, treating each character in the string as a punctuation mark. -
Added the optional parameter
--punctuation_marks_is_regex
to the CLI
interface. When used, the CLI will attempt to compile are.Pattern
from the value passed to--punctuation-marks
.
-
-
phonemizer-3.1.1
ChangeLog
-
improvements
- Preserve empty lines in texts when using
--preserve-empty-lines
.
Without this option, empty lines used to be automatically dropped.
See PR #103
- Preserve empty lines in texts when using
-
new features
- Type hinted most of
phonemizer
's API. This makes the usage of our API
a bit clearer, and can be easily leveraged by IDE's and type checkers to
prevent typing issues.
- Type hinted most of
phonemizer-3.0.1
ChangeLog
-
improvements in README after JOSS reviews
-
bug fixes
-
The method
BaseBackend.phonemize
now raises aRuntimeError
if the input text is a str instead of a list of of str (was only logging an error message). -
Preserve punctuation alignement when using
--preserve-punctuation
, was inserting a space before each punctuation token, see issue #97.
-
phonemizer-3.0
phonemizer-3.0
breaking change
-
Do not remove empty lines from output. For example:
# this is now phonemize(["hello", "!??"]) == ['həloʊ ', ''] # this was phonemize(["hello", "!??"]) == ['həloʊ ']
-
Default backend in the
phonemize
function is nowespeak
(wasfestival
). -
espeak-mbrola
backend now requiresespeak>=1.49
. -
--espeak-path
option renamed as--espeak-library
andPHONEMIZER_ESPEAK_PATH
environment variable renamed asPHONEMIZER_ESPEAK_LIBRARY
. -
--festival-path
option renamed as--festival-executable
andPHONEMIZER_FESTIVAL_PATH
environment variable renamed asPHONEMIZER_FESTIVAL_EXECUTABLE
. -
The methods
backend.phonemize()
from the backend classes take only a list of str a input text (was either a str or a list of str). -
The methods
backend.version()
from the backend classes returns a tuple of int instead of a str.
improvements
espeak
andmbrola
backends now rely on theespeak
shared library using thectypes
Python module, instead of reliying on theespeak
executable through subprocesses. This implies drastic speed improvments, up to 40 times faster.
new features
-
New option
--prepend-text
to prepend the input text to phonemized utterances, so as to have both orthographic and phonemized available at output. -
New option
--tie
for theespeak
backend to display a tie character within multi-letter phonemes. (see issue #74). -
New option
--words-mismatch
for theespeak
backend. This allows to detect when espeak merge consecutive words or drop a word from the orthographic text. Possible actions are to ignore those misatches, to issue a warning for each line where a mismatch is detectd, or to remove those lines from the output.
bugfixes
- phonemizer's logger no more conflicts with other loggers when imported from Python (see PR #61).
phonemizer-2.2.2
phonemizer-2.2.2
-
bugfixes
-
Fixed installation from source (bug introduced in 2.2.1, see issue #52).
-
Fixed a bug when trying to restore punctuation on an empty text (see issue #54).
-
Fixed an edge case bug when using custom punctuation marks (see issue #55).
-
Fixed regex issue that causes digits to be considered punctuation (see issue #60).
-
phonemizer-2.2.1
Changelog for phonemizer-2.2.1
-
improvements
From Python import the phonemize function using
from phonemizer import phonemize
instead offrom phonemizer.phonemize import phonemize
. The second import is still available for compatibility. -
bugfixes
phonemizer-2.2
ChangeLog
-
new features
-
New option
--list-languages
to list the available languages for a given
backend from the command line. -
The
--sampa
option of theespeak
backend has been replaced by a new
backendespeak-mbrola
.-
The former
--sampa
option (introduced in phonemizer-2.0) outputs
phones that are not standard SAMPA but are adapted to the espeak TTS
front-end. -
On the other hand the
espeak-mbrola
backend allows espeak to output
phones in standard SAMPA (adapted to the mbrola TTS front-end). This
backend requires mbrola to be installed, as well as additional mbrola
voices to support needed languages. This backend does not support word
separation nor punctuation preservation.
-
-
-
bugfixes
phonemizer-2.1
ChangeLog for phonemizer-2.1
-
new features
-
Possibility to preserve the punctuation (ignored and silently removed by
default) in the phonemized output with the new option
--preserve-punctuation
from command line (or the equivalent
preserve-punctuation
from Python API). With thepunctuation-marks
option, one can overload the default marls considered as punctuation. -
It is now possible to specify the path to a custom
espeak
or
festival
executable (for instance to use a local installation or to test
different versions). Either specify thePHONEMIZER_ESPEAK_PATH
environment variable, the--espeak-path
option from command line or use
theEspeakBackend.set_espeak_path
method from the Python API. Similarly
for festival usePHONEMIZER_FESTIVAL_PATH
,--festival-path
or
FestivalBackend.set_festival_path
. -
The
--sampa
option is now available for espeak (was available only for
espeak-ng). -
When using
espeak
with SAMPA output, some SAMPA phones are corrected to
correspond to the normalized SAMPA alphabet (espeak seems not to respect
it). The corrections are language specific. A correction file must be placed
inphonemizer/share/espeak
. This have been implemented only for French
by now.
-
-
bugfixes
-
parses correctly the version of
espeak-ng
even for dev versions (e.g.
1.51-dev
). -
fixed an issue with
espeak
backend, where multiple phone separators can be
present at the end of a word, see
#31. -
added an additional stress symbol
-
forespeak
.
-