Skip to content

Commit 09b1408

Browse files
authored
AISDK-207: Add Language Parameter to streaming client (#47)
1 parent 31a0c5a commit 09b1408

File tree

7 files changed

+35
-3
lines changed

7 files changed

+35
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The recommended way to use the Rev AI Java SDK is to import it into the project
1313
<dependency>
1414
<groupId>ai.rev</groupId>
1515
<artifactId>revai-java-sdk</artifactId>
16-
<version>2.1.0</version>
16+
<version>2.2.0</version>
1717
</dependency>
1818

1919
## Build and install locally from source

examples/StreamingFromLocalFile.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public static void main(String[] args) throws InterruptedException {
3838
sessionConfig.setDetailedPartials(false);
3939
sessionConfig.setStartTs(0.0);
4040
sessionConfig.setTranscriber("machine");
41+
sessionConfig.setLanguage("en");
4142

4243
// Initialize your client with your access token
4344
StreamingClient streamingClient = new StreamingClient(accessToken);

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>ai.rev</groupId>
66
<artifactId>revai-java-sdk</artifactId>
7-
<version>2.1.0</version>
7+
<version>2.2.0</version>
88
<name>Rev AI SDK for Java</name>
99
<description>Java SDK for Rev AI API</description>
1010
<url>https://docs.rev.ai/</url>

src/main/java/ai/rev/speechtotext/StreamingClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ private String buildURL(
214214
if (sessionConfig.getTranscriber() != null) {
215215
urlBuilder.addQueryParameter("transcriber", sessionConfig.getTranscriber());
216216
}
217+
if (sessionConfig.getLanguage() != null) {
218+
urlBuilder.addQueryParameter("language", sessionConfig.getLanguage());
219+
}
217220
}
218221
return urlBuilder.build().toString()
219222
+ "&content_type="

src/main/java/ai/rev/speechtotext/models/streaming/SessionConfig.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public class SessionConfig {
1111
private Boolean detailedPartials;
1212
private Double startTs;
1313
private String transcriber;
14+
private String language;
1415

1516
/**
1617
* Returns the metadata.
@@ -159,4 +160,18 @@ public void setDetailedPartials(Boolean detailedPartials) {
159160
* @param transcriber The type of transcriber to use to transcribe the media.
160161
*/
161162
public void setTranscriber(String transcriber) { this.transcriber = transcriber; }
163+
164+
/**
165+
* Returns the value of language.
166+
*
167+
* @return The language value.
168+
*/
169+
public String getLanguage() { return language; }
170+
171+
/**
172+
* Specifies the language to use for the streaming job.
173+
*
174+
* @param language The language to use for the streaming job.
175+
*/
176+
public void setLanguage(String language) { this.language = language; }
162177
}

src/test/java/ai/rev/speechtotext/integration/StreamingTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ private SessionConfig createSessionsConfig() {
133133
sessionConfig.setDetailedPartials(true);
134134
sessionConfig.setStartTs(10.0);
135135
sessionConfig.setTranscriber("machine");
136+
sessionConfig.setLanguage("en");
136137
return sessionConfig;
137138
}
138139

src/test/java/ai/rev/speechtotext/unit/RevAiStreamingClientOptionalParametersTest.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public class RevAiStreamingClientOptionalParametersTest {
2929
private static final String METADATA = "Best Metadata";
3030
private static final String FAKE_ACCESS_TOKEN = "foo";
3131
private static final String TRANSCRIBER = "machine";
32+
private static final String LANGUAGE = "en";
3233

3334
private MockWebServer mockWebServer;
3435
private StreamContentType defaultContentType;
@@ -65,6 +66,11 @@ public static String[] transcriberAndNull() {
6566
return new String[] {TRANSCRIBER, null};
6667
}
6768

69+
@DataPoints("languageAndNull")
70+
public static String[] languageAndNull() {
71+
return new String[] {LANGUAGE, null};
72+
}
73+
6874
public RevAiStreamingClientOptionalParametersTest() {
6975
this.defaultContentType = new StreamContentType();
7076
defaultContentType.setContentType("audio/x-raw");
@@ -107,7 +113,8 @@ public void StreamingClient_GivenOptionalParameterSet_ContainsNonNullParametersI
107113
@FromDataPoints("deleteAfterSecondsAndNull") Integer deleteAfterSeconds,
108114
@FromDataPoints("booleanValuesAndNull") Boolean detailedPartials,
109115
@FromDataPoints("startTsAndNull") Double startTs,
110-
@FromDataPoints("transcriberAndNull") String transcriber)
116+
@FromDataPoints("transcriberAndNull") String transcriber,
117+
@FromDataPoints("languageAndNull") String language)
111118
throws UnsupportedEncodingException {
112119
sessionConfig.setMetaData(metadata);
113120
sessionConfig.setFilterProfanity(filterProfanity);
@@ -117,6 +124,7 @@ public void StreamingClient_GivenOptionalParameterSet_ContainsNonNullParametersI
117124
sessionConfig.setDetailedPartials(detailedPartials);
118125
sessionConfig.setStartTs(startTs);
119126
sessionConfig.setTranscriber(transcriber);
127+
sessionConfig.setLanguage(language);
120128

121129
streamingClient.connect(
122130
Mockito.mock(RevAiWebSocketListener.class), defaultContentType, sessionConfig);
@@ -167,6 +175,10 @@ private void assertStreamOptions(RecordedRequest request) throws UnsupportedEnco
167175
assertThat(request.getPath())
168176
.contains("transcriber=" + sessionConfig.getTranscriber());
169177
}
178+
if (sessionConfig.getLanguage() != null) {
179+
assertThat(request.getPath())
180+
.contains("language=" + sessionConfig.getLanguage());
181+
}
170182
assertThat(request.getPath()).contains("access_token=" + FAKE_ACCESS_TOKEN);
171183
}
172184
}

0 commit comments

Comments
 (0)