Skip to content

Commit 892413a

Browse files
|Ankit| update proto
1 parent d86c5f5 commit 892413a

File tree

3 files changed

+55
-8
lines changed

3 files changed

+55
-8
lines changed

examples/java/speech-recognition-client/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ protobuf {
2121

2222
group 'org.ekstep'
2323
version '1.0-SNAPSHOT'
24+
sourceCompatibility = '1.8'
2425

2526
repositories {
2627
mavenCentral()

examples/java/speech-recognition-client/src/main/java/com/ekstep/endpoints/speech_recognition/SpeechRecognitionClient.java

+20-7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.protobuf.ByteString;
44
import io.grpc.*;
5+
import io.grpc.netty.shaded.io.netty.util.internal.StringUtil;
56
import io.grpc.stub.MetadataUtils;
67

78
import java.util.concurrent.TimeUnit;
@@ -47,25 +48,37 @@ public SpeechRecognitionResult transcribeAudioBytes(ByteString audioBytes, Langu
4748
}
4849
}
4950

50-
public static ByteString getAudioBytes() {
51+
public static ByteString getAudioBytes(String file) {
5152
AudioFiles audioFiles = new AudioFiles();
52-
String file = "/Users/nireshkumarr/Documents/ekstep/speech-recognition-open-api/examples/python/speech-recognition/changed.wav";
5353
byte[] data2 = audioFiles.readAudioFileData(file);
5454
ByteString byteString = ByteString.copyFrom(data2);
5555
return byteString;
5656
}
5757

58+
private PunctuateResponse getPunctuate(String text, String language) {
59+
return blockingStub.punctuate(PunctuateRequest.newBuilder().setLanguage(language).clearEnabledItn().setText(text).build());
60+
}
61+
5862
public static void main(String[] args) throws Exception {
59-
String target = "test-model-api.vakyansh.in:50051";
63+
String targetGRPCServer = "<GRPC Server>";
64+
String audioFile = "<wav audio file path>";
65+
Language.LanguageCode languageCode = Language.LanguageCode.hi;
6066

61-
ManagedChannel channel = ManagedChannelBuilder.forTarget(target)
67+
ManagedChannel channel = ManagedChannelBuilder.forTarget(targetGRPCServer)
6268
.usePlaintext()
6369
.build();
6470
try {
6571
SpeechRecognitionClient client = new SpeechRecognitionClient(channel);
66-
ByteString audioBytes = getAudioBytes();
67-
SpeechRecognitionResult result = client.transcribeAudioBytes(audioBytes, Language.LanguageCode.en, RecognitionConfig.AudioFormat.wav, RecognitionConfig.TranscriptionFormatEnum.transcript);
68-
System.out.println(result.toString());
72+
ByteString audioBytes = getAudioBytes(audioFile);
73+
SpeechRecognitionResult result = client.transcribeAudioBytes(audioBytes, languageCode, RecognitionConfig.AudioFormat.wav, RecognitionConfig.TranscriptionFormatEnum.transcript);
74+
System.out.println("#### Output ####");
75+
for (SpeechRecognitionResult.Output out : result.getOutputList()) {
76+
if (!StringUtil.isNullOrEmpty(out.getSource())) {
77+
System.out.println("Text: " + out.getSource());
78+
System.out.println("Punctuated Text: " + client.getPunctuate(out.getSource(), languageCode.name()).getText());
79+
}
80+
}
81+
6982

7083
} finally {
7184
channel.shutdownNow().awaitTermination(5, TimeUnit.SECONDS);

examples/java/speech-recognition-client/src/main/proto/speech-recognition-open-api.proto

+34-1
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,31 @@ option java_package = "com.ekstep.endpoints.speech_recognition";
99
import "google/api/annotations.proto";
1010

1111
service SpeechRecognizer {
12+
rpc recognize_audio(stream Message) returns (stream Response) {}
13+
rpc punctuate(PunctuateRequest) returns (PunctuateResponse) {
14+
option (google.api.http) = {post: "/v1/punctuate/{language}", body: "*"};
15+
}
1216
rpc recognize (SpeechRecognitionRequest) returns (SpeechRecognitionResult) {
1317
option (google.api.http) = {post: "/v1/recognize/{config.language.sourceLanguage}", body: "*"};
1418
}
1519
}
1620

21+
message Message {
22+
bytes audio = 1;
23+
string user = 2;
24+
string language = 3;
25+
bool speaking = 4;
26+
bool isEnd = 5;
27+
}
28+
29+
message Response {
30+
string transcription = 1;
31+
string user = 2;
32+
string language = 3;
33+
string action = 4;
34+
}
35+
36+
1737
message SpeechRecognitionRequest {
1838
RecognitionConfig config = 1;
1939
repeated RecognitionAudio audio = 2;
@@ -107,7 +127,9 @@ message Language {
107127
grt = 28;
108128
sa = 29;
109129
raj = 30;
110-
bo = 31;
130+
bho = 31;
131+
en_bio = 32;
132+
hi_en = 33;
111133
}
112134
optional string name = 1;
113135
LanguageCode sourceLanguage = 2;
@@ -148,3 +170,14 @@ message Alternative {
148170
string startTime = 2;
149171
string endTime = 3;
150172
}
173+
174+
message PunctuateRequest {
175+
string text = 1;
176+
string language = 2;
177+
bool enabledItn = 3;
178+
}
179+
180+
message PunctuateResponse {
181+
string text = 1;
182+
string language = 2;
183+
}

0 commit comments

Comments
 (0)