Japanese character converter extending jaconv with pydomino phoneme conversion
Project description
jaconv-domino
jaconv-domino is a Japanese character converter library extending jaconv with pydomino phoneme conversion features.
Installation
pip install jaconv-domino
About jaconv
For jaconv features, please refer to:
jaconv functions can be called as follows:
import jaconv_domino
# Hiragana to Katakana
jaconv_domino.hira2kata('ともえまみ')
# => 'トモエマミ'
# Katakana to Hiragana
jaconv_domino.kata2hira('マミサン')
# => 'まみさん'
# Hiragana to Half-width Katakana
jaconv_domino.hira2hkata('ともえまみ')
# => 'トモエマミ'
# Half-width to Full-width
jaconv_domino.h2z('ティロフィナーレ')
# => 'ティロフィナーレ'
jaconv_domino.hankaku2zenkaku('ティロフィナーレ') # alias
jaconv_domino.han2zen('ティロフィナーレ') # alias
# Full-width to Half-width
jaconv_domino.z2h('ティロフィナーレ')
# => 'ティロフィナーレ'
jaconv_domino.zenkaku2hankaku('ティロフィナーレ') # alias
jaconv_domino.zen2han('ティロフィナーレ') # alias
# Normalize (half-width kana to full-width, wave dash to long vowel mark, etc.)
jaconv_domino.normalize('ティロ・フィナ〜レ')
# => 'ティロ・フィナーレ'
# Kana to Romaji
jaconv_domino.kana2alphabet('ばなな')
# => 'banana'
# Romaji to Hiragana
jaconv_domino.alphabet2kana('ohayou')
# => 'おはよう'
# Katakana to Romaji
jaconv_domino.kata2alphabet('バナナ')
# => 'banana'
# Romaji to Katakana
jaconv_domino.alphabet2kata('ohayou')
# => 'オハヨウ'
# Small kana to normal kana
jaconv_domino.enlargesmallkana('ぁぃぅぇぉ')
# => 'あいうえお'
# Hiragana to Julius phoneme format
jaconv_domino.hiragana2julius('てんきすごくいいいいいい')
# => 't e N k i s u g o k u i:'
pydomino Phoneme Conversion (jaconv-domino specific)
Hiragana to Phoneme
import jaconv_domino
# Convert hiragana to pydomino phoneme format
jaconv_domino.hiragana2domino('ありがとう')
# => 'pau a ry i g a t o u pau'
# Newlines are converted to pau (consecutive pau markers are merged)
jaconv_domino.hiragana2domino('ありがとう\nこんにちは')
# => 'pau a ry i g a t o u pau k o N ny i ch i h a pau'
# Convert with character-phoneme mapping
phonemes, mapping = jaconv_domino.hiragana2domino_with_mapping('ありがとう')
# phonemes => 'pau a ry i g a t o u pau'
# mapping => [('あ', ['a']), ('り', ['ry', 'i']), ('が', ['g', 'a']), ('と', ['t', 'o']), ('う', ['u'])]
Phoneme to Hiragana
# Convert pydomino phoneme format to hiragana (pau is ignored)
jaconv_domino.domino2hiragana('pau a ry i g a t o u pau')
# => 'ありがとう'
jaconv_domino.domino2hiragana('k o N ny i ch i h a')
# => 'こんにちは'
# Convert phonemes with timing to hiragana with timing
phoneme_timings = [
("a", 0.0, 0.1),
("ry", 0.1, 0.15),
("i", 0.15, 0.2),
("g", 0.2, 0.25),
("a", 0.25, 0.3),
]
jaconv_domino.domino2hiragana_with_timing(phoneme_timings)
# => [('あ', 0.0, 0.1), ('り', 0.1, 0.2), ('が', 0.2, 0.3)]
CSV Format Conversion (for domino-song integration)
# CSV phoneme timing to hiragana string
# First and last pau are ignored, middle pau becomes newline
csv = """start,end,phoneme
0.000,0.620,pau
0.620,0.680,a
0.680,1.350,ry
1.350,2.010,i
2.010,2.100,pau
2.100,3.260,a
3.260,3.290,t
3.290,3.510,o
3.510,3.620,u
3.620,3.739,pau"""
jaconv_domino.domino_csv2hiragana(csv)
# => 'あり\nあとう'
# CSV phoneme timing to CSV hiragana timing
jaconv_domino.domino_csv2hiragana_csv(csv)
# => 'hiragana,start,end\nあ,0.62,0.68\nり,0.68,2.01\n...'
# Hiragana CSV to phoneme string
hiragana_csv = """あ,0.0,0.1
り,0.1,0.2
が,0.2,0.3
と,0.3,0.4
う,0.4,0.5"""
jaconv_domino.hiragana_csv2domino(hiragana_csv)
# => 'pau a ry i g a t o u pau'
Notes:
- Column order is auto-detected from header (
start,end,phonemeorphoneme,start,end) pau(pause) phoneme: ignored indomino2*, newlines converted to pau in*2domino- Characters other than hiragana, katakana, and alphabet (punctuation, symbols, long vowel marks, etc.) are ignored
API Reference
jaconv Re-exported Functions
| Function | Description |
|---|---|
hira2kata(text) |
Hiragana to Full-width Katakana |
hira2hkata(text) |
Hiragana to Half-width Katakana |
kata2hira(text) |
Full-width Katakana to Hiragana |
h2z(text) |
Half-width to Full-width |
z2h(text) |
Full-width to Half-width |
normalize(text) |
Unicode normalization |
kana2alphabet(text) |
Kana to Romaji |
alphabet2kana(text) |
Romaji to Hiragana |
kata2alphabet(text) |
Katakana to Romaji |
alphabet2kata(text) |
Romaji to Katakana |
enlargesmallkana(text) |
Small kana to normal size |
hiragana2julius(text) |
Hiragana to Julius phoneme format |
Aliases: hankaku2zenkaku=h2z, han2zen=h2z, zenkaku2hankaku=z2h, zen2han=z2h
jaconv-domino Specific Functions
| Function | Description |
|---|---|
hiragana2domino(text) |
Hiragana to pydomino phoneme format |
hiragana2domino_with_mapping(text) |
Hiragana to phoneme (with character mapping) |
domino2hiragana(phonemes) |
pydomino phoneme to Hiragana |
domino2hiragana_with_timing(timings) |
Phoneme timing to Hiragana timing |
domino_csv2hiragana(csv) |
CSV phoneme timing to Hiragana string |
domino_csv2hiragana_csv(csv) |
CSV phoneme timing to CSV Hiragana timing |
hiragana_csv2domino(csv) |
Hiragana CSV to phoneme string |
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jaconv_domino-0.1.2.tar.gz.
File metadata
- Download URL: jaconv_domino-0.1.2.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5dc93e22f37333704b56c1b44e0d142117b8025633a2368fd2dbcb4ba1a3c0
|
|
| MD5 |
a0ccc58372023a317b93dec5626fddfc
|
|
| BLAKE2b-256 |
ce6ab9422b6dae81b378577b811fe72f3d2aea9ae24e239f4d3615bda884a2ba
|
File details
Details for the file jaconv_domino-0.1.2-py3-none-any.whl.
File metadata
- Download URL: jaconv_domino-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b795fc283d31478156bb103556746c7cc2c5e1652ea74077a7cd4b8134db28e9
|
|
| MD5 |
3c1d3b06491c17b9d0f95d75dccec71f
|
|
| BLAKE2b-256 |
cce814590fdc3ca954aa66e22b12de69d8ac27b4503c2215c43cd3e262bd1d88
|