正在显示
5 个修改的文件
包含
57 行增加
和
0 行删除
| @@ -34,6 +34,10 @@ rm -fv *.wav | @@ -34,6 +34,10 @@ rm -fv *.wav | ||
| 34 | rm -rfv sherpa-onnx-pyannote-* | 34 | rm -rfv sherpa-onnx-pyannote-* |
| 35 | 35 | ||
| 36 | cd ../offline-decode-files | 36 | cd ../offline-decode-files |
| 37 | + | ||
| 38 | +./run-fire-red-asr.sh | ||
| 39 | +rm -rf sherpa-onnx-fire-red-asr-* | ||
| 40 | + | ||
| 37 | ./run-moonshine.sh | 41 | ./run-moonshine.sh |
| 38 | rm -rf sherpa-onnx-* | 42 | rm -rf sherpa-onnx-* |
| 39 | 43 |
| @@ -34,6 +34,14 @@ class OfflineDecodeFiles | @@ -34,6 +34,14 @@ class OfflineDecodeFiles | ||
| 34 | [Option("model-type", Required = false, Default = "", HelpText = "model type")] | 34 | [Option("model-type", Required = false, Default = "", HelpText = "model type")] |
| 35 | public string ModelType { get; set; } = string.Empty; | 35 | public string ModelType { get; set; } = string.Empty; |
| 36 | 36 | ||
| 37 | + [Option("fire-red-asr-encoder", Required = false, Default = "", HelpText = "Path to FireRedAsr encoder.int8.onnx. Used only for FireRedAsr models")] | ||
| 38 | + public string FireRedAsrEncoder { get; set; } = string.Empty; | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + [Option("fire-red-asr-decoder", Required = false, Default = "", HelpText = "Path to FireRedAsr decoder.int8.onnx. Used only for FireRedAsr models")] | ||
| 42 | + public string FireRedAsrDecoder { get; set; } = string.Empty; | ||
| 43 | + | ||
| 44 | + | ||
| 37 | [Option("whisper-encoder", Required = false, Default = "", HelpText = "Path to whisper encoder.onnx. Used only for whisper models")] | 45 | [Option("whisper-encoder", Required = false, Default = "", HelpText = "Path to whisper encoder.onnx. Used only for whisper models")] |
| 38 | public string WhisperEncoder { get; set; } = string.Empty; | 46 | public string WhisperEncoder { get; set; } = string.Empty; |
| 39 | 47 | ||
| @@ -252,6 +260,11 @@ to download pre-trained Tdnn models. | @@ -252,6 +260,11 @@ to download pre-trained Tdnn models. | ||
| 252 | config.ModelConfig.Moonshine.UncachedDecoder = options.MoonshineUncachedDecoder; | 260 | config.ModelConfig.Moonshine.UncachedDecoder = options.MoonshineUncachedDecoder; |
| 253 | config.ModelConfig.Moonshine.CachedDecoder = options.MoonshineCachedDecoder; | 261 | config.ModelConfig.Moonshine.CachedDecoder = options.MoonshineCachedDecoder; |
| 254 | } | 262 | } |
| 263 | + else if (!string.IsNullOrEmpty(options.FireRedAsrEncoder)) | ||
| 264 | + { | ||
| 265 | + config.ModelConfig.FireRedAsr.Encoder = options.FireRedAsrEncoder; | ||
| 266 | + config.ModelConfig.FireRedAsr.Decoder = options.FireRedAsrDecoder; | ||
| 267 | + } | ||
| 255 | else | 268 | else |
| 256 | { | 269 | { |
| 257 | Console.WriteLine("Please provide a model"); | 270 | Console.WriteLine("Please provide a model"); |
| 1 | +#!/usr/bin/env bash | ||
| 2 | + | ||
| 3 | +set -ex | ||
| 4 | + | ||
| 5 | + if [ ! -f ./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/encoder.int8.onnx ]; then | ||
| 6 | + 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 | ||
| 7 | + tar xvf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2 | ||
| 8 | + rm sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2 | ||
| 9 | + ls -lh sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16 | ||
| 10 | + fi | ||
| 11 | + | ||
| 12 | +dotnet run \ | ||
| 13 | + --num-threads=2 \ | ||
| 14 | + --fire-red-asr-encoder=./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/encoder.int8.onnx \ | ||
| 15 | + --fire-red-asr-decoder=./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/decoder.int8.onnx \ | ||
| 16 | + --tokens=./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/tokens.txt \ | ||
| 17 | + --files ./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/test_wavs/0.wav |
| 1 | +/// Copyright (c) 2025 Xiaomi Corporation (authors: Fangjun Kuang) | ||
| 2 | + | ||
| 3 | +using System.Runtime.InteropServices; | ||
| 4 | + | ||
| 5 | +namespace SherpaOnnx | ||
| 6 | +{ | ||
| 7 | + [StructLayout(LayoutKind.Sequential)] | ||
| 8 | + public struct OfflineFireRedAsrModelConfig | ||
| 9 | + { | ||
| 10 | + public OfflineFireRedAsrModelConfig() | ||
| 11 | + { | ||
| 12 | + Encoder = ""; | ||
| 13 | + Decoder = ""; | ||
| 14 | + } | ||
| 15 | + [MarshalAs(UnmanagedType.LPStr)] | ||
| 16 | + public string Encoder; | ||
| 17 | + | ||
| 18 | + [MarshalAs(UnmanagedType.LPStr)] | ||
| 19 | + public string Decoder; | ||
| 20 | + } | ||
| 21 | +} |
| @@ -25,6 +25,7 @@ namespace SherpaOnnx | @@ -25,6 +25,7 @@ namespace SherpaOnnx | ||
| 25 | TeleSpeechCtc = ""; | 25 | TeleSpeechCtc = ""; |
| 26 | SenseVoice = new OfflineSenseVoiceModelConfig(); | 26 | SenseVoice = new OfflineSenseVoiceModelConfig(); |
| 27 | Moonshine = new OfflineMoonshineModelConfig(); | 27 | Moonshine = new OfflineMoonshineModelConfig(); |
| 28 | + FireRedAsr = new OfflineFireRedAsrModelConfig(); | ||
| 28 | } | 29 | } |
| 29 | public OfflineTransducerModelConfig Transducer; | 30 | public OfflineTransducerModelConfig Transducer; |
| 30 | public OfflineParaformerModelConfig Paraformer; | 31 | public OfflineParaformerModelConfig Paraformer; |
| @@ -56,5 +57,6 @@ namespace SherpaOnnx | @@ -56,5 +57,6 @@ namespace SherpaOnnx | ||
| 56 | 57 | ||
| 57 | public OfflineSenseVoiceModelConfig SenseVoice; | 58 | public OfflineSenseVoiceModelConfig SenseVoice; |
| 58 | public OfflineMoonshineModelConfig Moonshine; | 59 | public OfflineMoonshineModelConfig Moonshine; |
| 60 | + public OfflineFireRedAsrModelConfig FireRedAsr; | ||
| 59 | } | 61 | } |
| 60 | } | 62 | } |
-
请 注册 或 登录 后发表评论