2 files were added to this release more than 14 days after its initial publication. Inspect the release files before installing.
This release is a pre-release and may not be stable for production use.
pyopenjtalk
A python wrapper for OpenJTalk.
The package consists of two core components:
- Text processing frontend based on OpenJTalk
- Speech synthesis backend using HTSEngine
Notice
- The package is built with the modified version of OpenJTalk. The modified version provides the same functionality with some improvements (e.g., cmake support) but is technically different from the one from HTS working group.
- The package also uses the modified version of hts_engine_API. The same applies as above.
Before using the pyopenjtalk package, please have a look at the LICENSE for the two software.
Build requirements
The python package relies on cython to make python bindings for open_jtalk and hts_engine_API. You must need the following tools to build and install pyopenjtalk:
- C/C++ compilers (to build C/C++ extentions)
- cmake
- cython
Supported platforms
- Linux
- Mac OSX
- Windows (MSVC) (see this PR)
Installation
pip install pyopenjtalk
Development
To build the package locally, you will need to make sure to clone open_jtalk and hts_engine_API.
git submodule update --recursive --init
and then run
pip install -e .
Quick demo
Please check the notebook version here (nbviewer).
TTS
In [1]: import pyopenjtalk
In [2]: from scipy.io import wavfile
In [3]: x, sr = pyopenjtalk.tts("おめでとうございます")
In [4]: wavfile.write("test.wav", sr, x.astype(np.int16))
Run text processing frontend only
In [1]: import pyopenjtalk
In [2]: pyopenjtalk.extract_fullcontext("こんにちは")
Out[2]:
['xx^xx-sil+k=o/A:xx+xx+xx/B:xx-xx_xx/C:xx_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:xx_xx#xx_xx@xx_xx|xx_xx/G:5_5%0_xx_xx/H:xx_xx/I:xx-xx@xx+xx&xx-xx|xx+xx/J:1_5/K:1+1-5',
'xx^sil-k+o=N/A:-4+1+5/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'sil^k-o+N=n/A:-4+1+5/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'k^o-N+n=i/A:-3+2+4/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'o^N-n+i=ch/A:-2+3+3/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'N^n-i+ch=i/A:-2+3+3/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'n^i-ch+i=w/A:-1+4+2/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'i^ch-i+w=a/A:-1+4+2/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'ch^i-w+a=sil/A:0+5+1/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'i^w-a+sil=xx/A:0+5+1/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'w^a-sil+xx=xx/A:xx+xx+xx/B:xx-xx_xx/C:xx_xx+xx/D:xx+xx_xx/E:5_5!0_xx-xx/F:xx_xx#xx_xx@xx_xx|xx_xx/G:xx_xx%xx_xx_xx/H:1_5/I:xx-xx@xx+xx&xx-xx|xx+xx/J:xx_xx/K:1+1-5']
Please check lab_format.pdf in HTS-demo_NIT-ATR503-M001.tar.bz2 for more details about full-context labels.
Grapheme-to-phoeneme (G2P)
In [1]: import pyopenjtalk
In [2]: pyopenjtalk.g2p("こんにちは")
Out[2]: 'k o N n i ch i w a'
In [3]: pyopenjtalk.g2p("こんにちは", kana=True)
Out[3]: 'コンニチワ'
About run_marine option
After v0.3.0, the run_marine option has been available for estimating the Japanese accent with the DNN-based method (see marine). If you want to use the feature, please install pyopenjtalk as below;
pip install pyopenjtalk[marine]
And then, you can use the option as the following examples;
In [1]: import pyopenjtalk
In [2]: x, sr = pyopenjtalk.tts("おめでとうございます", run_marine=True) # for TTS
In [3]: label = pyopenjtalk.extract_fullcontext("こんにちは", run_marine=True) # for text processing frontend only
LICENSE
- pyopenjtalk: MIT license (LICENSE.md)
- Open JTalk: Modified BSD license (COPYING)
- htsvoice in this repository: Please check pyopenjtalk/htsvoice/README.md.
- marine: Apache 2.0 license (LICENSE)
Acknowledgements
HTS Working Group for their dedicated efforts to develop and maintain Open JTalk.
Metadata
Release files for openjtalk 0.3.0.dev3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Files added late
2 files were uploaded more than 14 days after the first file in this release.
While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.
We recommend inspecting the release files before installing.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openjtalk-0.3.0.dev3.tar.gz | 24.9 MB | Details |
Built distributions (wheels)
Total release size: 304.4 MB
Release files / openjtalk-0.3.0.dev3.tar.gz
| Download URL | openjtalk-0.3.0.dev3.tar.gz |
|---|---|
| Size | 24.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f03a09ef6daa461aba469270b508c0a76a9dcdf3ede73949e538dc949c68a6c
|
|
BLAKE2b-256 checksum How to use checksums |
1515fb29ebea31d9b0fbe72b8547c9221dda17df8e23e3b4f2eb326eec07966a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / openjtalk-0.3.0.dev3-cp312-cp312-manylinux2014_x86_64.whl
File added late
This file was uploaded more than 14 days after the first file in this release.
While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.
We recommend inspecting the release file before installing.
| Download URL | openjtalk-0.3.0.dev3-cp312-cp312-manylinux2014_x86_64.whl |
|---|---|
| Size | 30.3 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
16de222e7fd0e16e8a9f1cb228dcab7e8635927e51f2f31dfdcd34dd083fa391
|
|
BLAKE2b-256 checksum How to use checksums |
f0deeb70398883af9b07cfd3a906e0baec27a092b0d445f4243b0059719e0238
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.0
|
Release files / openjtalk-0.3.0.dev3-cp311-cp311-win_amd64.whl
| Download URL | openjtalk-0.3.0.dev3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 24.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f4bade3531e08cc4588ec1983f6bb6c3acf0260081e28b8c5663d9855c9a2a49
|
|
BLAKE2b-256 checksum How to use checksums |
9e561ba2b4abd6d63f32b85ba80e68caf1a8f52527adb6ca24ddb1a621a0c278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / openjtalk-0.3.0.dev3-cp311-cp311-manylinux2014_x86_64.whl
| Download URL | openjtalk-0.3.0.dev3-cp311-cp311-manylinux2014_x86_64.whl |
|---|---|
| Size | 30.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5508acb589b82a03db5a01a138031d5e8e2da87e862fbfc27c74bf541d26bf1
|
|
BLAKE2b-256 checksum How to use checksums |
207be4a6fd807a7fc47902911a135825dda170b8c3d9ebf754b6181ce5c1bc3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / openjtalk-0.3.0.dev3-cp310-cp310-win_amd64.whl
| Download URL | openjtalk-0.3.0.dev3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 24.6 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
852609e579c379489a1239d81ad3690363337b077dd0c1dac644cfcb0fa1f949
|
|
BLAKE2b-256 checksum How to use checksums |
d4c0e25c93e0547c3d5db5e2a572a2955c6377f6d0a889ee3eeb697a91616444
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Release files / openjtalk-0.3.0.dev3-cp310-cp310-manylinux2014_x86_64.whl
| Download URL | openjtalk-0.3.0.dev3-cp310-cp310-manylinux2014_x86_64.whl |
|---|---|
| Size | 30.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5cc67a123aed2ea25e4bd6e894fb4e73f47f7ca21ac2033d625b19029f583085
|
|
BLAKE2b-256 checksum How to use checksums |
6c7b412a634ba4bb81c0e963e832ba346f0915598ecf15a1790f4524e310cdb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Release files / openjtalk-0.3.0.dev3-cp39-cp39-win_amd64.whl
| Download URL | openjtalk-0.3.0.dev3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 24.6 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
44698ad23c39d4f2efceacd86e10b00622c5872fa5a36e2bd3f0d48c77605961
|
|
BLAKE2b-256 checksum How to use checksums |
a49e47b829e7b7397a8227518e9e8ba4a249d8b70dfcac1308c6ef0df4ee2418
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.13
|
Release files / openjtalk-0.3.0.dev3-cp39-cp39-manylinux2014_x86_64.whl
| Download URL | openjtalk-0.3.0.dev3-cp39-cp39-manylinux2014_x86_64.whl |
|---|---|
| Size | 30.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
9bf62a99bb069e658e49613159924e7463764ddc5cc0af754503f4aeeebd14ad
|
|
BLAKE2b-256 checksum How to use checksums |
688872050bac26b2bcc332fdbaf8fbec126e1f5651f5f4b7bf8eae10aa4e0e9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / openjtalk-0.3.0.dev3-cp38-cp38-win_amd64.whl
| Download URL | openjtalk-0.3.0.dev3-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 24.6 MB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4b57e80367a0dcfa25c3f0339cdf419158a211226b2bfa77cc8f44c25e63f729
|
|
BLAKE2b-256 checksum How to use checksums |
d479cdd62f570c8591dd5698d45f748a07afc523e6c4396e33dabdd853ae102d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|
Release files / openjtalk-0.3.0.dev3-cp38-cp38-manylinux2014_x86_64.whl
| Download URL | openjtalk-0.3.0.dev3-cp38-cp38-manylinux2014_x86_64.whl |
|---|---|
| Size | 30.2 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
18b824705aafb7ef3a67b9c897b5196b478789f87b6ec3dd5a7adf468fa23bcc
|
|
BLAKE2b-256 checksum How to use checksums |
9f29dbd37c038605f65e46541c2648d6dfe1a35e555efc8b9aff70fe200b2def
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|
Release files / openjtalk-0.3.0.dev3-cp37-cp37m-manylinux2014_x86_64.whl
File added late
This file was uploaded more than 14 days after the first file in this release.
While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.
We recommend inspecting the release file before installing.
| Download URL | openjtalk-0.3.0.dev3-cp37-cp37m-manylinux2014_x86_64.whl |
|---|---|
| Size | 30.2 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d3ee9ef6df3c796797774451ddace99871727818c54e193d7cd8ef04fc89d787
|
|
BLAKE2b-256 checksum How to use checksums |
1ec27c0e7b56d262dd550695aad888e467a688cb6ef8221f49f1dcb9fd247100
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.7.17
|