and again dll and market - page 21

 
Nikolai Karetnikov:

when you register on their website and follow the prompts, a page appears at one point wherethe apikey is listed

I see, but explain, what's the use of the free 10,000 voiced characters per month if every user is going to spend them on the same key crammed into the advisor? They will be gone in the blink of an eye and the limit will be reached.

 
Nikolai Karetnikov:

i.e. I now understand that in the retrievable stream


00000089 is service information, but I don't understand how to make it ignore

it's 0x89 bytes after the string - binary data. Then either another part (again string length, data) or end...

 
Maxim Kuznetsov:

is 0x89 bytes after the string - binary data. Then either another part (again, string length, data) or the end...

Yes, yes I understand, thank you! )

How to ask the server not to specify block sizes, that's what I'm googling now

 

Use a standard plan that can pay off. $0.02 per 1,000 characters.

In this case, you don't need to look for hacks. Contact their support team and explain the situation. If the MT (webrequest) platform is supportive and they help - it might work out.

 
This all reminds me of my struggle with the ResourceSave function, which mercilessly overwrote my data unless it was a pixel image. I saved, opened and poked around in the output file, trying to figure out what algorithms it was using to break things. There was nothing to it. Just stopped using the function.
 
Nikolai Karetnikov:

Yes, yes I understand, thank you! )

How to ask the server not to specify block sizes, that's what I'm googling now

When you save it to a file, you have to parse the content yourself. Focusing on the headers (oh those headers) sent by the server. It also tells you what kind of data it sends and how it slices/forms it.

WebRequest is pretty low-level stuff and you have to do a lot by yourself. The same curl, when saving file, parses content sent from server, but we don't have such glamour :-)

 
Maxim Kuznetsov:

When saving to a file, you have to parse the content yourself. It should be guided by the headers (oh, the headers) sent by the server. It also tells you what kind of data it sends and how it slices/forms it.

WebRequest is pretty low-level stuff and you have to do a lot by yourself. Same curl, when saving file, parses content sent from server, but we don't have such glamour :-)

There 's a mention of something similarhere.

I am also thinking in this direction. The TTS service was not invented for short phrases, but for a continuous stream. Waiting until a big file is formed, downloading it, so much time passes and they are thrown in the direction of the client in pieces of data.

Crowdsourcing for Speech Processing
Crowdsourcing for Speech Processing
  • books.google.ru
Provides an insightful and practical introduction to crowdsourcing as a means of rapidly processing speech data Intended for those who want to get started in the domain and learn how to set up a task, what interfaces are available, how to assess the work, etc. as well as for those who already have used crowdsourcing and want to create better tasks and obtain better assessments of the work of the crowd. It will include screenshots to show examples of good and poor interfaces; examples of case studies in speech processing tasks, going through the task creation process, reviewing options in the interface, in the choice of medium (MTurk or other) and explaining choices, etc. Provides an insightful and practical introduction to crowdsourcing as a means of rapidly processing speech data. Addresses important aspects of this new technique that should be mastered before attempting a crowdsourcing application. Offers speech researchers the hope that they can spend much less time dealing...
 
Реter Konow:

Use a standard plan that can pay off. $0.02 per 1,000 characters.

In this case, you don't need to look for hacks. Contact their support team and explain the situation. If the MT (webrequest) platform is supportive and they help - it might work out.

For free their support will not talk, here you're right! :)

 
Nikolai Karetnikov:

Their support won't talk for free, you're right! :)

Of course) It's their business. Imagine that you have created a text-to-audio stream converter. They can't just say "screw you" - that's rude, but they want to make some hard-disguised restrictions, so you have to suffer and try to get free money from "suckers" and then just give up or pay - you're welcome)))

These guys aren't stupid!)))

 

Found out why chunked responses from the IBM service are not accepted:

Content-Type: audio/ogg;codecs=opus
session-name: WLCAHDQYVJWMSEFM-en-US_MichaelVoice
x-content-type-options: nosniff
content-disposition: inline;
filename="result.ogg"
Last-Modified: Tue, 26 May 2020 21:15:39 GMT
content-security-policy: default-src 'self'
x-xss-protection: 1
x-frame-options: DENY
strict-transport-security: max-age=31536000;
includeSubDomains;
x-global-transaction-id: a9250688221454f1071a58eee719587b
X-DP-Watson-Tran-ID: a9250688221454f1071a58eee719587b
X-EdgeConnect-MidMile-RTT: 43
X-EdgeConnect-Origin-MEX-Latency: 167
Date: Mon, 01 Jun 2020 12:24:14 GMT
Transfer-Encoding:  chunked
Connection: keep-alive
Connection: Transfer-Encoding  

They had incorrect formatting in the Transfer-Encoding response header, where they put a double space instead of a single space. The protocol allows this, but our parser didn't take it into account.

That's why we misread the chunked/sliced stream and couldn't wait for it to finish.


There will be a fix in the next beta. Most likely today.


We launched an embedded Text2Speech service back in the MetaQuotes platform around 2002, but it was kicked out due to poor implementation. We will most likely add it as a standard functionality both in the terminal and in MQL5.