DotNetG2P 1.3.0
See the version list below for details.
dotnet add package DotNetG2P --version 1.3.0
NuGet\Install-Package DotNetG2P -Version 1.3.0
<PackageReference Include="DotNetG2P" Version="1.3.0" />
<PackageVersion Include="DotNetG2P" Version="1.3.0" />
<PackageReference Include="DotNetG2P" />
paket add DotNetG2P --version 1.3.0
#r "nuget: DotNetG2P, 1.3.0"
#:package DotNetG2P@1.3.0
#addin nuget:?package=DotNetG2P&version=1.3.0
#tool nuget:?package=DotNetG2P&version=1.3.0
DotNetG2P
C#/.NET向け日英中多言語 + スペイン語対応 G2P(Grapheme-to-Phoneme: 書記素→音素変換)ライブラリ。 OpenJTalk互換の日本語G2Pパイプライン、CMU辞書ベースの英語G2P、pinyin-data辞書ベースの中国語ピンイン変換、ルールベースのスペイン語G2PをC#でネイティブに再実装し、Pythonやネイティブバイナリへの依存なしに音素列へ変換します。
using var engine = new G2PEngine(new MeCabTokenizer());
engine.ToPhonemes("こんにちは"); // => "k o N n i ch i w a"
engine.ToKana("音声合成"); // => "オンセーゴーセー"
// 英語G2P
using var enEngine = new EnglishG2PEngine();
enEngine.ToPhonemes("hello world"); // => "HH AH0 L OW1 W ER1 L D"
// 中国語G2P(ピンイン変換)
using var zhEngine = new ChineseG2PEngine();
zhEngine.ToPinyin("你好世界"); // => "ní hǎo shì jiè"
// スペイン語G2P
using var esEngine = new SpanishG2PEngine();
esEngine.ToIPA("vergüenza"); // => "beɾˈɡwensa"
// 日英混在テキスト
using var multiEngine = new MultilingualG2PEngine();
multiEngine.ToPhonemes("私はhelloと言った"); // 日本語部分は日本語音素、英語部分はARPAbet
目次
特徴
- 純C#実装 — ネイティブバイナリ不要、独自MeCabエンジン(
DotNetG2P.MeCab)によりNuGetパッケージ依存なし(実行時にnaist-jdic辞書が必要) - OpenJTalk互換パイプライン — 発音生成・数字読み・アクセント句結合・アクセント結合型・無声音化の6段階NJD処理
- 複数の出力形式 — 音素列 / カタカナ / ESPnet韻律記号 / VOICEVOX互換AccentPhrase / HTSフルコンテキストラベル / 韻律特徴量(A1/A2/A3)
- Unity対応 — .NET Standard 2.1(Unity 2021.2+)ターゲット、UPMパッケージ提供
- 拡張可能な設計 —
ITokenizerインターフェースにより形態素解析エンジンを差し替え可能 - 英語G2P対応 — CMU辞書(135,000語)+ Flite LTSルールによるOOV推定、IPA/X-SAMPA出力、テキスト正規化、同綴異音語解決
- 中国語G2P対応 — pinyin-data単字辞書(44,000語)+ phrase-pinyin-dataフレーズ辞書(411,000語)による多音字自動解決、声調変調(三声連読・一/不変調)、3種の出力スタイル、IPA(国際音声記号)・注音符号(ボポモフォ)出力
- スペイン語G2P対応 — ルールベースIPA変換、音節分割、ストレス付与、Castilian/Latin American 切り替え、異音処理オプション、略語/数値/通貨/割合の正規化、例外辞書、全量コーパス評価ツールを実装。桁区切り/小数点の解釈分離と不正な日付/時刻の安全なフォールバックにも対応
- 日英中西混在テキスト対応 — Unicode文字種ベースの自動言語判定・セグメント分割に加え、
DefaultLatinLanguageにより英語/スペイン語のラテン文字系セグメントを切り替え可能。純漢字runは marker・日本語語彙ヒント・埋め込み中国語辞書を使って JP/ZH を補強判定し、中国語埋め込み辞書はChineseG2PEngineと共有して二重ロードを避けます
インストール
NuGet
# コアライブラリ + 独自MeCabエンジン(日本語G2P)
dotnet add package DotNetG2P
dotnet add package DotNetG2P.MeCab
# 英語G2P
dotnet add package DotNetG2P.English
# 中国語G2P(ピンイン変換)
dotnet add package DotNetG2P.Chinese
# スペイン語G2P
dotnet add package DotNetG2P.Spanish
# 日英中西混在テキスト対応
dotnet add package DotNetG2P.Multilingual
パッケージ構成
| パッケージ | ライセンス | 説明 |
|---|---|---|
DotNetG2P |
Apache-2.0 | コアライブラリ(G2Pエンジン、NJD処理、音素変換) |
DotNetG2P.MeCab |
Apache-2.0 | 独自MeCabエンジン(外部依存なし) |
DotNetG2P.English |
Apache-2.0 | 英語G2Pエンジン(CMU辞書 + LTSルール) |
DotNetG2P.Chinese |
Apache-2.0 | 中国語G2Pエンジン(pinyin-data辞書 + 声調変調) |
DotNetG2P.Spanish |
Apache-2.0 | スペイン語G2Pエンジン(ルールベース + 異音処理オプション) |
DotNetG2P.Multilingual |
Apache-2.0 | 多言語G2Pエンジン(日英中西混在テキスト対応) |
Unity (UPM)
Unity Package Managerの Add package from git URL で以下を追加:
https://github.com/ayutaz/dot-net-g2p.git?path=src/DotNetG2P.Core
https://github.com/ayutaz/dot-net-g2p.git?path=src/DotNetG2P.MeCab
https://github.com/ayutaz/dot-net-g2p.git?path=src/DotNetG2P.English
https://github.com/ayutaz/dot-net-g2p.git?path=src/DotNetG2P.Chinese
https://github.com/ayutaz/dot-net-g2p.git?path=src/DotNetG2P.Spanish
https://github.com/ayutaz/dot-net-g2p.git?path=src/DotNetG2P.Multilingual
Note: 日本語または多言語エンジンでは別途 naist-jdic 辞書が必要です。詳細は辞書の準備を参照してください。
クイックスタート
using DotNetG2P;
using DotNetG2P.MeCab;
// 1. 既定インストール先または環境変数から辞書を自動解決
using var tokenizer = new MeCabTokenizer();
using var engine = new G2PEngine(tokenizer);
// 2. テキストから音素列を取得
string phonemes = engine.ToPhonemes("今日は良い天気です");
// => "ky o o w a i i t e N k i d e s U"
// 3. カタカナ読みを取得
string kana = engine.ToKana("今日は良い天気です");
// => "キョーワイーテンキデス"
// 4. 韻律記号付き出力(ESPnet方式)
string prosody = engine.ToProsody("こんにちは");
// => "^ k o [ N n i ch i w a $"
// 5. VOICEVOX互換アクセント句
var phrases = engine.ToAccentPhrases("こんにちは");
// 6. HTSフルコンテキストラベル(HMM/DNN音声合成用)
var labels = engine.ToFullContextLabels("こんにちは");
// 7. 韻律特徴量(音素単位のA1/A2/A3、uPiper等の音声合成エンジン向け)
var features = engine.ToProsodyFeatures("こんにちは");
// features.Phonemes: ["sil","k","o","N","n","i","ch","i","w","a","sil"]
// features.A1, A2, A3: 各音素のアクセント位置情報
// === 中国語G2P(ピンイン変換)===
using DotNetG2P.Chinese;
using var zhEngine = new ChineseG2PEngine();
// 基本変換(声調記号付き)
string pinyin = zhEngine.ToPinyin("你好世界");
// => "ní hǎo shì jiè"
// 声調番号形式
string toneNum = zhEngine.ToPinyin("你好世界", PinyinStyle.ToneNumber);
// => "ni2 hao3 shi4 jie4"
// 各文字ごとのピンイン配列
string[] list = zhEngine.ToPinyinList("中国");
// => ["zhōng", "guó"]
// 多音字の自動解決
string bank = zhEngine.ToPinyin("银行"); // => "yín háng"(háng = 銀行)
string act = zhEngine.ToPinyin("行为"); // => "xíng wéi"(xíng = 行為)
// IPA(国際音声記号)出力
string ipa = zhEngine.ToIPA("你好");
// => IPA表記
// 注音符号(ボポモフォ)出力
string zhuyin = zhEngine.ToZhuyin("你好");
// => 注音符号表記
// === 英語G2P ===
using DotNetG2P.English;
using var enEngine = new EnglishG2PEngine();
string enPhonemes = enEngine.ToPhonemes("hello world");
// => "HH AH0 L OW1 W ER1 L D"
// === スペイン語G2P ===
using DotNetG2P.Spanish;
using var esEngine = new SpanishG2PEngine();
string esIpa = esEngine.ToIPA("guion");
// => "ɡiˈon"
using var esAlloEngine = new SpanishG2PEngine(new SpanishG2POptions(enableAllophones: true));
string esAllo = esAlloEngine.ToIPA("uva");
// => "ˈuβa"
// === 日英中西混在テキスト ===
using DotNetG2P.Multilingual;
using var multiEngine = new MultilingualG2PEngine();
string mixed = multiEngine.ToPhonemes("今日はgood dayです");
// 日本語部分→日本語音素、英語部分→ARPAbet音素
var segments = multiEngine.ToSegments("今日はgood dayです");
// 言語タグ付きセグメントリスト
// 中国語テキストを含む場合
var zhOptions = new MultilingualG2POptions(defaultCjkLanguage: Language.Chinese);
using var multiZhEngine = new MultilingualG2PEngine(zhOptions);
multiZhEngine.ToPhonemes("你好hello");
// 中国語部分→ピンイン、英語部分→ARPAbet音素
// スペイン語テキストを含む場合
var esOptions = new MultilingualG2POptions(defaultLatinLanguage: Language.Spanish);
using var multiEsEngine = new MultilingualG2PEngine(esOptions);
multiEsEngine.ToPhonemes("hola世界");
// スペイン語部分→IPA音素、日本語部分→日本語音素
API リファレンス
G2PEngine
| メソッド | 戻り値型 | 説明 |
|---|---|---|
ToPhonemes(text) |
string |
空白区切り音素列 ("k o N n i ch i w a") |
ToKana(text) |
string |
カタカナ読み ("コンニチワ") |
ToProsody(text) |
string |
ESPnet韻律記号付き ("^ k o [ N n i ch i w a $") |
ToAccentPhrases(text) |
IReadOnlyList<AccentPhrase> |
VOICEVOX互換アクセント句構造体 |
ToFullContextLabels(text) |
IReadOnlyList<string> |
HTSフルコンテキストラベル |
ToProsodyFeatures(text) |
ProsodyFeatures |
韻律特徴量(音素単位のA1/A2/A3) |
Analyze(text) |
IReadOnlyList<NjdNode> |
NJD処理後のノード列 |
ToPhonemesBatch(texts) |
IReadOnlyList<string> |
複数テキストを一括で音素列に変換 |
ToKanaBatch(texts) |
IReadOnlyList<string> |
複数テキストを一括でカタカナ読みに変換 |
ToProsodyBatch(texts) |
IReadOnlyList<string> |
複数テキストを一括で韻律記号付きに変換 |
ToFullContextLabelsBatch(texts) |
IReadOnlyList<IReadOnlyList<string>> |
複数テキストを一括でHTSラベルに変換 |
ToProsodyFeaturesBatch(texts) |
IReadOnlyList<ProsodyFeatures> |
複数テキストを一括で韻律特徴量に変換 |
EnglishG2PEngine
| メソッド | 戻り値型 | 説明 |
|---|---|---|
ToPhonemes(text) |
string |
ARPAbet音素列 ("HH AH0 L OW1") |
ToIPA(text) |
string |
IPA表記 |
ToIPAWithoutStress(text) |
string |
ストレスマークなしIPA表記 |
ToXSampa(text) |
string |
X-SAMPA表記 |
ToXSampaWithoutStress(text) |
string |
ストレスマークなしX-SAMPA表記 |
ToPhonemeList(text) |
IReadOnlyList<EnglishPhoneme> |
構造化音素リスト |
LookupWord(word) |
IReadOnlyList<EnglishPhoneme> |
単語ルックアップ |
LookupAllPronunciations(word) |
IReadOnlyList<EnglishPronunciation> |
全発音バリアント取得 |
ContainsWord(word) |
bool |
辞書存在確認 |
ToPhonemesBatch(texts) |
IReadOnlyList<string> |
バッチARPAbet変換 |
ToIPABatch(texts) |
IReadOnlyList<string> |
バッチIPA変換 |
ToXSampaBatch(texts) |
IReadOnlyList<string> |
バッチX-SAMPA変換 |
ToPhonemeListBatch(texts) |
IReadOnlyList<IReadOnlyList<EnglishPhoneme>> |
バッチ構造化音素リスト変換 |
ChineseG2PEngine
| メソッド | 戻り値型 | 説明 |
|---|---|---|
ToPinyin(text) |
string |
声調記号付きピンイン文字列 ("nǐ hǎo") |
ToPinyin(text, style) |
string |
指定スタイルのピンイン文字列 |
ToPinyinList(text) |
string[] |
各文字ごとのピンイン配列 |
ToPinyinList(text, style) |
string[] |
指定スタイルの各文字ごとピンイン配列 |
ContainsChar(c) |
bool |
辞書存在確認 |
LookupChar(c) |
string[] |
全ピンイン候補取得 |
ToIPA(text) |
string |
IPA(国際音声記号)表記 |
ToIPA(text, includeTones) |
string |
声調制御付きIPA表記 |
ToZhuyin(text) |
string |
注音符号(ボポモフォ)表記 |
ToZhuyin(text, includeTones) |
string |
声調制御付き注音表記 |
ToPinyinBatch(texts) |
string[] |
バッチピンイン変換 |
ToPinyinBatch(texts, style) |
string[] |
バッチピンイン変換(スタイル指定) |
ToPinyinListBatch(texts) |
string[][] |
バッチピンインリスト変換 |
ToPinyinListBatch(texts, style) |
string[][] |
バッチピンインリスト変換(スタイル指定) |
ToIPABatch(texts) |
string[] |
バッチIPA変換 |
ToIPABatch(texts, includeTones) |
string[] |
バッチIPA変換(声調制御) |
ToZhuyinBatch(texts) |
string[] |
バッチ注音変換 |
ToZhuyinBatch(texts, includeTones) |
string[] |
バッチ注音変換(声調制御) |
SpanishG2PEngine
| メソッド | 戻り値型 | 説明 |
|---|---|---|
ToPhonemes(text) |
string |
スペース区切りIPA音素列 ("ˈb e ɾ ˈɡ w e n s a" のような形式) |
ToIPA(text) |
string |
IPA表記 |
ToXSampa(text) |
string |
X-SAMPA表記 |
ToXSampaWithoutStress(text) |
string |
ストレスマークなしX-SAMPA表記 |
ToPhonemeList(text) |
IReadOnlyList<SpanishPhoneme> |
構造化音素リスト |
ToSyllables(word) |
IReadOnlyList<SpanishSyllable> |
音節分割結果 |
ToPhonemesBatch(texts) |
IReadOnlyList<string> |
バッチ音素変換 |
ToIPABatch(texts) |
IReadOnlyList<string> |
バッチIPA変換 |
ToXSampaBatch(texts) |
IReadOnlyList<string> |
バッチX-SAMPA変換 |
MultilingualG2PEngine
| メソッド | 戻り値型 | 説明 |
|---|---|---|
ToPhonemes(text) |
string |
日英中西混在音素列 |
ToSegments(text) |
IReadOnlyList<G2PSegment> |
言語タグ付きセグメント |
ToPhonemesBatch(texts) |
IReadOnlyList<string> |
バッチ音素変換 |
ToSegmentsBatch(texts) |
IReadOnlyList<IReadOnlyList<G2PSegment>> |
バッチセグメント変換 |
Multilingual の補足:
- ラテン文字列は
DefaultLatinLanguageを既定にしつつ、アクセント付きスペイン語文字、güe/güi、高頻度 ASCII Spanish 語彙、代表的な接尾辞で English / Spanish を切り替えます - 純漢字 run は
Chinese strong/weak markers、Japanese markers、日本語語彙ヒント、埋め込み中国語 phrase/char 辞書を使って JP / ZH を補強判定します - 埋め込み中国語辞書は
ChineseG2PEngineと共有され、TextSegmenter単独の追加辞書常駐は実測で約0.02MBです - それでも根拠が弱い曖昧な純漢字 run だけ
DefaultCjkLanguageにフォールバックします - 2026-03-10 時点の Multilingual 回帰:
341 passed - 代表 Multilingual 回帰:
110 passed MultilingualPerformanceTests:8 passed
日本語音素体系
| 種別 | 音素 |
|---|---|
| 母音 | a i u e o (無声: A I U E O) |
| 子音 | k g s z t d n h b p m r f v |
| 拗音子音 | ky gy sh j ch ts ny hy by py my ry dy ty kw gw |
| 半母音 | y w |
| 特殊 | N(撥音) cl(促音) -(長音) pau(ポーズ) |
処理パイプライン
DotNetG2PはOpenJTalkと同等の6段階NJD処理パイプラインを実装しています。
テキスト入力
│
├─ TextNormalizer 全角/半角正規化、濁点結合
├─ ITokenizer.Tokenize 形態素解析(MeCabTokenizer + naist-jdic)
├─ SetPronunciation 辞書読み・フォールバック発音生成
├─ SetDigit 数字列検出・助数詞読み変換
├─ SetAccentPhrase 品詞パターンによるアクセント句結合(18ルール)
├─ SetAccentType チェインルールによるアクセント結合型決定
└─ SetUnvoicedVowel 無声母音化(6ルール)
│
▼
出力(音素列 / カタカナ / 韻律記号 / AccentPhrase / HTSラベル / 韻律特徴量)
辞書の準備
DotNetG2Pは形態素解析にnaist-jdic辞書(OpenJTalk用MeCab辞書)を使用します。
推奨手順
pwsh -File tools/install_naist_jdic.ps1
上記スクリプトは OpenJTalk 配布物から辞書をダウンロードし、既定で %USERPROFILE%\naist-jdic に展開します。
MeCabTokenizer() と MultilingualG2PEngine() は次の順で辞書を自動探索します。
- 環境変数
DOTNETG2P_NAIST_JDIC_PATH - 環境変数
NAIST_JDIC_PATH %USERPROFILE%\naist-jdic- カレントディレクトリ配下の
naist-jdicまたはopen_jtalk_dic_utf_8-1.11
手動で用意する場合
- Open JTalk公式サイトからダウンロード
- pyopenjtalkやOpenJTalkに同梱の辞書ディレクトリをそのまま使用
必要なファイル
辞書ディレクトリに以下の4ファイルが含まれている必要があります:
| ファイル | 内容 |
|---|---|
sys.dic |
システム辞書 |
matrix.bin |
遷移コスト行列 |
char.bin |
文字カテゴリ定義 |
unk.dic |
未知語テンプレート |
Unity での配置
Unityでは StreamingAssets フォルダに辞書ファイルを配置し、Application.streamingAssetsPath を使用してパスを指定します。
var dicPath = Path.Combine(Application.streamingAssetsPath, "naist-jdic");
using var tokenizer = new MeCabTokenizer(dicPath);
using var multiEngine = new MultilingualG2PEngine(dicPath);
スペイン語評価
スペイン語G2Pには、ipa-dict と WikiPron を使った全量評価パイプラインが含まれます。
pwsh -File tools/refresh_spanish_eval_data.ps1 -Mode Full
pwsh -File tools/run_spanish_full_evaluation.ps1 -EnforceThresholds
- コーパス出力先:
artifacts/spanish-eval/corpora - レポート出力先:
artifacts/spanish-eval/reports/latest - 主な出力:
summary.tsvcategory_summary.tsvmismatches/*.tsv
2026-03-09 時点の実測値:
ipa_dict_es_es_full/base: PER1.69%, WER16.49%ipa_dict_es_es_full/allophones: PER1.37%, WER13.69%ipa_dict_es_mx_full/base: PER1.69%, WER16.49%ipa_dict_es_mx_full/allophones: PER1.37%, WER13.69%wikipron_spa_latn_ca_broad_filtered_full/base: PER1.38%, WER11.14%wikipron_spa_latn_la_broad_filtered_full/base: PER1.43%, WER11.46%
追加の回帰確認(2026-03-10):
SpanishG2P:227 passedSpanishNormalizerは1.234を千区切りとして扱い、不正な日付/時刻は意味展開せず安全にフォールバック
オプション設定
G2POptions で各処理段階を個別にON/OFFできます(イミュータブル設計)。
// 無声音化のみ無効にする例
var options = new G2POptions(enableUnvoicedVowel: false);
using var engine = new G2PEngine(tokenizer, options);
| パラメータ | デフォルト | 説明 |
|---|---|---|
enableTextNormalization |
true |
テキスト正規化(全角/半角変換) |
enableDigitProcessing |
true |
数字読み変換・助数詞処理 |
enableAccentPhrase |
true |
アクセント句結合(18ルール) |
enableAccentType |
true |
アクセント結合型決定 |
enableUnvoicedVowel |
true |
無声母音化(6ルール) |
expandLongVowels |
true |
長音を母音繰り返しで出力(false="-"記号を使用) |
ビルド
要件
- .NET SDK 9.0 以上
コマンド
# ビルド
dotnet build DotNetG2P.slnx
# テスト実行
dotnet test DotNetG2P.slnx
# コンソールサンプル(辞書なし: MoraMappingのみ確認)
dotnet run --project samples/DotNetG2P.Console
# 辞書を既定場所にインストール
pwsh -File tools/install_naist_jdic.ps1
# コンソールサンプル(辞書自動解決: フルG2P)
dotnet run --project samples/DotNetG2P.Console
# コンソールサンプル(辞書パスを明示)
dotnet run --project samples/DotNetG2P.Console -- /path/to/naist-jdic
スレッドセーフティ
G2PEngine および MeCabTokenizer はスレッドセーフではありません。
マルチスレッド環境では、スレッドごとにインスタンスを作成してください。
辞書データ(DictionaryBundle)は内部でWeakReferenceキャッシュにより自動的に共有されるため、
複数インスタンスを作成してもメモリ使用量は最小限に抑えられます。
EnglishG2PEngine、ChineseG2PEngine、SpanishG2PEngine はステートレスな変換を行うため、
単一インスタンスを複数スレッドから呼び出しても安全です。
MultilingualG2PEngine は内部の日本語エンジンを lock で保護しているため、
複数スレッドから安全に呼び出せます。ただし日本語テキストの変換は直列化されます。
ライセンス
| パッケージ | ライセンス | 備考 |
|---|---|---|
| DotNetG2P | Apache-2.0 | コアライブラリ |
| DotNetG2P.MeCab | Apache-2.0 | 独自MeCabエンジン |
| DotNetG2P.English | Apache-2.0 | 英語G2Pエンジン |
| DotNetG2P.Chinese | Apache-2.0 | 中国語G2Pエンジン |
| DotNetG2P.Spanish | Apache-2.0 | スペイン語G2Pエンジン |
| DotNetG2P.Multilingual | Apache-2.0 | 多言語G2Pエンジン(日英中西対応) |
全コンポーネントがApache-2.0ライセンスで利用可能です。 サードパーティコンポーネントのライセンスについては NOTICE ファイルを参照してください。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DotNetG2P:
| Package | Downloads |
|---|---|
|
DotNetG2P.MeCab
Pure C# MeCab-compatible morphological analyzer for DotNetG2P. Apache-2.0 licensed, no native dependencies. Provides ITokenizer implementation using Darts-clone double-array trie and Viterbi decoder for Japanese text analysis with naist-jdic dictionary. |
|
|
DotNetG2P.Multilingual
Multilingual G2P engine combining Japanese, English, Chinese, Korean, Spanish, French, Portuguese, and Swedish grapheme-to-phoneme support with automatic language detection. |
GitHub repositories
This package is not used by any popular GitHub repositories.