设为首页 加入收藏

TOP

花样试用微软语音服务晓晓(二)
2019-09-17 19:08:00 】 浏览:58
Tags:花样 试用 微软 语音服务
.ReadAsStreamAsync()) { stream.Position = 0; Console.WriteLine("正在下载语音文件 {0} ...", fileName); using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { await stream.CopyToAsync(fs); fs.Close(); } } Console.WriteLine("文本转换语音成功"); Console.WriteLine("===============\n"); } }

这段代码也非常的简单,首先是构造一个 SSML 文件格式的 Body,并在请求头中加入 AuthToken 还有其它的一些头部标识,然后就开始正式的请求语音文件,最后将合成好的语音文件保存到本地。

2.3 开始调用过程
        static void Main(string[] args)
        {
            var result = GetTokenAsync().ConfigureAwait(false).GetAwaiter();
            string token = result.GetResult();

            var text1 = "你好,我是来自博客园的技术爱好者 Ron Liang;很高兴可以试用 Speech,希望一切顺利。";
            var task1 = RequestSSML(token, text1, "1.wav");
            task1.ConfigureAwait(false).GetAwaiter().GetResult();

            var text2 = "小哥哥,来一发<prosody rate=\"-40.00%\" volume=\"-80.00%\" duration=\"1.5s\">吗?</prosody>";
            var task2 = RequestSSML(token, text2, "2.wav");
            task2.ConfigureAwait(false).GetAwaiter().GetResult();

            var text3 = "蒿嗨偶,肝绝忍僧衣襟捣打的高草,肝绝忍僧衣襟捣打了巅峰。蒿赠寒,蒿朵母,蒿悬猜。";
            var task3 = RequestSSML(token, text3, "3.wav");
            task3.ConfigureAwait(false).GetAwaiter().GetResult();

            Console.WriteLine("按任意键退出");
            Console.ReadKey();
        }

上面有3段文本,对应合成3段语音,1和3是纯粹捣乱的,第二段文本中加入了SSML标记prosody,其属性表示:rate=-40%(降低语速),volume=80%(降低音量),duration=1.5s(延时1.5s)

2.3 按 F5 运行程序

非常完美的运行成功,我们得到了3个语音文件,分别是:

  • 正常版:
  • 你好,我是来自博客园的技术爱好者 Ron Liang;很高兴可以试用 Speech,希望一切顺利。




  • 撩人版:
  • 小哥哥,来一发 吗?




  • 方言版:
  • 蒿嗨偶,肝绝忍僧衣襟捣打的高草,肝绝忍僧衣襟捣打了巅峰。蒿赠寒,蒿朵母,蒿悬猜。




结束语

整体来说,在普通的语境环境下,晓晓的表现还是不错的,整体令人满意,但是在自定义 SSML 的时候,就非常的麻烦,我调整了不下30分钟,都没有达到一个令人满意的结果;当然,晓晓还有别的优点,比如可以自定义语音字体,你可以请声优来训练专业你自己的语音字体,只为你一个人服务。

代码托管在GitHub上了
https://github.com/lianggx/Examples/tree/master/MySpeechApp

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇11.翻译系列:在EF 6中配置一对零.. 下一篇基于Log4Net本地日志服务简单实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目