e novamente dll e mercado - página 22

 
Renat Fatkhullin:

Descobriu porque as respostas em pedaços do serviço da IBM não são aceitas:

Eles tinham uma formatação incorreta no cabeçalho de resposta Transfer-Encoding, onde colocaram um espaço duplo em vez de um único espaço. O protocolo permite isso, mas nosso analisador não o levou em conta.

É por isso que lemos mal o fluxo em pedaços/folha e não podíamos esperar que ele terminasse.


Haverá uma correção no próximo beta. O mais provável hoje.


Lançamos um serviço Text2Speech incorporado na plataforma MetaQuotes por volta de 2002, mas ele foi expulso devido à má implementação. Muito provavelmente, ele será adicionado ao terminal e à MQL5 como funcionalidade padrão.

Esta é a maneira masculina!

Eu estava muito entusiasmado com o cacau :)

 
Nikolai Karetnikov:

isso é másculo!

Eu fiquei um pouco excitado com o cacau :)

Mas, para você, o problema permanecerá até a integração padrão TEXTO A FALAR. Ou 10.000 caracteres para TODOS os usuários de sua EA, ou um plano pago da IBM por $0,02/1000 palavras. O que fazer com o artigo, então? O que você vai fazer, se não for um segredo?

 

Aqui está um roteiro de trabalho:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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:

Aqui está um roteiro de trabalho:

o script carrega algum arquivo result.ogg.

só que não está claro, que tipo de arquivo é? como escutá-lo?

Eu experimentei em um formato diferente.

Instantâneo1

Instantâneo2

 
Alexsandr San:

o script carrega algum arquivo result.ogg.

só que não está claro, o que é este arquivo ? como posso ouvi-lo ?

Eu experimentei em um formato diferente.


e aqui estou um texto simples de duas palavras em inglês (Traders Forum.txt)

Foto por

Instantâneo3

Arquivos anexados:
 

Entendo que é possível enviar (file.txt) e recebê-lo em formato (file.wav)

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

aqui está o script WebRequest.mq5 emWebRequest.wav

Tiro4

Figura5

Arquivos anexados:
WebRequest.zip  5806 kb
 
Alexsandr San:
Entendo que você poderia, de alguma forma, organizar o envio (file.txt) e o recebimento no formato (file.wav)

No momento, isto não é muito econômico. Ou seja, o serviço da IBM envia arquivos que ainda não são legíveis pelo WebRequest (devem ser corrigidos em breve), mas mesmo quando o são, o uso gratuito do serviçoTexto para Discurso é limitado a 10.000 caracteres por mês. Ou seja, eles vão converter um pequeno parágrafo e pronto. Existe uma opção paga (isto é para aqueles que realmente precisam dela). Talvez se você encontrar um serviço gratuito de dublagem de texto sem restrições, você possa tentar fazer tudo de novo. Mas acho que não há nenhum...

Estamos tranquilos com a introdução doTexto para Discurso em terminal e linguagem, o que certamente seria lindo para os desenvolvedores de IA, mas, levará tempo. Imho, é melhor esperar agora...

 
Alexsandr San:

o script carrega algum arquivo result.ogg.

Beta 2472 já está disponível e funciona com o serviço da IBM.

Este serviço não emite arquivos em formato wav, mas em formato ogg.

 
o google pode acenar e 4m caracteres livres (ou 1m com processamento de rede) por mês
 
Renat Fatkhullin:

Aqui está um roteiro de trabalho:

Sim! )