openjtalk


Nameopenjtalk JSON
Version 0.3.0.dev3 PyPI version JSON
download
home_pagehttps://github.com/r9y9/pyopenjtalk
SummaryA python wrapper for OpenJTalk
upload_time2023-04-10 13:34:46
maintainer
docs_urlNone
authorRyuichi Yamamoto
requires_python
licenseMIT
keywords openjtalk research
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # pyopenjtalk

[![PyPI](https://img.shields.io/pypi/v/pyopenjtalk.svg)](https://pypi.python.org/pypi/pyopenjtalk)
[![Python package](https://github.com/r9y9/pyopenjtalk/actions/workflows/ci.yaml/badge.svg)](https://github.com/r9y9/pyopenjtalk/actions/workflows/ci.yaml)
[![Build Status](https://app.travis-ci.com/r9y9/pyopenjtalk.svg?branch=master)](https://app.travis-ci.com/r9y9/pyopenjtalk)
[![License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](LICENSE.md)
[![DOI](https://zenodo.org/badge/143748865.svg)](https://zenodo.org/badge/latestdoi/143748865)

A python wrapper for [OpenJTalk](http://open-jtalk.sp.nitech.ac.jp/).

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](https://github.com/r9y9/open_jtalk). 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](https://github.com/r9y9/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](https://github.com/r9y9/pyopenjtalk/pull/13))

## 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)](https://nbviewer.jupyter.org/github/r9y9/pyopenjtalk/blob/master/docs/notebooks/Demo.ipynb).

### TTS

```py
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

```py
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](http://hts.sp.nitech.ac.jp/archives/2.3/HTS-demo_NIT-ATR503-M001.tar.bz2) for more details about full-context labels.


### Grapheme-to-phoeneme (G2P)

```py
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](https://github.com/6gsn/marine)). If you want to use the feature, please install pyopenjtalk as below;

```shell
pip install pyopenjtalk[marine]
```

And then, you can use the option as the following examples;

```python
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](LICENSE.md))
- Open JTalk: Modified BSD license ([COPYING](https://github.com/r9y9/open_jtalk/blob/1.10/src/COPYING))
- htsvoice in this repository: Please check [pyopenjtalk/htsvoice/README.md](pyopenjtalk/htsvoice/README.md).
- marine: Apache 2.0 license ([LICENSE](https://github.com/6gsn/marine/blob/main/LICENSE))

## Acknowledgements

HTS Working Group for their dedicated efforts to develop and maintain Open JTalk.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/r9y9/pyopenjtalk",
    "name": "openjtalk",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "OpenJTalk,Research",
    "author": "Ryuichi Yamamoto",
    "author_email": "zryuichi@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/15/15/fb29ebea31d9b0fbe72b8547c9221dda17df8e23e3b4f2eb326eec07966a/openjtalk-0.3.0.dev3.tar.gz",
    "platform": null,
    "description": "# pyopenjtalk\n\n[![PyPI](https://img.shields.io/pypi/v/pyopenjtalk.svg)](https://pypi.python.org/pypi/pyopenjtalk)\n[![Python package](https://github.com/r9y9/pyopenjtalk/actions/workflows/ci.yaml/badge.svg)](https://github.com/r9y9/pyopenjtalk/actions/workflows/ci.yaml)\n[![Build Status](https://app.travis-ci.com/r9y9/pyopenjtalk.svg?branch=master)](https://app.travis-ci.com/r9y9/pyopenjtalk)\n[![License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](LICENSE.md)\n[![DOI](https://zenodo.org/badge/143748865.svg)](https://zenodo.org/badge/latestdoi/143748865)\n\nA python wrapper for [OpenJTalk](http://open-jtalk.sp.nitech.ac.jp/).\n\nThe package consists of two core components:\n\n- Text processing frontend based on OpenJTalk\n- Speech synthesis backend using HTSEngine\n\n## Notice\n\n- The package is built with the [modified version of OpenJTalk](https://github.com/r9y9/open_jtalk). 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.\n- The package also uses the [modified version of hts_engine_API](https://github.com/r9y9/hts_engine_API). The same applies as above.\n\nBefore using the pyopenjtalk package, please have a look at the LICENSE for the two software.\n\n## Build requirements\n\nThe 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:\n\n- C/C++ compilers (to build C/C++ extentions)\n- cmake\n- cython\n\n## Supported platforms\n\n- Linux\n- Mac OSX\n- Windows (MSVC) (see [this PR](https://github.com/r9y9/pyopenjtalk/pull/13))\n\n## Installation\n\n```\npip install pyopenjtalk\n```\n\n## Development\n\nTo build the package locally, you will need to make sure to clone open_jtalk and hts_engine_API.\n\n```\ngit submodule update --recursive --init\n```\n\nand then run\n\n```\npip install -e .\n```\n\n## Quick demo\n\nPlease check the notebook version [here (nbviewer)](https://nbviewer.jupyter.org/github/r9y9/pyopenjtalk/blob/master/docs/notebooks/Demo.ipynb).\n\n### TTS\n\n```py\nIn [1]: import pyopenjtalk\n\nIn [2]: from scipy.io import wavfile\n\nIn [3]: x, sr = pyopenjtalk.tts(\"\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\")\n\nIn [4]: wavfile.write(\"test.wav\", sr, x.astype(np.int16))\n```\n\n### Run text processing frontend only\n\n```py\nIn [1]: import pyopenjtalk\n\nIn [2]: pyopenjtalk.extract_fullcontext(\"\u3053\u3093\u306b\u3061\u306f\")\nOut[2]:\n['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',\n'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',\n'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',\n'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',\n'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^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'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',\n'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',\n'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',\n'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',\n'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']\n```\n\nPlease check `lab_format.pdf` in [HTS-demo_NIT-ATR503-M001.tar.bz2](http://hts.sp.nitech.ac.jp/archives/2.3/HTS-demo_NIT-ATR503-M001.tar.bz2) for more details about full-context labels.\n\n\n### Grapheme-to-phoeneme (G2P)\n\n```py\nIn [1]: import pyopenjtalk\n\nIn [2]: pyopenjtalk.g2p(\"\u3053\u3093\u306b\u3061\u306f\")\nOut[2]: 'k o N n i ch i w a'\n\nIn [3]: pyopenjtalk.g2p(\"\u3053\u3093\u306b\u3061\u306f\", kana=True)\nOut[3]: '\u30b3\u30f3\u30cb\u30c1\u30ef'\n```\n\n### About `run_marine` option\n\nAfter v0.3.0, the `run_marine` option has been available for estimating the Japanese accent with the DNN-based method (see [marine](https://github.com/6gsn/marine)). If you want to use the feature, please install pyopenjtalk as below;\n\n```shell\npip install pyopenjtalk[marine]\n```\n\nAnd then, you can use the option as the following examples;\n\n```python\nIn [1]: import pyopenjtalk\n\nIn [2]: x, sr = pyopenjtalk.tts(\"\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\", run_marine=True) # for TTS\n\nIn [3]: label = pyopenjtalk.extract_fullcontext(\"\u3053\u3093\u306b\u3061\u306f\", run_marine=True) # for text processing frontend only\n```\n\n\n## LICENSE\n\n- pyopenjtalk: MIT license ([LICENSE.md](LICENSE.md))\n- Open JTalk: Modified BSD license ([COPYING](https://github.com/r9y9/open_jtalk/blob/1.10/src/COPYING))\n- htsvoice in this repository: Please check [pyopenjtalk/htsvoice/README.md](pyopenjtalk/htsvoice/README.md).\n- marine: Apache 2.0 license ([LICENSE](https://github.com/6gsn/marine/blob/main/LICENSE))\n\n## Acknowledgements\n\nHTS Working Group for their dedicated efforts to develop and maintain Open JTalk.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A python wrapper for OpenJTalk",
    "version": "0.3.0.dev3",
    "split_keywords": [
        "openjtalk",
        "research"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6c7b412a634ba4bb81c0e963e832ba346f0915598ecf15a1790f4524e310cdb5",
                "md5": "035e16063afefc8b83378390d473af15",
                "sha256": "5cc67a123aed2ea25e4bd6e894fb4e73f47f7ca21ac2033d625b19029f583085"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp310-cp310-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "035e16063afefc8b83378390d473af15",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 30136854,
            "upload_time": "2023-04-10T13:35:15",
            "upload_time_iso_8601": "2023-04-10T13:35:15.478290Z",
            "url": "https://files.pythonhosted.org/packages/6c/7b/412a634ba4bb81c0e963e832ba346f0915598ecf15a1790f4524e310cdb5/openjtalk-0.3.0.dev3-cp310-cp310-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d4c0e25c93e0547c3d5db5e2a572a2955c6377f6d0a889ee3eeb697a91616444",
                "md5": "04aeb5475b470a4d428498e232b450a2",
                "sha256": "852609e579c379489a1239d81ad3690363337b077dd0c1dac644cfcb0fa1f949"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "04aeb5475b470a4d428498e232b450a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 24594082,
            "upload_time": "2023-04-10T13:37:37",
            "upload_time_iso_8601": "2023-04-10T13:37:37.973831Z",
            "url": "https://files.pythonhosted.org/packages/d4/c0/e25c93e0547c3d5db5e2a572a2955c6377f6d0a889ee3eeb697a91616444/openjtalk-0.3.0.dev3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "207be4a6fd807a7fc47902911a135825dda170b8c3d9ebf754b6181ce5c1bc3b",
                "md5": "45226d1c312c728b8f1f825d77a704c2",
                "sha256": "f5508acb589b82a03db5a01a138031d5e8e2da87e862fbfc27c74bf541d26bf1"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp311-cp311-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "45226d1c312c728b8f1f825d77a704c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 30185124,
            "upload_time": "2023-04-10T13:34:42",
            "upload_time_iso_8601": "2023-04-10T13:34:42.901542Z",
            "url": "https://files.pythonhosted.org/packages/20/7b/e4a6fd807a7fc47902911a135825dda170b8c3d9ebf754b6181ce5c1bc3b/openjtalk-0.3.0.dev3-cp311-cp311-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e561ba2b4abd6d63f32b85ba80e68caf1a8f52527adb6ca24ddb1a621a0c278",
                "md5": "d5464a3ae1f283ffd4d48bf357ca92f5",
                "sha256": "f4bade3531e08cc4588ec1983f6bb6c3acf0260081e28b8c5663d9855c9a2a49"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d5464a3ae1f283ffd4d48bf357ca92f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 24592740,
            "upload_time": "2023-04-10T13:37:06",
            "upload_time_iso_8601": "2023-04-10T13:37:06.956541Z",
            "url": "https://files.pythonhosted.org/packages/9e/56/1ba2b4abd6d63f32b85ba80e68caf1a8f52527adb6ca24ddb1a621a0c278/openjtalk-0.3.0.dev3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f29dbd37c038605f65e46541c2648d6dfe1a35e555efc8b9aff70fe200b2def",
                "md5": "5d4667e4a4072fd967d34ccce87b6a37",
                "sha256": "18b824705aafb7ef3a67b9c897b5196b478789f87b6ec3dd5a7adf468fa23bcc"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp38-cp38-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5d4667e4a4072fd967d34ccce87b6a37",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 30150611,
            "upload_time": "2023-04-10T13:35:00",
            "upload_time_iso_8601": "2023-04-10T13:35:00.052870Z",
            "url": "https://files.pythonhosted.org/packages/9f/29/dbd37c038605f65e46541c2648d6dfe1a35e555efc8b9aff70fe200b2def/openjtalk-0.3.0.dev3-cp38-cp38-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d479cdd62f570c8591dd5698d45f748a07afc523e6c4396e33dabdd853ae102d",
                "md5": "59a76aca6450b784024cb62d34f9faaf",
                "sha256": "4b57e80367a0dcfa25c3f0339cdf419158a211226b2bfa77cc8f44c25e63f729"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "59a76aca6450b784024cb62d34f9faaf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 24596688,
            "upload_time": "2023-04-10T13:37:18",
            "upload_time_iso_8601": "2023-04-10T13:37:18.556596Z",
            "url": "https://files.pythonhosted.org/packages/d4/79/cdd62f570c8591dd5698d45f748a07afc523e6c4396e33dabdd853ae102d/openjtalk-0.3.0.dev3-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "688872050bac26b2bcc332fdbaf8fbec126e1f5651f5f4b7bf8eae10aa4e0e9b",
                "md5": "db8abb19449503d9a4b7d9b195fa4bb0",
                "sha256": "9bf62a99bb069e658e49613159924e7463764ddc5cc0af754503f4aeeebd14ad"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp39-cp39-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "db8abb19449503d9a4b7d9b195fa4bb0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 30146021,
            "upload_time": "2023-04-10T13:35:04",
            "upload_time_iso_8601": "2023-04-10T13:35:04.544988Z",
            "url": "https://files.pythonhosted.org/packages/68/88/72050bac26b2bcc332fdbaf8fbec126e1f5651f5f4b7bf8eae10aa4e0e9b/openjtalk-0.3.0.dev3-cp39-cp39-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a49e47b829e7b7397a8227518e9e8ba4a249d8b70dfcac1308c6ef0df4ee2418",
                "md5": "3a43fdd3a911b5e6a2d3aa714d0326a7",
                "sha256": "44698ad23c39d4f2efceacd86e10b00622c5872fa5a36e2bd3f0d48c77605961"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3a43fdd3a911b5e6a2d3aa714d0326a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 24596263,
            "upload_time": "2023-04-10T13:37:35",
            "upload_time_iso_8601": "2023-04-10T13:37:35.335187Z",
            "url": "https://files.pythonhosted.org/packages/a4/9e/47b829e7b7397a8227518e9e8ba4a249d8b70dfcac1308c6ef0df4ee2418/openjtalk-0.3.0.dev3-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1515fb29ebea31d9b0fbe72b8547c9221dda17df8e23e3b4f2eb326eec07966a",
                "md5": "c73792f93aea6c17f4ce6a09b1e463c7",
                "sha256": "0f03a09ef6daa461aba469270b508c0a76a9dcdf3ede73949e538dc949c68a6c"
            },
            "downloads": -1,
            "filename": "openjtalk-0.3.0.dev3.tar.gz",
            "has_sig": false,
            "md5_digest": "c73792f93aea6c17f4ce6a09b1e463c7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 24891639,
            "upload_time": "2023-04-10T13:34:46",
            "upload_time_iso_8601": "2023-04-10T13:34:46.419769Z",
            "url": "https://files.pythonhosted.org/packages/15/15/fb29ebea31d9b0fbe72b8547c9221dda17df8e23e3b4f2eb326eec07966a/openjtalk-0.3.0.dev3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-10 13:34:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "r9y9",
    "github_project": "pyopenjtalk",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "openjtalk"
}
        
Elapsed time: 1.09143s