Skip to content
This repository was archived by the owner on May 6, 2022. It is now read-only.

Commit f7bbe26

Browse files
committed
fix: honor locale in azure speech recognizer
1 parent 86918e8 commit f7bbe26

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/main/java/io/spokestack/spokestack/microsoft/AzureSpeechRecognizer.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
* <b>frame-width</b> (integer): speech frame width, in ms
5353
* </li>
5454
* <li>
55-
* <b>locale</b> (string): language code for speech recognition
55+
* <b>locale</b> (string): BCP-47 language code for speech recognition
5656
* </li>
5757
* <li>
5858
* <b>azure-api-key</b> (string): API key for the Azure Speech
@@ -70,6 +70,7 @@ public class AzureSpeechRecognizer implements SpeechProcessor {
7070
private PushAudioInputStream audioStream;
7171
private AudioConfig audioConfig;
7272
private boolean active;
73+
private String locale;
7374

7475
// Azure speech requires little-endian (wav-format) data, so we buffer
7576
// audio frames internally to avoid mutating data coming from the speech
@@ -86,6 +87,10 @@ public AzureSpeechRecognizer(SpeechConfig speechConfig) {
8687
String region = speechConfig.getString("azure-region");
8788
int sampleRate = speechConfig.getInteger("sample-rate");
8889

90+
if (speechConfig.containsKey("locale")) {
91+
this.locale = speechConfig.getString("locale");
92+
}
93+
8994
if (sampleRate != 16000) {
9095
throw new IllegalArgumentException(
9196
"Azure only supports a 16kHz sample rate; found: "
@@ -103,6 +108,11 @@ com.microsoft.cognitiveservices.speech.SpeechConfig createMsConfig(
103108
com.microsoft.cognitiveservices.speech.SpeechConfig
104109
.fromSubscription(apiKey, region);
105110
config.setProfanity(ProfanityOption.Raw);
111+
112+
if (this.locale != null) {
113+
config.setSpeechRecognitionLanguage(this.locale);
114+
}
115+
106116
return config;
107117
}
108118

src/main/java/io/spokestack/spokestack/profile/TFWakewordGoogleASR.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
* account credentials, used to authenticate with the speech API
4848
* </li>
4949
* <li>
50-
* <b>locale</b> (string): language code for speech recognition
50+
* <b>locale</b> (string): BCP-47 language code for speech recognition
5151
* </li>
5252
* </ul>
5353
*

0 commit comments

Comments
 (0)