用TTS实现文本转语音
最近被toefl单词虐成狗::>_<::
想做一个可以自动把单词转成语音的软件,这样就可以在路上戴耳机边走边听啦~
用微软的TTS语音库可以很容易地实现。早期的TTS要想实现中英文混合朗读还很麻烦,然而Win10里自带的新版SDK已经解决了这个问题。可以自动识别出中文和英文。这点超赞~
注意:如果用的是英文版系统,需要先安装中文Speech Library
然后在控制面板--语音识别选项里可以看到这个新的语音库:
进入VS,新建一个C#工程,然后在Solution Explorer----References上右键,Add References,添加如下选项:
实现文本转语音有两种Library,System.Speech或者SpeechLib。这里我用的SpeechLib
基本的朗读功能实现如下:
SpVoice voice = new SpVoice(); voice.Rate = 0; //语速,[-10,10] voice.Volume = 100; //音量,[0,100] voice.Voice = voice.GetVoices().Item(2); //语音库 voice.Speak("中文speech");
但是为了在手机上播放,仅仅让它读出来还不够....最好能保存到音频文件
可以用SpeechLib自带的类: SpeechLib.SpFileStream sfs=new SpeechLib.SpFileStream();
还要注意一个问题:
NT系统默认是Unicode编码,而TXT文件默认是ANSI编码。这样会导致txt文件中的中文识别不出来。解决方法是在StreamReader中自定义编码
StreamReader reader = new StreamReader(FileName, System.Text.Encoding.Default)
自制了一个小Demo:
单击Select File,通过打开对话框打开txt文件
单击Read,将文本自动转语音,并保存到D:\233.mp3文件 【懒得写保存对话框啦
posted on 2015-09-23 12:20 Pentium.Labs 阅读(3885) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件