private JsonObject[] RequestTTS(L2FVoice voice, string text)
        {
            using (var client = new HttpClient())
            {
                client.Timeout = TimeSpan.FromSeconds(15);
                var values = new Dictionary <string, string>()
                {
                    { "task", "echo" },
                    { "lang", voice.Culture },
                    { "v", voice.Name },
                    { "q", text }
                };

                var content  = new FormUrlEncodedContent(values);
                var response = client.PostAsync(TTS_URL, content).Result;
                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception("fail");
                }

                var str   = response.Content.ReadAsStringAsync().Result;
                var data  = (JsonObject)JsonParser.Parse(str);
                var array = (JsonArray)data["ttsresults"];
                if (array.Count == 0)
                {
                    return(null);
                }
                return(array.Cast <JsonObject>().ToArray());
            }
        }
        private JsonObject[] RequestTTS(L2FVoice voice, string text)
        {
            using (var client = new HttpClient())
            {
                client.Timeout = TimeSpan.FromSeconds(15);
                var values = new Dictionary<string, string>()
                {
                    {"task", "echo"},
                    {"lang", voice.Culture},
                    {"v", voice.Name},
                    {"q", text}
                };

                var content = new FormUrlEncodedContent(values);
                var response = client.PostAsync(TTS_URL, content).Result;
                if (!response.IsSuccessStatusCode)
                    throw new Exception("fail");

                var str = response.Content.ReadAsStringAsync().Result;
                var data = (JsonObject)JsonParser.Parse(str);
                var array = (JsonArray)data["ttsresults"];
                if (array.Count == 0)
                    return null;
                return array.Cast<JsonObject>().ToArray();
            }

            //if (results.Length == 1)
            //{
            //	var r2 = results[0];
            //	r2["url"] = new JsonArray() { r2["url"] };
            //	return r2;
            //}

            //return results.Aggregate((j1, j2) =>
            //{
            //	if(DELAY_BETWEEN_FRASES>0)
            //		((JsonArray)j1["phones"]).Add(new JsonString("@"));
            //	((JsonArray)j1["phones"]).AddRange((JsonArray)j2["phones"]);

            //	if (DELAY_BETWEEN_FRASES > 0)
            //		((JsonArray)j1["times"]).Add(new JsonNumber(DELAY_BETWEEN_FRASES));
            //	((JsonArray)j1["times"]).AddRange((JsonArray)j2["times"]);

            //	var token = j1["url"];
            //	var a = token as JsonArray;
            //	if (a == null)
            //	{
            //		a = new JsonArray {token};
            //		j1["url"] = a;
            //	}
            //	a.Add(j2["url"]);
            //	return j1;
            //});
        }