и снова dll и маркет - страница 21

 
Nikolai Karetnikov:

когда регистрируешься у них на сайте и идешь по подсказкам, то появляется в один прекрасный момент страница, где указан apikey

Ясно, но поясните, какой толк от бесплатных 10 000 озвученных символов в месяц, если каждый пользователь по одному и тому же ключу, зашитому в советнике будет их расходовать? Их в миг не станет и лимит достигнется.

 
Nikolai Karetnikov:

т.е. я теперь понимаю, что в возращаемом потоке 


00000089 это служебная информация, но как сделать так, чтобы она игнорировалась, пока не понимаю

это 0x89 байт после строки - бинарные данные. Дальше или ещё одна часть (опять -же длина строкой, данные) или конец..

 
Maxim Kuznetsov:

это 0x89 байт после строки - бинарные данные. Дальше или ещё одна часть (опять -же длина строкой, данные) или конец..

да, да я понимаю, спасибо! )

Как попросить сервер, чтобы он не указывал размеры блоков, вот это сейчас и гуглю

 

Используйте стандартный план, который может окупиться. 0.02$ за 1000 символов. 

В этом случае, Вам не нужно искать хаки. Свяжитесь с их службой поддержки и объясните ситуацию. Если платформа МТ (вебреквест) поддержит и они помогут, - все может получиться.

 
Все это мне напоминает мою борьбу с функцией ResourceSave, которая беспощадно переписывала мои данные, если они не были пиксельным изображением. Я сохранял, открывал и копался в выходном файле, пытаясь понять, по каким алгоритмам она все ломает. Толку - ноль. Просто перестал использовать эту функцию.
 
Nikolai Karetnikov:

да, да я понимаю, спасибо! )

Как попросить сервер, чтобы он не указывал размеры блоков, вот это сейчас и гуглю

при сохранении в файл надо самому парсить контент. Ориентируясь на заголовки (ох уж эти заголовки) присланные сервером. Он-же говорит что за данные посылает и как их режет/формирует. 

WebRequest довольно низкоуровневая штука и там очень многое надо делать самому. Тот-же curl при сохранении файла разбирает контент присланный от сервера, а у нас такого шика нету :-)

 
Maxim Kuznetsov:

при сохранении в файл надо самому парсить контент. Ориентируясь на заголовки (ох уж эти заголовки) присланные сервером. Он-же говорит что за данные посылает и как их режет/формирует. 

WebRequest довольно низкоуровневая штука и там очень многое надо делать самому. Тот-же curl при сохранении файла разбирает контент присланный от сервера, а у нас такого шика нету :-)

тут вот упоминается нечто подобное 

Тоже размышляю в эту сторону. Сервис TTS не для коротких фраз придуман, а для постоянного потока. Ждать пока сформируется большой файл, скачивать его, так много времени пройдет и они кидаются в сторону клиента кусочками данных.  

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:

Используйте стандартный план, который может окупиться. 0.02$ за 1000 символов. 

В этом случае, Вам не нужно искать хаки. Свяжитесь с их службой поддержки и объясните ситуацию. Если платформа МТ (вебреквест) поддержит и они помогут, - все может получиться.

бесплатно их поддержка говорить не станет, тут Вы правы! :)

 
Nikolai Karetnikov:

бесплатно их поддержка говорить не станет, тут Вы правы! :)

Конечно) Это же их бизнес. Представьте, что Вы создали конвертер текста в аудио поток. К Вам обращаются интересующиеся и хотят бесплатно и бесперебойно принимать поток озвучивания своих текстов.  Сказать - "идите нафиг" они не могут - грубо, а сделать замаскированные, но жесткие ограничения, чтобы Вы помучились сначала пытаясь получить халяву от "лохов", а потом просто плюнули или заплатили - это пожалуйста.)))

Эти ребята не дураки!)))

 

Выяснилась причина непринятия chunked ответов от сервиса IBM:

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  

У них неправильное форматирование в заголовке ответа Transfer-Encoding, где поставили двойной пробел вместо одиночного. Протоколом это разрешено, а вот в нашем парсере такое не было учтено.

Поэтому мы неправильно воспринимали chunked/нарезанный поток и не могли дождаться его окончания.


В следующей бете будет исправление. Скорее всего сегодня.


Встроенный Text2Speech сервис мы запускали еще в платформе MetaQuotes примерно в 2002 году, но выпилили из-за плохой реализации. Скорее всего снова добавим его в виде штатного функционала как в терминал, так и в MQL5.