Skip to content

Commit

Permalink
Add doc comments
Browse files Browse the repository at this point in the history
  • Loading branch information
kaiidams committed Oct 13, 2023
1 parent f381047 commit e509f23
Showing 1 changed file with 27 additions and 10 deletions.
37 changes: 27 additions & 10 deletions NeMoOnnxSharp.Example/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,35 @@ static async Task Main(string[] args)

if (task == "transcribe")
{
await Transcribe();
await TranscribeAsync();
}
else if (task == "speak")
{
await Speak();
await SpeakAsync();
}
else if (task == "vad")
{
await FramePredict(false);
await FramePredictAsync(false);
}
else if (task == "mbn")
{
await FramePredict(true);
await FramePredictAsync(true);
}
else if (task == "streamaudio")
{
await StreamAudio();
await StreamAudioAsync();
}
else
{
throw new InvalidDataException(task);
}
}

static async Task Transcribe()
/// <summary>
/// Using EncDecCTCModel with QuartzNet to transcribe texts from speech audio.
/// </summary>
/// <returns></returns>
static async Task TranscribeAsync()
{
string appDirPath = AppDomain.CurrentDomain.BaseDirectory;
string modelPath = await DownloadModelAsync("stt_en_quartznet15x5");
Expand All @@ -68,7 +72,12 @@ static async Task Transcribe()
}
}

static async Task Speak()
/// <summary>
/// Use high level API SpeechSynthesizer with FastSpeech and HifiGAN
/// </summary>
/// <returns></returns>
/// <exception cref="InvalidDataException"></exception>
static async Task SpeakAsync()
{
string appDirPath = AppDomain.CurrentDomain.BaseDirectory;
string phonemeDict = await DownloadModelAsync("cmudict-0.7b_nv22.10");
Expand Down Expand Up @@ -106,7 +115,12 @@ static async Task Speak()
}
}

static async Task FramePredict(bool mbn)
/// <summary>
/// Use EncDecClassficationModel with MarbleNet for VAD or speech classification
/// </summary>
/// <param name="mbn"></param>
/// <returns></returns>
static async Task FramePredictAsync(bool mbn)
{
string appDirPath = AppDomain.CurrentDomain.BaseDirectory;
string modelPath = await DownloadModelAsync(
Expand Down Expand Up @@ -135,13 +149,16 @@ static async Task FramePredict(bool mbn)
}
}

static async Task StreamAudio()
/// <summary>
/// Use high level API SpeechRecognizer with MarbleNet and QuartzNet
/// </summary>
/// <returns></returns>
static async Task StreamAudioAsync()
{
string appDirPath = AppDomain.CurrentDomain.BaseDirectory;
string vadModelPath = await DownloadModelAsync("vad_marblenet");
string asrModelPath = await DownloadModelAsync("stt_en_quartznet15x5");
string inputDirPath = Path.Combine(appDirPath, "..", "..", "..", "..", "test_data");
string inputPath = Path.Combine(inputDirPath, "transcript.txt");

var config = new SpeechConfig
{
Expand Down

0 comments on commit e509f23

Please sign in to comment.