et encore dll et marché - page 22

 
Renat Fatkhullin:

J'ai découvert pourquoi les réponses en morceaux du service IBM ne sont pas acceptées :

Le formatage de l'en-tête de réponse Transfer-Encoding était incorrect : un double espace au lieu d'un espace simple. Le protocole le permet, mais notre analyseur syntaxique ne l'a pas pris en compte.

C'est pourquoi nous avons mal interprété le flux en tranches et ne pouvions pas attendre qu'il se termine.


Il y aura un correctif dans la prochaine bêta. Très probablement aujourd'hui.


Nous avons lancé un service Text2Speech intégré à la plate-forme MetaQuotes vers 2002, mais il a été mis au rebut en raison d'une mauvaise mise en œuvre. Très probablement, elle sera ajoutée au terminal et à MQL5 comme une fonctionnalité standard.

C'est la manière virile !

J'étais trop excité par le cacao :)

 
Nikolai Karetnikov:

C'est viril !

J'ai été un peu excité par le cacao :)

Mais, pour vous, le problème restera jusqu'à l'intégration standard TEXT TO SPEECH. Soit 10 000 caractères pour TOUS les utilisateurs de votre EA, soit un plan payant d'IBM pour 0,02 $/1000 mots. Que faire de l'article alors ? Que ferez-vous, si ce n'est pas un secret ?

 

Voici un script qui fonctionne :

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   char    post[],result[];
   string  url="https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST";
   string  headers="Authorization: Basic YXBpa2V5OkdSMWJiM3pWTXM5ZmNOS0w2cEE5LTV6ajlwdFdsaUN1NmVoOW91cFVucFpC\r\n";
   string  result_headers;
   int     status;
//---
   status=WebRequest("GET",url,headers,100000,post,result,result_headers);
   if(status==-1)
     {
      Print("Ошибка в WebRequest. Код ошибки  =",GetLastError());
      //---
      StringSetLength(url,StringFind(url,"/",8));
      MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION);
     }
   else
     {
      if(status==200)
        {
         //--- успешная загрузка
         PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result));
         PrintFormat("Заголовки сервера: %s",result_headers);
         //--- сохраняем данные в файл
         int filehandle=FileOpen("result.ogg",FILE_WRITE|FILE_BIN);
         if(filehandle!=INVALID_HANDLE)
           {
            //--- сохраняем содержимое массива result[] в файл
            FileWriteArray(filehandle,result,0,ArraySize(result));
            //--- закрываем файл
            FileClose(filehandle);
           }
         else
            Print("Ошибка в FileOpen. Код ошибки =",GetLastError());
        }
      else
         PrintFormat("Ошибка загрузки '%s', код %d",url,status);
     }
  }
 
Renat Fatkhullin:

Voici un script qui fonctionne :

le script charge un fichier result.ogg.

seulement, ce n'est pas clair, quel est ce fichier ? comment l'écouter ?

Je l'ai essayé dans un format différent.

Instantané1

Instantané2

 
Alexsandr San:

le script charge un fichier result.ogg.

mais ce n'est pas clair, quel est ce fichier ? comment puis-je l'écouter ?

Je l'ai essayé dans un format différent.


et voici un texte brut de deux mots anglais (Traders Forum.txt)

Photo par

Instantané3

Dossiers :
 

Je comprends qu'il est possible d'envoyer (fichier.txt) et de le recevoir au format (fichier.wav)

------------------------------------------

voici le script WebRequest.mq5 dansWebRequest.wav

Shot4

Photo 5

Dossiers :
WebRequest.zip  5806 kb
 
Alexsandr San:
J'ai cru comprendre que vous pouviez vous arranger pour envoyer (fichier.txt) et le recevoir au format (fichier.wav).

Pour l'instant, cela n'est pas très rentable. En d'autres termes, le service d'IBM envoie des fichiers qui ne sont pas encore lisibles par WebRequest (cela devrait être corrigé prochainement), mais même lorsqu'ils le sont, l'utilisation gratuite du service desynthèse vocale est limitée à 10 000 caractères par mois. C'est-à-dire qu'ils convertiront un petit paragraphe et c'est tout. Il existe une option payante (pour ceux qui en ont vraiment besoin). Peut-être que si vous trouvez un service de doublage de texte gratuit et sans restrictions, vous pourrez essayer de vous réconcilier à nouveau. Mais je ne pense pas qu'il y en ait...

Nous sommes rassurés par la mise en œuvre de lasynthèse vocale dans les terminaux et les langues, ce qui serait certainement formidable pour les développeurs d'IA, mais cela prendra du temps. Je pense qu'il est préférable d'attendre maintenant...

 
Alexsandr San:

le script charge un fichier resultat.ogg.

La bêta 2472 est déjà disponible et elle fonctionne avec le service IBM.

Ce service ne produit pas de fichiers au format wav, mais au format ogg.

 
google can wav et 4m de caractères gratuits (ou 1m avec traitement réseau) par mois
 
Renat Fatkhullin:

Voici un script qui fonctionne :

Oui ! )