Add C# API for FireRedAsr Model (#1875)

This commit is contained in:
Fangjun Kuang
2025-02-17 13:32:41 +08:00
committed by GitHub
parent 7ad44bc43a
commit d95d43112d
5 changed files with 57 additions and 0 deletions

View File

@@ -34,6 +34,14 @@ class OfflineDecodeFiles
[Option("model-type", Required = false, Default = "", HelpText = "model type")]
public string ModelType { get; set; } = string.Empty;
[Option("fire-red-asr-encoder", Required = false, Default = "", HelpText = "Path to FireRedAsr encoder.int8.onnx. Used only for FireRedAsr models")]
public string FireRedAsrEncoder { get; set; } = string.Empty;
[Option("fire-red-asr-decoder", Required = false, Default = "", HelpText = "Path to FireRedAsr decoder.int8.onnx. Used only for FireRedAsr models")]
public string FireRedAsrDecoder { get; set; } = string.Empty;
[Option("whisper-encoder", Required = false, Default = "", HelpText = "Path to whisper encoder.onnx. Used only for whisper models")]
public string WhisperEncoder { get; set; } = string.Empty;
@@ -252,6 +260,11 @@ to download pre-trained Tdnn models.
config.ModelConfig.Moonshine.UncachedDecoder = options.MoonshineUncachedDecoder;
config.ModelConfig.Moonshine.CachedDecoder = options.MoonshineCachedDecoder;
}
else if (!string.IsNullOrEmpty(options.FireRedAsrEncoder))
{
config.ModelConfig.FireRedAsr.Encoder = options.FireRedAsrEncoder;
config.ModelConfig.FireRedAsr.Decoder = options.FireRedAsrDecoder;
}
else
{
Console.WriteLine("Please provide a model");

View File

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -ex
if [ ! -f ./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/encoder.int8.onnx ]; then
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
tar xvf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
rm sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
ls -lh sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16
fi
dotnet run \
--num-threads=2 \
--fire-red-asr-encoder=./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/encoder.int8.onnx \
--fire-red-asr-decoder=./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/decoder.int8.onnx \
--tokens=./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/tokens.txt \
--files ./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/test_wavs/0.wav