diff --git a/.gitignore b/.gitignore index 4b87013..ca38dd3 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,4 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -/.metadata/ +.metadata/ diff --git a/asrt_client_demo/asrtcli/.classpath b/asrt_client_demo/asrtcli/.classpath new file mode 100644 index 0000000..eba6737 --- /dev/null +++ b/asrt_client_demo/asrtcli/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/asrt_client_demo/asrtcli/.project b/asrt_client_demo/asrtcli/.project new file mode 100644 index 0000000..9c3e1c1 --- /dev/null +++ b/asrt_client_demo/asrtcli/.project @@ -0,0 +1,17 @@ + + + asrtcli + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/asrt_client_demo/asrtcli/src/asrtcli/Main.java b/asrt_client_demo/asrtcli/src/asrtcli/Main.java new file mode 100644 index 0000000..083cf06 --- /dev/null +++ b/asrt_client_demo/asrtcli/src/asrtcli/Main.java @@ -0,0 +1,81 @@ +/** + * + */ +package asrtcli; + +import net.ailemon.asrt.sdk.*; +import net.ailemon.asrt.sdk.models.*; +import net.ailemon.asrt.sdk.common.*; +/** + * @author ailemon + * + */ +public class Main { + + /** + * @param args + */ + public static void main(String[] args) { + // TODO Auto-generated method stub + String host = "127.0.0.1"; + String port = "20001"; + String protocol = "http"; + BaseSpeechRecognizer sr = Sdk.GetSpeechRecognizer(host, port, protocol); + String filename = "C:\\Users\\ailemon\\Desktop\\data.wav"; + if(args.length > 0){ + filename = args[0]; + } + // ============================================ + // 直接调用ASRT识别语音文件 + AsrtApiResponse rsp = sr.RecogniteFile(filename); + System.out.println(rsp.statusCode); + System.out.println(rsp.statusMessage); + System.out.println(rsp.result); + + // ============================================ + // 调用ASRT识别语音序列 + byte[] wavBytes = Common.readBinFile(filename); + Wave wav = new Wave(); + wav.deserialize(wavBytes); + byte[] sampleBytes = wav.getRawSamples(); + int sampleRate = wav.sampleRate; + int channels = wav.channels; + int byteWidth = wav.sampleWidth; + rsp = sr.Recognite(sampleBytes, sampleRate, channels, byteWidth); + System.out.println(rsp.statusCode); + System.out.println(rsp.statusMessage); + System.out.println(rsp.result); + + // ============================================ + // 调用ASRT声学模型识别语音序列 + wavBytes = Common.readBinFile(filename); + wav = new Wave(); + wav.deserialize(wavBytes); + sampleBytes = wav.getRawSamples(); + sampleRate = wav.sampleRate; + channels = wav.channels; + byteWidth = wav.sampleWidth; + rsp = sr.RecogniteSpeech(sampleBytes, sampleRate, channels, byteWidth); + System.out.println(rsp.statusCode); + System.out.println(rsp.statusMessage); + System.out.println(rsp.result); + + // ============================================ + // 调用ASRT语言模型识别拼音序列1 + String[] pinyins = ((String)rsp.result).split(", "); + rsp = sr.RecogniteLanguage(pinyins); + System.out.println(rsp.statusCode); + System.out.println(rsp.statusMessage); + System.out.println(rsp.result); + + // ============================================ + // 调用ASRT语言模型识别拼音序列2 + pinyins = new String[]{"ni3", "hao3", "a1"}; + rsp = sr.RecogniteLanguage(pinyins); + System.out.println(rsp.statusCode); + System.out.println(rsp.statusMessage); + System.out.println(rsp.result); + + } + +}