diff --git a/scripts/dotnet/HomophoneReplacerConfig.cs b/scripts/dotnet/HomophoneReplacerConfig.cs new file mode 100644 index 00000000..d6ee0372 --- /dev/null +++ b/scripts/dotnet/HomophoneReplacerConfig.cs @@ -0,0 +1,26 @@ +/// Copyright (c) 2025 Xiaomi Corporation (authors: Fangjun Kuang) + +using System.Runtime.InteropServices; + +namespace SherpaOnnx +{ + [StructLayout(LayoutKind.Sequential)] + public struct HomophoneReplacerConfig + { + public HomophoneReplacerConfig() + { + DictDir = ""; + Lexicon = ""; + RuleFsts = ""; + } + + [MarshalAs(UnmanagedType.LPStr)] + public string DictDir; + + [MarshalAs(UnmanagedType.LPStr)] + public string Lexicon; + + [MarshalAs(UnmanagedType.LPStr)] + public string RuleFsts; + } +} diff --git a/scripts/dotnet/OfflineRecognizerConfig.cs b/scripts/dotnet/OfflineRecognizerConfig.cs index 012ae1ea..fd1fd773 100644 --- a/scripts/dotnet/OfflineRecognizerConfig.cs +++ b/scripts/dotnet/OfflineRecognizerConfig.cs @@ -20,6 +20,7 @@ namespace SherpaOnnx RuleFsts = ""; RuleFars = ""; BlankPenalty = 0.0F; + Hr = new HomophoneReplacerConfig(); } public FeatureConfig FeatConfig; public OfflineModelConfig ModelConfig; @@ -42,5 +43,7 @@ namespace SherpaOnnx public string RuleFars; public float BlankPenalty; + + public HomophoneReplacerConfig Hr; } } diff --git a/scripts/dotnet/OnlineRecognizerConfig.cs b/scripts/dotnet/OnlineRecognizerConfig.cs index bd55a109..329e910e 100644 --- a/scripts/dotnet/OnlineRecognizerConfig.cs +++ b/scripts/dotnet/OnlineRecognizerConfig.cs @@ -28,6 +28,7 @@ namespace SherpaOnnx BlankPenalty = 0.0F; HotwordsBuf = ""; HotwordsBufSize = 0; + Hr = new HomophoneReplacerConfig(); } public FeatureConfig FeatConfig; public OnlineModelConfig ModelConfig; @@ -79,5 +80,7 @@ namespace SherpaOnnx public string HotwordsBuf; public int HotwordsBufSize; + + public HomophoneReplacerConfig Hr; } }