Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

54
LINES

< > BotCompany Repo | #1001273 // makeSpeechCereproc

JavaX fragment (include)

1  
  static void makeSpeechCereproc(S text, S voice, File destMp3) ctex {
2  
    S format = "mp3";
3  
    
4  
    S post = "<speakExtended key='p86ffzyal3tvgqfr'><voice>" + htmlencode(voice) + "</voice><text>" + /*htmlencode*/(text) + "</text><audioFormat>" + format + "</audioFormat>\n" +
5  
"</speakExtended>";
6  
7  
    S url = "https://www.cereproc.com/livedemo.php";
8  
    URL _url = new URL(url);
9  
    URLConnection conn = _url.openConnection();
10  
    conn.setRequestProperty("Content-Type", "text/plain;charset=UTF-8");
11  
    conn.setRequestProperty("Accept", "*/*");
12  
    conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
13  
    conn.setRequestProperty("Accept-Language", "en-US,en;q=0.8,de;q=0.6");
14  
    conn.setRequestProperty("Cookie", "has_js=1; Drupal.visitor.liveDemo=p86ffzyal3tvgqfr; _ga=GA1.2.1406621623.1444122980; _gat=1");
15  
    conn.setRequestProperty("Origin", "https://www.cereproc.com");
16  
    conn.setRequestProperty("Referer", "https://www.cereproc.com/");
17  
    conn.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36");
18  
    
19  
    conn.setDoOutput(true);
20  
    
21  
    OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
22  
    writer.write(post);
23  
    writer.flush();
24  
    
25  
    S encoding = conn.getContentEncoding();
26  
    //print("Encoding: " + encoding);
27  
    
28  
    S contentType = conn.getContentType();
29  
    //print("Content type: " + contentType);
30  
  
31  
    byte[] response = loadBinaryPage(conn);
32  
    //print("Bytes read: " + response.length);
33  
    
34  
    if ("gzip".equals(encoding))
35  
      response = gunzipBinaryData(response);
36  
      
37  
    //print("Bytes unpacked: " + response.length);
38  
    S s = new String(response, "UTF-8");
39  
    //print(s);
40  
    
41  
    S oggUrl = null;
42  
    L<S> tok = htmlcoarsetok(s);
43  
    for (int i = 1; i < tok.size(); i += 2)
44  
      if (isTag(tok.get(i), "url")) {
45  
        oggUrl = tok.get(i+1);
46  
        break;
47  
      }
48  
    if (oggUrl == null) fail("No sound URL found");
49  
    
50  
    byte[] ogg = loadBinaryPage(oggUrl);
51  
52  
    saveBinaryFile(destMp3, ogg);
53  
    //print("Saved: " + destMp3.getAbsolutePath() + " (" + ogg.length + " bytes)");
54  
  }

Author comment

Began life as a copy of #1001268

download  show line numbers  debug dex  old transpilations   

Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1001273
Snippet name: makeSpeechCereproc
Eternal ID of this version: #1001273/1
Text MD5: 0d88b012c21cd64ac7b500316346c6cc
Author: stefan
Category:
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2016-08-29 02:15:44
Source code size: 2240 bytes / 54 lines
Pitched / IR pitched: No / No
Views / Downloads: 571 / 837
Referenced in: [show references]