Skip to content

Commit ef93979

Browse files
Merge pull request #100249 from susanhuhu/susan-pr/lidc#
Added How-To documentation for LID c# and source lang config c# usage
2 parents c2f81d2 + 54861a4 commit ef93979

File tree

3 files changed

+69
-10
lines changed

3 files changed

+69
-10
lines changed

articles/cognitive-services/Speech-Service/how-to-automatic-language-detection.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ manager: nitinme
88
ms.service: cognitive-services
99
ms.subservice: speech-service
1010
ms.topic: conceptual
11-
ms.date: 10/26/2019
11+
ms.date: 01/15/2020
1212
ms.author: qiohu
13+
zone_pivot_groups: programming-languages-set-seven
1314
---
1415

1516
# Automatic language detection for speech to text
@@ -19,7 +20,7 @@ Automatic language detection is used to determine the most likely match for audi
1920
In this article, you'll learn how to use `AutoDetectSourceLanguageConfig` to construct a `SpeechRecognizer` object and retrieve the detected language.
2021

2122
> [!IMPORTANT]
22-
> This feature is only available for the Speech SDK for C++ and the Speech SDK for Java.
23+
> This feature is only available for the Speech SDK for C#, C++ and Java.
2324
2425
## Automatic language detection with the Speech SDK
2526

@@ -30,6 +31,22 @@ Automatic language detection currently has a services-side limit of two language
3031
3132
The following snippets illustrate how to use automatic language detection in your apps:
3233

34+
::: zone pivot="programming-language-csharp"
35+
36+
```csharp
37+
var autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.FromLanguages(new string[] { "en-US", "de-DE" });
38+
using (var recognizer = new SpeechRecognizer(speechConfig, autoDetectSourceLanguageConfig, audioConfig))
39+
{
40+
var speechRecognitionResult = await recognizer.RecognizeOnceAsync();
41+
var autoDetectSourceLanguageResult = AutoDetectSourceLanguageResult.FromResult(speechRecognitionResult);
42+
var detectedLanguage = autoDetectSourceLanguageResult.Language;
43+
}
44+
```
45+
46+
::: zone-end
47+
48+
::: zone pivot="programming-language-cpp"
49+
3350
```C++
3451
auto autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig::FromLanguages({ "en-US", "de-DE" });
3552
auto recognizer = SpeechRecognizer::FromConfig(speechConfig, autoDetectSourceLanguageConfig, audioConfig);
@@ -38,6 +55,10 @@ auto autoDetectSourceLanguageResult = AutoDetectSourceLanguageResult::FromResult
3855
auto detectedLanguage = autoDetectSourceLanguageResult->Language;
3956
```
4057
58+
::: zone-end
59+
60+
::: zone pivot="programming-language-java"
61+
4162
```Java
4263
AutoDetectSourceLanguageConfig autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.fromLanguages(Arrays.asList("en-US", "de-DE"));
4364
SpeechRecognizer recognizer = new SpeechRecognizer(speechConfig, autoDetectSourceLanguageConfig, audioConfig);
@@ -53,26 +74,49 @@ audioConfig.close();
5374
result.close();
5475
```
5576

77+
::: zone-end
78+
5679
## Use a custom model for automatic language detection
5780

5881
In addition to language detection using Speech service models, you can specify a custom model for enhanced recognition. If a custom model isn't provided, the service will use the default language model.
5982

6083
The snippets below illustrate how to specify a custom model in your call to the Speech service. If the detected language is `en-US`, then the default model is used. If the detected language is `fr-FR`, then the endpoint for the custom model is used:
6184

85+
::: zone pivot="programming-language-csharp"
86+
87+
```csharp
88+
var sourceLanguageConfigs = new SourceLanguageConfig[]
89+
{
90+
SourceLanguageConfig.FromLanguage("en-US"),
91+
SourceLanguageConfig.FromLanguage("fr-FR", "The Endpoint Id for custom model of fr-FR")
92+
};
93+
var autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.FromSourceLanguageConfigs(sourceLanguageConfigs);
94+
```
95+
96+
::: zone-end
97+
98+
::: zone pivot="programming-language-cpp"
99+
62100
```C++
63101
std::vector<std::shared_ptr<SourceLanguageConfig>> sourceLanguageConfigs;
64102
sourceLanguageConfigs.push_back(SourceLanguageConfig::FromLanguage("en-US"));
65103
sourceLanguageConfigs.push_back(SourceLanguageConfig::FromLanguage("fr-FR", "The Endpoint Id for custom model of fr-FR"));
66104
auto autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig::FromSourceLanguageConfigs(sourceLanguageConfigs);
67105
```
68106

107+
::: zone-end
108+
109+
::: zone pivot="programming-language-java"
110+
69111
```Java
70112
List sourceLanguageConfigs = new ArrayList<SourceLanguageConfig>();
71113
sourceLanguageConfigs.add(SourceLanguageConfig.fromLanguage("en-US"));
72114
sourceLanguageConfigs.add(SourceLanguageConfig.fromLanguage("fr-FR", "The Endpoint Id for custom model of fr-FR"));
73115
AutoDetectSourceLanguageConfig autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.fromSourceLanguageConfigs(sourceLanguageConfigs);
74116
```
75117

118+
::: zone-end
119+
76120
## Next steps
77121

78122
- [Speech SDK reference documentation](speech-sdk.md)

articles/cognitive-services/Speech-Service/how-to-specify-source-language.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: nitinme
88
ms.service: cognitive-services
99
ms.subservice: speech-service
1010
ms.topic: conceptual
11-
ms.date: 10/26/2019
11+
ms.date: 01/07/2020
1212
ms.author: qiohu
1313
zone_pivot_groups: programming-languages-set-two
1414
---
@@ -21,24 +21,29 @@ In this article, you'll learn how to specify the source language for an audio in
2121

2222
## How to specify source language in C#
2323

24-
The first step is to create a `SpeechConfig`:
24+
In this example, the source language is provided explicitly as a parameter using `SpeechRecognizer` construct.
2525

2626
```csharp
27-
var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
27+
var recognizer = new SpeechRecognizer(speechConfig, "de-DE", audioConfig);
2828
```
2929

30-
Next, specify the source language of your audio with `SpeechRecognitionLanguage`:
30+
In this example, the source language is provided using `SourceLanguageConfig`. Then, the `sourceLanguageConfig` is passed as a parameter to `SpeechRecognizer` construct.
3131

3232
```csharp
33-
speechConfig.SpeechRecognitionLanguage = "de-DE";
33+
var sourceLanguageConfig = SourceLanguageConfig.FromLanguage("de-DE");
34+
var recognizer = new SpeechRecognizer(speechConfig, sourceLanguageConfig, audioConfig);
3435
```
3536

36-
If you're using a custom model for recognition, you can specify the endpoint with `EndpointId`:
37+
In this example, the source language and custom endpoint are provided using `SourceLanguageConfig`. Then, the `sourceLanguageConfig` is passed as a parameter to `SpeechRecognizer` construct.
3738

3839
```csharp
39-
speechConfig.EndpointId = "The Endpoint ID for your custom model.";
40+
var sourceLanguageConfig = SourceLanguageConfig.FromLanguage("de-DE", "The Endpoint ID for your custom model.");
41+
var recognizer = new SpeechRecognizer(speechConfig, sourceLanguageConfig, audioConfig);
4042
```
4143

44+
>[!Note]
45+
> `SpeechRecognitionLanguage` and `EndpointId` set methods are deprecated from the `SpeechConfig` class in C#. The use of these methods are discouraged, and shouldn't be used when constructing a `SpeechRecognizer`.
46+
4247
::: zone-end
4348

4449
::: zone pivot="programming-language-cpp"

articles/zone-pivot-groups.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,21 @@ groups:
9696
title: Python
9797
- id: programming-language-nodejs
9898
title: Node.js
99+
- id: programming-languages-set-seven
100+
title: Programming languages
101+
prompt: Choose a programming language
102+
pivots:
103+
- id: programming-language-csharp
104+
title: C#
105+
- id: programming-language-cpp
106+
title: C++
107+
- id: programming-language-java
108+
title: Java
99109
- id: URL-test-interface
100110
title: URL Test tool
101111
prompt: Choose one of the following
102112
pivots:
103113
- id: url-test-tool-curl
104114
title: cURL
105115
- id: url-test-tool-postman
106-
title: Postman
116+
title: Postman

0 commit comments

Comments
 (0)