Skip to main content

Crate piper_plus_g2p

Crate piper_plus_g2p 

Source
Expand description

§piper-plus-g2p

Multilingual G2P (Grapheme-to-Phoneme) for TTS — eSpeak-ng free, MIT licensed.

§IPA-first design

Phonemizer::phonemize_with_prosody() returns clean IPA token lists without BOS/EOS markers or PUA encoding. The encoding step (PUA mapping, phoneme_id_map, BOS/EOS/padding insertion) is handled separately by encode.

§Supported languages

LanguageCodeFeature flag
Japanesejajapanese
Englishenenglish (default)
Chinesezhchinese (default)
Koreankokorean (default)
Spanishesspanish (default)
Frenchfrfrench (default)
Portugueseptportuguese (default)
Swedishsvswedish

§Quick start

use piper_plus_g2p::{Phonemizer, PhonemizerRegistry};
use piper_plus_g2p::english::EnglishPhonemizer;

// Create a registry and register language phonemizers
let mut registry = PhonemizerRegistry::new();
let en = EnglishPhonemizer::new().unwrap();
registry.register("en", Box::new(en));

// Look up a phonemizer by language code
let phonemizer = registry.get("en").unwrap();

// Phonemize text to IPA tokens with prosody info
let (tokens, prosody) = phonemizer
    .phonemize_with_prosody("Hello, world!")
    .unwrap();

// Encode tokens to phoneme IDs using a model's phoneme_id_map
// let ids = piper_plus_g2p::encode::tokens_to_ids(&tokens, &phoneme_id_map)?;

Re-exports§

pub use encode::PiperEncoder;
pub use encode::UnknownTokenMode;
pub use error::G2pError;
pub use phonemizer::PhonemeIdMap;
pub use phonemizer::Phonemizer;
pub use phonemizer::PhonemizerRegistry;
pub use phonemizer::ProsodyFeature;
pub use phonemizer::ProsodyInfo;

Modules§

chinese
Chinese (Mandarin) phonemizer for Piper TTS.
custom_dict
カスタム辞書モジュール
encode
Phoneme token-to-ID conversion.
english
English phonemizer using CMU dictionary + ARPAbet-to-IPA conversion.
error
G2P-specific error types.
french
Rule-based French grapheme-to-phoneme conversion for Piper TTS.
korean
Korean phonemizer – Hangul decomposition + IPA mapping.
multilingual
Multilingual phonemizer for code-switching text across N languages.
phonemizer
Core Phonemizer trait, PhonemizerRegistry, and shared types (ProsodyInfo, ProsodyFeature, PhonemeIdMap).
portuguese
Rule-based Brazilian Portuguese phonemizer for Piper TTS.
spanish
Rule-based Spanish G2P (grapheme-to-phoneme) phonemizer.
swedish
Rule-based Swedish G2P (grapheme-to-phoneme) phonemizer.
token_map
PUA (Private Use Area) マッピング.