Example #1
0
        public Task <IList <SsmlUnit> > GenerateAsync(string text)
        {
            var metaText       = MetaText.CreateMetaText(text, _textSpliter.SplitText);
            var analyzeResults = new List <TextAnalyzeResult>();

            //todo: parallel the analyze step
            foreach (var type in _analyzeResultProcessOrder)
            {
                if (!_analyzerDict.TryGetValue(type, out var analyzer))
                {
                    continue;
                }

                try
                {
                    analyzeResults.Add(analyzer.AnalyzeText(metaText));
                }
                catch (Exception)
                {
                    //ignore for now todo: add log here
                }
            }

            return(GenerateAsync(metaText, analyzeResults));
        }