From 4a4317a70f8aa85523956563be009816a9eb4b90 Mon Sep 17 00:00:00 2001 From: Jerry Date: Sun, 9 Aug 2015 17:31:29 +0200 Subject: [PATCH 1/4] Fixed some speech things. --- .classpath | 13 +++---- CRAudioTest.flac | Bin 0 -> 45566 bytes javaFlacEncoder-0.3.1.jar | Bin 0 -> 185707 bytes .../speech/recognizer/FlacEncoder.java | 13 +++---- .../speech/recognizer/GSpeechDuplex.java | 5 +-- .../speech/synthesiser/SynthesiserV2.java | 27 ++++++++------- .../speech/synthesiser/Tester.java | 32 ++++++++++++++++++ 7 files changed, 64 insertions(+), 26 deletions(-) create mode 100644 CRAudioTest.flac create mode 100644 javaFlacEncoder-0.3.1.jar create mode 100644 src/com/darkprograms/speech/synthesiser/Tester.java diff --git a/.classpath b/.classpath index fb50116..7b1f52b 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,7 @@ - - - - - - + + + + + + + diff --git a/CRAudioTest.flac b/CRAudioTest.flac new file mode 100644 index 0000000000000000000000000000000000000000..ab39d2f083212710ba14d1435256da7592daf19c GIT binary patch literal 45566 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 z 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 literal 0 HcmV?d00001 diff --git a/javaFlacEncoder-0.3.1.jar b/javaFlacEncoder-0.3.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..636191c59fd76bcf011a54c57791b37ab385498a GIT binary patch literal 185707 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 z zHk%F#c2W4@pm32+2nwGA59&*K{VrZQVxw;VZN0?y=U?@(+<{;`2|^<9^{O-CzR&;x2r-ls;tss zmtTY5NlUle)aVZ-4+W}`^4hTsBWZFv)Sq z?{-yIf=wLk{9^1Exk_dvduSwUCPQ zu0i&93dCA7%imfQ?OIWJS_ij%y}Awcr#oTZ-Ov5Qs6RcL#YRY9R@H$> zx@6Qm#`toe{$;G#e7PSZOGeEYN;jKSfKuc#8e)uv+mH>-A(aL6AfqnEh`p9KPG|Bvq(y7@IN1W5N-t*|?#EFtQ85o%DAAx}k_Au-vX2A2F?+Dqm2QU!Zdwffnf0nOFo?uoySHb^9ouM76tPziC> zSX=3yu_9j6P+8Sl+t4(vVO8DY<_4VBq3)m96D#;F}?UU|>tX#b!{rz`e zy#1K-Y^5X|lqe%{N82i^dnK!yn`<`CuUozmPDZo4?MMgs+{x>vO#?kh7?c8VG&`&G zZH%d%i{V{v$v&X=4WAeOiuWa?Lj5^|BOR*osp`U;Uw29?B&v5=3w;;A^BdR;5>lbU z`S*spfQ?5DWO!o@1co=%3CHwbw0$MgM1t5BNc=H!M|Oug`KY-|W>!y6Z^nOLy<+DO zRtO2j2?)d;ZPqm&K;};#9`i2E^II04_7_mAggz;NR&4VGG};@^!CQ{MFNeZNK#tz| z*U@&xPdwnb4qD}y)PT6N*6Nzob>5(V^2NyBp8!@uzfQnX*N>n%(mOW}PC$Eu`|`Nk zum50#QW6HFfGfYZJGfLPoj1hKrk(TgP&8L19FhXD`rZ9OTsm@uH_+o3{dL4+)L265 z0`VBS4C%Et#Y}hLnrK?rKb7}qKFYju=W0G7VRTB_U$yiBekO4kOuYJdf93bT{qp1S zA^bBDWPMKjb+la_IKZ!X1Ag=EI^Rg}vxL;KQC`p;@U+=glY3l8-Uyyji&Y14kYq^t zu5w;_gf}=@dXH*tS<@QdhAsP~KzWq{XlP;fy?` zB&3dsf?M|w+8gHmSM50QPTE(39MVbrb+oEknR2){tVv&IW>2dE_Y+c))+3L3 zz-rznMzEHA{=z^iDWPAYM8q9!<1LPMK`JG?>6<2iTnhx=<+^X%<-RT8KMASeZYlze)Ucw4F7mJD53jEj6{^ zJVV>Kl^u|hx9`Qd_2uht{1wEvgu#ig5O=h_S$RMo@-F``-po0-jIv8e9q3<=+z(iH zn$B!o(c}&K*sq?Qdv-u639MC}e-O`OyMvxTwQ9#c~=%j^9ZS(UN+eS z23vq0r}c0C_D1_FfRd2fh~atN!F8^iD;id|;#3|RG2S&z_w$*kYDe4Pr5<2Yynd$F zINg(A7p#Ki`-au&&d$4l={{$=fKFK51JEQ7H0i}mw4JC1Jw3onh_t=0 && speed<=2.0){ - sb.append("&speed=" + speed/2.0); - } - - if(pitch>=0 && pitch<=2.0){ - sb.append("&pitch=" + pitch/2.0); - } +// if(speed>=0 && speed<=2.0){ +// sb.append("&speed=" + speed/2.0); +// } +// +// if(pitch>=0 && pitch<=2.0){ +// sb.append("&pitch=" + pitch/2.0); +// } URL url = new URL(sb.toString()); //create url + System.out.println("URL: " + url); // Open New URL connection channel. URLConnection urlConn = url.openConnection(); //Open connection urlConn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"); //Adding header for user agent is required + urlConn.addRequestProperty("Referer", "http://translate.google.com/"); return urlConn.getInputStream(); } diff --git a/src/com/darkprograms/speech/synthesiser/Tester.java b/src/com/darkprograms/speech/synthesiser/Tester.java new file mode 100644 index 0000000..ca2494d --- /dev/null +++ b/src/com/darkprograms/speech/synthesiser/Tester.java @@ -0,0 +1,32 @@ +package com.darkprograms.speech.synthesiser; + +import java.io.IOException; +import java.io.InputStream; + +import sun.audio.AudioPlayer; +import sun.audio.AudioStream; + +public class Tester { + + public static void main(String[] args) { + SynthesiserV2 syn = new SynthesiserV2("APIKEY"); + syn.setLanguage("de-de"); + try { + System.out.println(syn.detectLanguage("What's up?")); + System.out.println(syn.detectLanguage("Wie geht es dir?")); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + try { + InputStream in = syn.getMP3Data("Wie geht es dir? Battlefield 2!"); + AudioStream as = new AudioStream(in); + AudioPlayer.player.start(as); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} From 4d42830deddfd846690ed962f9706c545f8b61e9 Mon Sep 17 00:00:00 2001 From: Jerry Date: Sat, 29 Aug 2015 08:53:49 +0200 Subject: [PATCH 2/4] Added MicrophoneException --- .../speech/microphone/Microphone.java | 27 +++++++++---------- .../speech/microphone/MicrophoneAnalyzer.java | 3 ++- .../microphone/MicrophoneException.java | 13 +++++++++ 3 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 src/com/darkprograms/speech/microphone/MicrophoneException.java diff --git a/src/com/darkprograms/speech/microphone/Microphone.java b/src/com/darkprograms/speech/microphone/Microphone.java index fbc7adf..bc0c3ff 100644 --- a/src/com/darkprograms/speech/microphone/Microphone.java +++ b/src/com/darkprograms/speech/microphone/Microphone.java @@ -89,8 +89,9 @@ public void setTargetDataLine(TargetDataLine targetDataLine) { * * @param fileType File type to save the audio in
* Example, to save as WAVE use AudioFileFormat.Type.WAVE + * @throws MicrophoneException Is thrown if there was an error initializing the microphone */ - public Microphone(AudioFileFormat.Type fileType) { + public Microphone(AudioFileFormat.Type fileType) throws MicrophoneException { setState(CaptureState.CLOSED); setFileType(fileType); initTargetDataLine(); @@ -99,16 +100,13 @@ public Microphone(AudioFileFormat.Type fileType) { /** * Initializes the target data line. */ - private void initTargetDataLine(){ + private void initTargetDataLine() throws MicrophoneException{ DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, getAudioFormat()); try { setTargetDataLine((TargetDataLine) AudioSystem.getLine(dataLineInfo)); - } catch (LineUnavailableException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return; + } catch (IllegalArgumentException | LineUnavailableException e) { + throw new MicrophoneException(e); } - } @@ -116,10 +114,10 @@ private void initTargetDataLine(){ * Captures audio from the microphone and saves it a file * * @param audioFile The File to save the audio to - * @throws LineUnavailableException + * @throws MicrophoneException Is thrown if there was an error initializing the microphone * @throws Exception Throws an exception if something went wrong */ - public void captureAudioToFile(File audioFile) throws LineUnavailableException { + public void captureAudioToFile(File audioFile) throws MicrophoneException { setState(CaptureState.STARTING_CAPTURE); setAudioFile(audioFile); @@ -137,10 +135,10 @@ public void captureAudioToFile(File audioFile) throws LineUnavailableException { * Captures audio from the microphone and saves it a file * * @param audioFile The fully path (String) to a file you want to save the audio in - * @throws LineUnavailableException + * @throws MicrophoneException Is thrown if there was an error initializing the microphone * @throws Exception Throws an exception if something went wrong */ - public void captureAudioToFile(String audioFile) throws LineUnavailableException { + public void captureAudioToFile(String audioFile) throws MicrophoneException { File file = new File(audioFile); captureAudioToFile(file); } @@ -168,8 +166,9 @@ public AudioFormat getAudioFormat() { /** * Opens the microphone, starting the targetDataLine. * If it's already open, it does nothing. + * @throws MicrophoneException Is thrown if there was an error - the microphone */ - public void open(){ + public void open() throws MicrophoneException{ if(getTargetDataLine()==null){ initTargetDataLine(); } @@ -179,9 +178,7 @@ public void open(){ getTargetDataLine().open(getAudioFormat()); getTargetDataLine().start(); } catch (LineUnavailableException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return; + throw new MicrophoneException(e); } } diff --git a/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java b/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java index 158546c..d0a5395 100644 --- a/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java +++ b/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java @@ -16,8 +16,9 @@ public class MicrophoneAnalyzer extends Microphone { /** * Constructor * @param fileType The file type you want to save in. FLAC recommended. + * @throws MicrophoneException Is thrown if there was an error initializing the microphone */ - public MicrophoneAnalyzer(AudioFileFormat.Type fileType){ + public MicrophoneAnalyzer(AudioFileFormat.Type fileType) throws MicrophoneException{ super(fileType); } diff --git a/src/com/darkprograms/speech/microphone/MicrophoneException.java b/src/com/darkprograms/speech/microphone/MicrophoneException.java new file mode 100644 index 0000000..057232b --- /dev/null +++ b/src/com/darkprograms/speech/microphone/MicrophoneException.java @@ -0,0 +1,13 @@ +package com.darkprograms.speech.microphone; + +/** + * @author Jeremy Treder + * + */ +public class MicrophoneException extends Exception +{ + public MicrophoneException(Throwable cause) + { + super("Can not initialize microphone.", cause); + } +} From 5c11b0fdbd30e6caf63847bf176565ca9873bae5 Mon Sep 17 00:00:00 2001 From: Jerry Date: Sat, 29 Aug 2015 09:38:56 +0200 Subject: [PATCH 3/4] Light callback for Google error on HTTP connection -> e.g. wrong API key --- CRAudioTest.flac | Bin 45566 -> 0 bytes .../speech/recognizer/GSpeechDuplex.java | 54 ++++++++++++++---- .../recognizer/GoogleHTTPException.java | 15 +++++ 3 files changed, 57 insertions(+), 12 deletions(-) delete mode 100644 CRAudioTest.flac create mode 100644 src/com/darkprograms/speech/recognizer/GoogleHTTPException.java diff --git a/CRAudioTest.flac b/CRAudioTest.flac deleted file mode 100644 index ab39d2f083212710ba14d1435256da7592daf19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45566 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 z 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
D=jO?^>r$@O=(zc9QYm^|7@yO+ z6^k##RF_tnvNadJYu36stH$>0Tw^Nfp`8ko*J0g0&)ji(R-e{vNaV4c-KnGPvcp06 z&zk(j-P52wxg@R0X8Lz znex{EF|M-i%W5l+Nt;`05Yq%SimNRm5!}r)wU2i%iO-+U1=}P#gmhjaQ&r-#BRGdl zDf%Ho$7>wrL_q&HoQlKf+{TkA#vXfY0C~&wZz~6i_w-M%8F2mRxWk7*Ero;q~@x@Fg;X4la834L6?qc(0-6%nea2LG1$Hmi!a@%+=Y z?M962ml`*3CQ+;kuO6@18}~IE?P?gMjsESgWw9}HV{5g{stS*$^O{$8Dwt1HG4=hY z0zz*90B?&_CtKQ~4vTofpvvmj$3WpCBRL@%cf|sQ9)hm|W39IgcbI~upbwwH!ytB@ zrOf2Jlc?2$q)|zt?+3k`qHu3sOba_0&8CE4SeWE<>Z72T18ok>ky7y@%)6ozNC$KjwpiBEqH+7it zykI1j%Ddoq!er0y&phx0t38@GCUWUwUV598+uUTn{5&P1GP?P0H84+MGeF%@jYPS- z2OT^rel6~rb})LqFWR?yWCyg{Z;M6m1#jbXxxb~)4?GMnCyOh*A$I~M2@he$?7EyW zo8(h9_xBspql~0$7j`6tIn#~D_b@bp&b4Q@if)A@S#C;j{B<<+Y-n3>QvKDH`ETd#Lp@KT>8qi( zRcE%BYS3(DTlj)x$Z;AvV^wOX!S0BKtjn~vt~ o{}_90EST*Uo6|a3RXjd%dBd~+%tYn1s!XyksM`C^PmaO=3rKSEb^rhX diff --git a/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java b/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java index 14c5d40..9edcb31 100644 --- a/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java +++ b/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java @@ -3,6 +3,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.lang.Thread.UncaughtExceptionHandler; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; @@ -10,6 +11,10 @@ import java.util.ArrayList; import java.util.List; import java.util.Scanner; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import javax.net.ssl.HttpsURLConnection; import javax.sound.sampled.AudioFormat; @@ -31,6 +36,14 @@ * @author Skylion (Aaron Gokaslan), Robert Rowntree. */ public class GSpeechDuplex{ + public interface Catchable{ + /** + * Is called from a separate thread if something went wrong! It is maybe called just after a few + * seconds after stop capturing. + * @param throwable The exception occurred. One probable exception is{@link GoogleHTTPException} + */ + public void onException(Throwable throwable); + } //TODO Cleanup Printlns @@ -103,10 +116,11 @@ public void setLanguage(String language){ * @param flacFile The file you wish to upload. * NOTE: Segment the file if duration is greater than 15 seconds. * @param sampleRate The sample rate of the file. + * @param exceptionCallback If something went wrong on the HTTP downstream thread. * @throws IOException If something has gone wrong with reading the file */ - public void recognize(File flacFile, int sampleRate) throws IOException{ - recognize(mapFileIn(flacFile), sampleRate); + public void recognize(File flacFile, int sampleRate, Catchable exceptionCallback) throws IOException{ + recognize(mapFileIn(flacFile), sampleRate, exceptionCallback); } /** @@ -114,15 +128,16 @@ public void recognize(File flacFile, int sampleRate) throws IOException{ * NOTE: The byte[] should contain no more than 15 seconds of audio. * Chunking is not fully implemented as of yet. Will not string data together for context yet. * @param data The byte[] you want to send. + * @param exceptionCallback If something went wrong on the HTTP downstream thread. * @param sampleRate The sample rate of aforementioned byte array. */ - public void recognize(byte[] data, int sampleRate){ + public void recognize(byte[] data, int sampleRate, Catchable exceptionCallback){ if(data.length >= MAX_SIZE){//Temporary Chunking. Does not allow for Google to gather context. System.out.println("Chunking the audio into smaller parts..."); byte[][] dataArray = chunkAudio(data); for(byte[]array: dataArray){ - recognize(array, sampleRate); + recognize(array, sampleRate, exceptionCallback); } } @@ -138,7 +153,7 @@ public void recognize(byte[] data, int sampleRate){ "&key=" + API_KEY ; //Opens downChannel - this.downChannel(API_DOWN_URL); + this.downChannel(API_DOWN_URL, exceptionCallback); //Opens upChannel this.upChannel(API_UP_URL, chunkAudio(data), sampleRate); } @@ -148,10 +163,11 @@ public void recognize(byte[] data, int sampleRate){ *

Note: This feature is experimental.

* @param tl * @param af + * @param exceptionCallback If something went wrong on the HTTP downstream thread. * @throws IOException * @throws LineUnavailableException */ - public void recognize(TargetDataLine tl, AudioFormat af) throws IOException, LineUnavailableException{ + public void recognize(TargetDataLine tl, AudioFormat af, Catchable exceptionCallback) throws IOException, LineUnavailableException{ //Generates a unique ID for the response. final long PAIR = MIN + (long)(Math.random() * ((MAX - MIN) + 1L)); @@ -166,7 +182,7 @@ public void recognize(TargetDataLine tl, AudioFormat af) throws IOException, Lin //TODO Add implementation that sends feedback in real time. Protocol buffers will be necessary. //Opens downChannel - this.downChannel(API_DOWN_URL); + this.downChannel(API_DOWN_URL, exceptionCallback); //Opens upChannel this.upChannel(API_UP_URL, tl, af); } @@ -176,10 +192,14 @@ public void recognize(TargetDataLine tl, AudioFormat af) throws IOException, Lin * the best way to handle this is through the use of listeners. * @param The URL you want to connect to. */ - private void downChannel(String urlStr) { + private void downChannel(String urlStr, Catchable callback) { final String url = urlStr; - new Thread ("Downstream Thread") { - public void run() { + + Callable task = new Callable() + { + @Override + public Void call() throws Exception + { // handler for DOWN channel http response stream - httpsUrlConn // response handler should manage the connection.... ?? // assign a TIMEOUT Value that exceeds by a safe factor @@ -192,7 +212,7 @@ public void run() { // httpsUrlConn and allow it enough time to do its work. Scanner inStream = openHttpsConnection(url); if(inStream == null){ - //ERROR HAS OCCURED + throw new GoogleHTTPException(); } while(inStream.hasNextLine()){ String response = inStream.nextLine(); @@ -205,8 +225,18 @@ public void run() { } inStream.close(); System.out.println("Finished write on down stream..."); + return null; } - }.start(); + }; + Future future = Executors.newFixedThreadPool(1).submit(task); + try { + future.get(); + } catch (ExecutionException ex) { + callback.onException(ex.getCause()); + } catch (InterruptedException e) + { + callback.onException(e); + } } diff --git a/src/com/darkprograms/speech/recognizer/GoogleHTTPException.java b/src/com/darkprograms/speech/recognizer/GoogleHTTPException.java new file mode 100644 index 0000000..b8c8afc --- /dev/null +++ b/src/com/darkprograms/speech/recognizer/GoogleHTTPException.java @@ -0,0 +1,15 @@ +package com.darkprograms.speech.recognizer; + +/** + * Occurs if something went wrong with the HTTP connection. A cause may be a wrong API key. + * + * @author Jeremy Treder + * + */ +public class GoogleHTTPException extends RuntimeException +{ + public GoogleHTTPException() + { + super("Something went wrong with the HTTP connection. Maybe API key wrong?"); + } +} From 5be2e149d16f1851176effde4520e70289d41ccd Mon Sep 17 00:00:00 2001 From: Jerry Date: Sat, 29 Aug 2015 09:43:13 +0200 Subject: [PATCH 4/4] Undo commit: 4a4317a70f8aa85523956563be009816a9eb4b90 except flac lib --- .../speech/recognizer/GSpeechDuplex.java | 2 +- .../speech/synthesiser/SynthesiserV2.java | 27 +++++++--------- .../speech/synthesiser/Tester.java | 32 ------------------- 3 files changed, 13 insertions(+), 48 deletions(-) delete mode 100644 src/com/darkprograms/speech/synthesiser/Tester.java diff --git a/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java b/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java index 9edcb31..58070b0 100644 --- a/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java +++ b/src/com/darkprograms/speech/recognizer/GSpeechDuplex.java @@ -75,7 +75,7 @@ public interface Catchable{ /** * User-defined language */ - private String language = "de-de"; + private String language = "auto"; /** * The maximum size the API will tolerate diff --git a/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java b/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java index f50a470..db12412 100644 --- a/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java +++ b/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java @@ -28,9 +28,8 @@ */ public class SynthesiserV2 { -// private static final String GOOGLE_SYNTHESISER_URL = "http://www.google.com/speech-api/v2/synthesize?enc=mpeg" + -// "&client=chromium"; - private static final String GOOGLE_SYNTHESISER_URL = "http://translate.google.com/translate_tts?"; + private static final String GOOGLE_SYNTHESISER_URL = "https://www.google.com/speech-api/v2/synthesize?enc=mpeg" + + "&client=chromium"; /** * API_KEY used for requests @@ -151,26 +150,24 @@ public InputStream getMP3Data(String synthText) throws IOException{ String encoded = URLEncoder.encode(synthText, "UTF-8"); //Encode StringBuilder sb = new StringBuilder(GOOGLE_SYNTHESISER_URL); -// sb.append("&key=" + API_KEY); - sb.append("q=" + encoded); - sb.append("&tl=" + "de"); + sb.append("&key=" + API_KEY); + sb.append("&text=" + encoded); + sb.append("&lang=" + languageCode); -// if(speed>=0 && speed<=2.0){ -// sb.append("&speed=" + speed/2.0); -// } -// -// if(pitch>=0 && pitch<=2.0){ -// sb.append("&pitch=" + pitch/2.0); -// } + if(speed>=0 && speed<=2.0){ + sb.append("&speed=" + speed/2.0); + } + + if(pitch>=0 && pitch<=2.0){ + sb.append("&pitch=" + pitch/2.0); + } URL url = new URL(sb.toString()); //create url - System.out.println("URL: " + url); // Open New URL connection channel. URLConnection urlConn = url.openConnection(); //Open connection urlConn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"); //Adding header for user agent is required - urlConn.addRequestProperty("Referer", "http://translate.google.com/"); return urlConn.getInputStream(); } diff --git a/src/com/darkprograms/speech/synthesiser/Tester.java b/src/com/darkprograms/speech/synthesiser/Tester.java deleted file mode 100644 index ca2494d..0000000 --- a/src/com/darkprograms/speech/synthesiser/Tester.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.darkprograms.speech.synthesiser; - -import java.io.IOException; -import java.io.InputStream; - -import sun.audio.AudioPlayer; -import sun.audio.AudioStream; - -public class Tester { - - public static void main(String[] args) { - SynthesiserV2 syn = new SynthesiserV2("APIKEY"); - syn.setLanguage("de-de"); - try { - System.out.println(syn.detectLanguage("What's up?")); - System.out.println(syn.detectLanguage("Wie geht es dir?")); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - try { - InputStream in = syn.getMP3Data("Wie geht es dir? Battlefield 2!"); - AudioStream as = new AudioStream(in); - AudioPlayer.player.start(as); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - -}