public void buttonTranscribe_OnClick(object sender, System.EventArgs e) { textBoxIPA.Text = ""; string phrase = textBoxOrthography.Text; IpaTranscriber.IpaTranscriber ipa = new IpaTranscriber.IpaTranscriber(); var regex = new Regex(@"\b[\s,\.-:;]*"); //var phrase = "I am a student"; var words = regex.Split(phrase.ToLower()).Where(x => !string.IsNullOrEmpty(x)); string phrase_ipa = ""; ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.SetCancelable(true); progressDialog.SetMessage("Transcribing to IPA..."); progressDialog.SetProgressStyle(ProgressDialogStyle.Horizontal); progressDialog.Progress = 0; progressDialog.Max = 100; progressDialog.Show(); // define and run background thread new Thread(new ThreadStart(delegate { int wordcount = words.Count(); int wordweight = (int)Math.Floor(100.0 / wordcount); foreach (var word in words) { progressDialog.Progress += wordweight; //string result = ipa.Transcribe("effect", "noun"); phrase_ipa += ipa.Transcribe(word) + " "; } progressDialog.Progress = 100; progressDialog.SetMessage("Transcription complete."); RunOnUiThread(() => { phrase_ipa = "/" + phrase_ipa.Trim() + "/"; textBoxIPA.Text = phrase_ipa; progressDialog.Hide(); }); })).Start(); }
public string TranscribePhrase(string phrase) { IpaTranscriber ipa = new IpaTranscriber(); var regex = new Regex(@"\b[\s,\.-:;]*"); //var phrase = "I am a student"; var words = regex.Split(phrase.ToLower()).Where(x => !string.IsNullOrEmpty(x)); string phrase_ipa = ""; foreach (var word in words) { //string result = ipa.Transcribe("effect", "noun"); phrase_ipa += ipa.Transcribe(word) + " "; } //Assert.AreEqual(result, "'ɪ,fɛkt"); phrase_ipa = "/" + phrase_ipa.Trim() + "/"; return(phrase_ipa); }