Add .Net API usage example

This commit is contained in:
Alexandre Lissy 2020-04-08 11:57:38 +02:00
parent e22890c251
commit 2b51316d68
3 changed files with 38 additions and 3 deletions

29
doc/DotNet-Examples.rst Normal file
View File

@ -0,0 +1,29 @@
.Net API Usage example
======================
Examples are from `native_client/dotnet/DeepSpeechConsole/Program.cs`.
Creating a model instance and loading model
-------------------------------------------
.. literalinclude:: ../native_client/dotnet/DeepSpeechConsole/Program.cs
:language: csharp
:linenos:
:lineno-match:
:start-after: sphinx-doc: csharp_ref_model_start
:end-before: sphinx-doc: csharp_ref_model_stop
Performing inference
--------------------
.. literalinclude:: ../native_client/dotnet/DeepSpeechConsole/Program.cs
:language: csharp
:linenos:
:lineno-match:
:start-after: sphinx-doc: csharp_ref_inference_start
:end-before: sphinx-doc: csharp_ref_inference_stop
Full source code
----------------
See :download:`Full source code<../native_client/dotnet/DeepSpeechConsole/Program.cs>`.

View File

@ -54,17 +54,19 @@ Welcome to DeepSpeech's documentation!
C-Examples C-Examples
NodeJS-Examples DotNet-Examples
Java-Examples Java-Examples
NodeJS-Examples
Python-Examples Python-Examples
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:caption: Contributed examples :caption: Contributed examples
DotNet-contrib-examples.rst DotNet-contrib-examples
NodeJS-contrib-Examples NodeJS-contrib-Examples

View File

@ -51,8 +51,10 @@ namespace CSharpExamples
{ {
Console.WriteLine("Loading model..."); Console.WriteLine("Loading model...");
stopwatch.Start(); stopwatch.Start();
// sphinx-doc: csharp_ref_model_start
using (IDeepSpeech sttClient = new DeepSpeech(model ?? "output_graph.pbmm")) using (IDeepSpeech sttClient = new DeepSpeech(model ?? "output_graph.pbmm"))
{ {
// sphinx-doc: csharp_ref_model_stop
stopwatch.Stop(); stopwatch.Stop();
Console.WriteLine($"Model loaded - {stopwatch.Elapsed.Milliseconds} ms"); Console.WriteLine($"Model loaded - {stopwatch.Elapsed.Milliseconds} ms");
@ -72,6 +74,7 @@ namespace CSharpExamples
stopwatch.Start(); stopwatch.Start();
string speechResult; string speechResult;
// sphinx-doc: csharp_ref_inference_start
if (extended) if (extended)
{ {
Metadata metaResult = sttClient.SpeechToTextWithMetadata(waveBuffer.ShortBuffer, Metadata metaResult = sttClient.SpeechToTextWithMetadata(waveBuffer.ShortBuffer,
@ -83,6 +86,7 @@ namespace CSharpExamples
speechResult = sttClient.SpeechToText(waveBuffer.ShortBuffer, speechResult = sttClient.SpeechToText(waveBuffer.ShortBuffer,
Convert.ToUInt32(waveBuffer.MaxSize / 2)); Convert.ToUInt32(waveBuffer.MaxSize / 2));
} }
// sphinx-doc: csharp_ref_inference_stop
stopwatch.Stop(); stopwatch.Stop();
@ -99,4 +103,4 @@ namespace CSharpExamples
} }
} }
} }
} }