Marine: Multi-task learning based on Japanese accent estimation (Also supports Windows and Python 3.13)
Project Links
Meta
Author: Byeongseon Park
Requires Python: >=3.10
Classifiers
Operating System
- POSIX
- Unix
- MacOS
- Microsoft :: Windows
Programming Language
- Python
- Python :: 3
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
Topic
- Scientific/Engineering
- Software Development
Intended Audience
- Science/Research
- Developers
marine-plus
marine-plus は、主に Windows 対応や新しい Python バージョンのサポートなどコードのメンテナンスを目的とした、marine の派生ライブラリです。
Installation
下記コマンドを実行して、ライブラリをインストールできます。
pip install marine-plus
下記のドキュメントは、marine 本家のドキュメントを、一部改変した上でそのまま引き継いでいます。
これらのドキュメントの内容が marine-plus にも通用するかは保証されません。
MARINE : Multi-task leaRnIng-based JapaNese accent Estimation
marine is a tool kit for building the Japanese accent estimation model proposed in our paper (demo).
For academic use, please cite the following paper (ISCA archive).
@inproceedings{park22b_interspeech,
author={Byeongseon Park and Ryuichi Yamamoto and Kentaro Tachibana},
title={{A Unified Accent Estimation Method Based on Multi-Task Learning for Japanese Text-to-Speech}},
year=2022,
booktitle={Proc. Interspeech 2022},
pages={1931--1935},
doi={10.21437/Interspeech.2022-334}
}
Notice
The model included in this package is trained using JSUT corpus, which is not the same as the dataset in our paper. Therefore, the model's performance is also not equal to the performance introduced in our paper.
Get started
Installation for users
$ pip install marine-plus
For development
$ pip install uv
$ uv venv
$ uv sync --extra pyopenjtalk --group dev
Quick demo
In [1]: from marine.predict import Predictor
In [2]: nodes = [{"surface": "こんにちは", "pos": "感動詞:*:*:*", "pron": "コンニチワ", "c_type": "*", "c_form": "*", "accent_type": 0, "accent_con_type": "-1", "chain_flag": -1}]
In [3]: predictor = Predictor()
In [4]: predictor.predict([nodes])
Out[4]:
{'mora': [['コ', 'ン', 'ニ', 'チ', 'ワ']],
'intonation_phrase_boundary': [[0, 0, 0, 0, 0]],
'accent_phrase_boundary': [[0, 0, 0, 0, 0]],
'accent_status': [[0, 0, 0, 0, 0]]}
In [5]: predictor.predict([nodes], accent_represent_mode="high_low")
Out[5]:
{'mora': [['コ', 'ン', 'ニ', 'チ', 'ワ']],
'intonation_phrase_boundary': [[0, 0, 0, 0, 0]],
'accent_phrase_boundary': [[0, 0, 0, 0, 0]],
'accent_status': [[0, 1, 1, 1, 1]]}
Build model yourself
Coming soon...
LICENSE
- marine: Apache 2.0 license (LICENSE)
- JSUT: CC-BY-SA 4.0 license, etc. (Please check jsut-label/LICENCE.txt)
Wheel compatibility matrix
Files in release
Extras:
Dependencies:
numpy
(>=1.21.0)
torch
(>=1.7.0)
hydra-core
(>=1.1.0)
hydra_colorlog
(>=1.1.0)
tqdm
joblib
pykakasi
(>=2.3.0)