Skip to content

Commit

Permalink
AISDK-207: Add Language Parameter to streaming client (#47)
Browse files Browse the repository at this point in the history
  • Loading branch information
kshiflett88 authored May 18, 2022
1 parent 31a0c5a commit 09b1408
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 3 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The recommended way to use the Rev AI Java SDK is to import it into the project
<dependency>
<groupId>ai.rev</groupId>
<artifactId>revai-java-sdk</artifactId>
<version>2.1.0</version>
<version>2.2.0</version>
</dependency>

## Build and install locally from source
Expand Down
1 change: 1 addition & 0 deletions examples/StreamingFromLocalFile.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public static void main(String[] args) throws InterruptedException {
sessionConfig.setDetailedPartials(false);
sessionConfig.setStartTs(0.0);
sessionConfig.setTranscriber("machine");
sessionConfig.setLanguage("en");

// Initialize your client with your access token
StreamingClient streamingClient = new StreamingClient(accessToken);
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ai.rev</groupId>
<artifactId>revai-java-sdk</artifactId>
<version>2.1.0</version>
<version>2.2.0</version>
<name>Rev AI SDK for Java</name>
<description>Java SDK for Rev AI API</description>
<url>https://docs.rev.ai/</url>
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/ai/rev/speechtotext/StreamingClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,9 @@ private String buildURL(
if (sessionConfig.getTranscriber() != null) {
urlBuilder.addQueryParameter("transcriber", sessionConfig.getTranscriber());
}
if (sessionConfig.getLanguage() != null) {
urlBuilder.addQueryParameter("language", sessionConfig.getLanguage());
}
}
return urlBuilder.build().toString()
+ "&content_type="
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public class SessionConfig {
private Boolean detailedPartials;
private Double startTs;
private String transcriber;
private String language;

/**
* Returns the metadata.
Expand Down Expand Up @@ -159,4 +160,18 @@ public void setDetailedPartials(Boolean detailedPartials) {
* @param transcriber The type of transcriber to use to transcribe the media.
*/
public void setTranscriber(String transcriber) { this.transcriber = transcriber; }

/**
* Returns the value of language.
*
* @return The language value.
*/
public String getLanguage() { return language; }

/**
* Specifies the language to use for the streaming job.
*
* @param language The language to use for the streaming job.
*/
public void setLanguage(String language) { this.language = language; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ private SessionConfig createSessionsConfig() {
sessionConfig.setDetailedPartials(true);
sessionConfig.setStartTs(10.0);
sessionConfig.setTranscriber("machine");
sessionConfig.setLanguage("en");
return sessionConfig;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public class RevAiStreamingClientOptionalParametersTest {
private static final String METADATA = "Best Metadata";
private static final String FAKE_ACCESS_TOKEN = "foo";
private static final String TRANSCRIBER = "machine";
private static final String LANGUAGE = "en";

private MockWebServer mockWebServer;
private StreamContentType defaultContentType;
Expand Down Expand Up @@ -65,6 +66,11 @@ public static String[] transcriberAndNull() {
return new String[] {TRANSCRIBER, null};
}

@DataPoints("languageAndNull")
public static String[] languageAndNull() {
return new String[] {LANGUAGE, null};
}

public RevAiStreamingClientOptionalParametersTest() {
this.defaultContentType = new StreamContentType();
defaultContentType.setContentType("audio/x-raw");
Expand Down Expand Up @@ -107,7 +113,8 @@ public void StreamingClient_GivenOptionalParameterSet_ContainsNonNullParametersI
@FromDataPoints("deleteAfterSecondsAndNull") Integer deleteAfterSeconds,
@FromDataPoints("booleanValuesAndNull") Boolean detailedPartials,
@FromDataPoints("startTsAndNull") Double startTs,
@FromDataPoints("transcriberAndNull") String transcriber)
@FromDataPoints("transcriberAndNull") String transcriber,
@FromDataPoints("languageAndNull") String language)
throws UnsupportedEncodingException {
sessionConfig.setMetaData(metadata);
sessionConfig.setFilterProfanity(filterProfanity);
Expand All @@ -117,6 +124,7 @@ public void StreamingClient_GivenOptionalParameterSet_ContainsNonNullParametersI
sessionConfig.setDetailedPartials(detailedPartials);
sessionConfig.setStartTs(startTs);
sessionConfig.setTranscriber(transcriber);
sessionConfig.setLanguage(language);

streamingClient.connect(
Mockito.mock(RevAiWebSocketListener.class), defaultContentType, sessionConfig);
Expand Down Expand Up @@ -167,6 +175,10 @@ private void assertStreamOptions(RecordedRequest request) throws UnsupportedEnco
assertThat(request.getPath())
.contains("transcriber=" + sessionConfig.getTranscriber());
}
if (sessionConfig.getLanguage() != null) {
assertThat(request.getPath())
.contains("language=" + sessionConfig.getLanguage());
}
assertThat(request.getPath()).contains("access_token=" + FAKE_ACCESS_TOKEN);
}
}

0 comments on commit 09b1408

Please sign in to comment.