public void Text2Speech() { string Text = Request.QueryString["text"]; string Lang = Request.QueryString["lang"]; if (string.IsNullOrEmpty(Text) || string.IsNullOrEmpty(Lang)) { Response.Clear(); Response.Flush(); Response.End(); return; } TTSpeech tts = new TTSpeech(Text, Lang); byte[] voiceByte = tts.GetSpeech(); if (tts.speechStream != null) { Response.Clear(); Response.AddHeader("Content-Length", voiceByte.Length.ToString()); Response.AddHeader("Content-Disposition", "attachment; filename=speech.wav"); Response.OutputStream.Write(voiceByte, 0, voiceByte.Length); Response.Flush(); Response.End(); } else { Response.Clear(); Response.Flush(); Response.End(); } }
public HttpResponseMessage TextToSpeech(TTSpeech obj) { tokenService = new TokenService(); try { string requestUri = "https://speech.platform.bing.com/synthesize"; string accessToken = tokenService.GetToken(); var cortana = new Synthesize(); string name = cortana.VoiceServiceName(obj.Locale); cortana.OnAudioAvailable += PlayAudio; cortana.Speak(CancellationToken.None, new Synthesize.InputOptions() { RequestUri = new Uri(requestUri), Text = obj.OutputText, Locale = obj.Locale, //VoiceName =cortana.VoiceServiceName(speechObj.Locale), VoiceName = name, OutputFormat = AudioOutputFormat.Riff24Khz16BitMonoPcm, AuthorizationToken = "Bearer " + accessToken, }).Wait(); var response = Request.CreateResponse(HttpStatusCode.OK); return(response); } catch (Exception ex) { var response = Request.CreateResponse(HttpStatusCode.BadRequest); return(response); } }
//void ConfigureButtons() //{ // prevBtn.IsVisible = App.RecipeViewModel.Position > 0; // nextBtn.IsVisible = _vm.Position < _vm.ItemsSource?.Count - 1; //} //public void PositionSelected(object sender, int position) //{ // ConfigureButtons(); // Debug.WriteLine("Position " + myCarousel.Position + " selected"); //} //public void OnPrev(object sender, TappedEventArgs e) //{ // if (stepCarousel.Position > 0) // stepCarousel.Position--; //} public void OnPlay(object sender, TappedEventArgs e) { var instructionItem = sender as Label; var toSpeak = instructionItem.Text; var ts = new TTSpeech(); ts.Speak(toSpeak); }
private void OnInstructionSelected(object sender, SelectedItemChangedEventArgs e) { var instructionItem = e.SelectedItem as Step; var toSpeak = instructionItem.Instruction; var ts = new TTSpeech(); ts.Speak(toSpeak); }
public async Task ComputeWithVoiceReturn(System.Net.Http.HttpRequestMessage request) { string Lang = "en-US"; string Text = ""; string uploadFileName = Request.Files[0].FileName; if (string.IsNullOrEmpty(uploadFileName)) { Text = "can't find upload media file"; } else { try { ImageVision imageV = new ImageVision(Request.Files[0].InputStream); Text = await imageV.Compute(); } catch (Exception ex) { Text = ex.Message; } } TTSpeech tts = new TTSpeech(Text, Lang); byte[] voiceByte = tts.GetSpeech(); if (tts.speechStream != null) { Response.Clear(); Response.AddHeader("Content-Length", voiceByte.Length.ToString()); Response.AddHeader("Content-Disposition", "attachment; filename=speech.wav"); Response.OutputStream.Write(voiceByte, 0, voiceByte.Length); Response.Flush(); Response.End(); } else { Response.Clear(); Response.Flush(); Response.End(); } }
public async Task VerificationWithVoiceReturn(System.Net.Http.HttpRequestMessage request) { string Lang = "en-US"; string Text = ""; if (Request.Form["lang"] != null) { Lang = Request.Form["lang"].ToString(); } string uploadFileName = Request.Files[0].FileName; if (string.IsNullOrEmpty(uploadFileName)) { if (Lang == "zh-TW") { Text = "找不到上傳相片"; } else { Text = "can't find upload media file"; } } else { try { FamilyModel faceDetect = new FamilyModel(Request.Files[0].InputStream); FamilyVerifyResult result = await faceDetect.Verification(); if (result.IsIdentical) { if (Lang == "zh-TW") { Text = "你是家人, " + result.memberName + ". 信心指數 : " + result.Confidence; } else { Text = "You are family, " + result.memberName + ". Confidence : " + result.Confidence; } } else { if (Lang == "zh-TW") { Text = "你不是家人"; } else { Text = "You are Not family"; } } } catch (Exception) { if (Lang == "zh-TW") { Text = "無法辨識相片裡的臉孔"; } else { Text = "Can't identify Image Face"; } } } TTSpeech tts = new TTSpeech(Text, Lang); byte[] voiceByte = tts.GetSpeech(); if (tts.speechStream != null) { Response.Clear(); Response.AddHeader("Content-Length", voiceByte.Length.ToString()); Response.AddHeader("Content-Disposition", "attachment; filename=speech.wav"); Response.OutputStream.Write(voiceByte, 0, voiceByte.Length); Response.Flush(); Response.End(); } else { Response.Clear(); Response.Flush(); Response.End(); } }