Example #1
0
        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();
        }
Example #2
0
        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);
        }