Тю я то думал.....
Дело в том что я оказался пользователем Алисы в течении года и когда знаешь как с ней обращаться, какие команды ей давать тогда становится реально удобно делать те или иные дела. НО реально было бы прикольно научить Алису открывать позиции, закрывать или переворачиваться по голосовой команде. Так и вижу: "Алиса открой позицию на покупку в размере одного лота по инструменты Si" и она такая "Слушаюсь и повинуюсь мой господин", "Позиция открыта". Вот это было бы круто, а не Ваше это всё....
Тю я то думал.....
Дело в том что я оказался пользователем Алисы в течении года и когда знаешь как с ней обращаться,
И как-же с ней обращаться, если в машине сидит племянница по имени Алиса и когда что-то ей говоришь, эта неодушевлённая идиотка встревает в разговор… Как эту дуру научить не встревать в чужие разговоры?
Тю я то думал.....
Дело в том что я оказался пользователем Алисы в течении года и когда знаешь как с ней обращаться, какие команды ей давать тогда становится реально удобно делать те или иные дела. НО реально было бы прикольно научить Алису открывать позиции, закрывать или переворачиваться по голосовой команде. Так и вижу: "Алиса открой позицию на покупку в размере одного лота по инструменты Si" и она такая "Слушаюсь и повинуюсь мой господин", "Позиция открыта". Вот это было бы круто, а не Ваше это всё....
вы слишком далеко глядите, хотя бы пусть научится сообщать что то
ссылку выше давал -
это больше не озвучивает
string url="https://texttospeech.googleapis.com/v1/text:synthesize?key=AIzaSyCaLxPh84wXpLkT-zOE04MlvHj3JhLXU0w";
попробовал внести изменения на так string url="https://texttospeech.ru/";
что то нужно ещё прописать !?
//+------------------------------------------------------------------+ //| Реter Konow.mq5 | //| Copyright 2021, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #include <JAson.mqh> //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- char result[]; char post[]; string url="https://texttospeech.ru/"; string headers; string result_headers; int status; string jsonbody; headers = "Content-Type: application/json"; jsonbody = "{\"input\":{\"text\":\"one, two\"},\"voice\":{\"languageCode\":\"en-gb\",\"name\":\"en-GB-Wavenet-B\"},\"audioConfig\":{\"audioEncoding\":\"LINEAR16\"}}"; jsonbody = "{\"input\":{\"text\":\"раз, два, три, четыре, пять, вышел зайчик погулять\"},\"voice\":{\"languageCode\":\"ru-RU\",\"name\":\"ru-RU-Wavenet-B\"},\"audioConfig\":{\"audioEncoding\":\"LINEAR16\"}}"; int q = StringToCharArray(jsonbody,post,0,-1,CP_UTF8); ArrayResize(post, q - 1); status=WebRequest("POST",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) { CJAVal CJasonResult; string lBase64String; char lBase64ResultArray[]; char lBinaryDataArray[]; char lkey[1]; CJasonResult.Deserialize(result); lkey[0]=0; lBase64String = CJasonResult["audioContent"].ToStr(); StringToCharArray(lBase64String,lBase64ResultArray,0,StringLen(lBase64String)); CryptDecode(CRYPT_BASE64,lBase64ResultArray,lkey,lBinaryDataArray); //--- успешная загрузка PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result)); PrintFormat("Заголовки сервера: %s",result_headers); //--- сохраняем данные в файл int filehandle=FileOpen("result.wav",FILE_WRITE|FILE_BIN); if(filehandle!=INVALID_HANDLE) { //--- сохраняем содержимое массива result[] в файл FileWriteArray(filehandle,lBinaryDataArray,0,ArraySize(result)); //--- закрываем файл FileClose(filehandle); PlaySound("\\Files\\result.wav"); } else Print("Ошибка в FileOpen. Код ошибки =",GetLastError()); } else PrintFormat("Ошибка загрузки '%s', код %d",url,status,result_headers); } } //+------------------------------------------------------------------+
надо только ещё этоJAson.mqh
- texttospeech.ru
ссылку выше давал -
это больше не озвучивает
попробовал внести изменения на так string url="https://texttospeech.ru/";
что то нужно ещё прописать !?
надо только ещё этоJAson.mqh
кто заинтересовался - ещё нужно в настройках разрешить адрес
вообще не согласен и вот по каким причинам:
1. советник должен работать всегда и не зависить от внешних сервисов, то есть отправил данные - произнесла колонка - хорошо, нет - ну и пофик,
у вас же сначала создается wav файл с помощью внешнего интернет ресурса, а потом оно воспроизводится, тогда уж правильнее заранее нагенерировать wav файлы и тупо их воспроизводить, у меня кстати так и сделано
2. ваше решение - вообще не решение, поскольку робот работает на удаленном сервере, а человек не всегда к нему подключен ... потому wav вообще не решает проблемы
внешний сервис TextToSpeech это неспортивно на сайте разработчиков (и тем паче) пользователей питона. А для торговых программ вообще противопоказано - нельзя им просто так в сеть лазить.
Быстрый поиск в яндексе даёт прекрасную вещь: https://github.com/snakers4/silero-models#text-to-speech
(и пара статей на хабре от авторов: https://habr.com/ru/post/549480/ и https://habr.com/ru/post/563484/)
остаётся только прикрутить питон к mql5 :-)
делитесь историями успеха !
- github.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования