DotNetG2P.Korean 1.10.0

dotnet add package DotNetG2P.Korean --version 1.10.0
                    
NuGet\Install-Package DotNetG2P.Korean -Version 1.10.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DotNetG2P.Korean" Version="1.10.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DotNetG2P.Korean" Version="1.10.0" />
                    
Directory.Packages.props
<PackageReference Include="DotNetG2P.Korean" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DotNetG2P.Korean --version 1.10.0
                    
#r "nuget: DotNetG2P.Korean, 1.10.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DotNetG2P.Korean@1.10.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DotNetG2P.Korean&version=1.10.0
                    
Install as a Cake Addin
#tool nuget:?package=DotNetG2P.Korean&version=1.10.0
                    
Install as a Cake Tool

DotNetG2P.Korean

Hangul-first Korean grapheme-to-phoneme conversion for .NET and Unity.

What It Includes

  • Rule-based Korean pronunciation conversion for modern Hangul
  • ToPhonemes and ToJamo APIs
  • Standard-pronunciation-oriented rule coverage for neutralization, resyllabification, tensification, nasalization, liquidization, and -driven changes
  • Exact-match exception dictionary for lexical overrides
  • Lightweight normalization for whitespace, punctuation, and compatibility Unicode forms

Quick Start

using DotNetG2P.Korean;

using var engine = new KoreanG2PEngine();

string phonemes = engine.ToPhonemes("좋다");
// => "ㅈ ㅗ ㅌ ㅏ"

string jamo = engine.ToJamo("한글");
// => "ㅎㅏㄴ ㄱㅡㄹ"

using var colloquial = new KoreanG2PEngine(
    new KoreanG2POptions(uiVariationMode: KoreanUiVariationMode.Colloquial));

string uiVariant = colloquial.Analyze("나의").ToHangulString();
// => "나에"

Options

  • EnableUnicodeNormalization: apply compatibility Unicode normalization before conversion
  • EnableTextNormalization: collapse repeated whitespace and remove punctuation-oriented noise for Hangul-first input
  • EnableExceptionDictionary: enable exact lexical pronunciation overrides
  • PreserveNonHangul: keep normalized non-Hangul characters in the intermediate output
  • UiVariationMode: choose Standard or Colloquial handling for supported -variation entries

Benchmarks And Tests

  • Benchmark datasets: g2pk_parity, official_gold, weak_rules
  • Current seed status:
    • g2pk_parity: 8/8
    • official_gold: 21/21
    • weak_rules: 14/14
  • Current Korean regression status: 179 passed, 1 skipped
  • Targeted regression command:
dotnet test tests/DotNetG2P.Tests/DotNetG2P.Tests.csproj --filter Korean --no-restore
  • Performance guard command:
dotnet test tests/DotNetG2P.Tests/DotNetG2P.Tests.csproj --filter FullyQualifiedName~KoreanPerformanceTests --no-build --no-restore -m:1
  • External corpus gate:
DOTNETG2P_KOREAN_EXTERNAL_CORPUS_PATHS=tests/TestData/KoreanG2P/official_gold.tsv DOTNETG2P_KOREAN_EXTERNAL_MIN_CASES=20 DOTNETG2P_KOREAN_EXTERNAL_ACCURACY_THRESHOLD=1.0 dotnet test tests/DotNetG2P.Tests/DotNetG2P.Tests.csproj --filter FullyQualifiedName~KoreanExternalBenchmarkTests --no-build --no-restore -m:1

Thread Safety

KoreanG2PEngine is stateless after construction and can be shared across threads for conversion calls. Dispose the engine when you are done with it to follow the same lifetime pattern as the other package engines.

Known Limitations

  • The package is Hangul-first. Full Hanja conversion is out of scope for v1.
  • Context-sensitive number reading and English-to-Hangul expansion are not implemented yet.
  • Some compound-boundary pronunciations still rely on exact lexical exceptions instead of a mandatory morph analyzer.

License And Notice

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DotNetG2P.Korean:

Package Downloads
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.

Version Downloads Last Updated
1.10.0 158 4/13/2026
1.9.0 151 4/2/2026
1.8.2 136 3/21/2026
1.8.1 132 3/20/2026
1.8.0 136 3/20/2026
1.7.0 140 3/18/2026
1.6.0 144 3/17/2026
1.5.0 138 3/15/2026
1.4.0 150 3/12/2026