使Linux终端朗读文字的小技巧分享
发布日期:2022-02-06 11:04 | 文章来源:站长之家
对于那些不能文字朗读的设备,有个小工具可以实现文字说话的转换器。用各种语言写一些东西,espeak就可以朗读给你。
系统应该默认安装了Espeak,如果你的系统没有安装,你可以使用下列命令来安装:
复制代码
代码如下:# apt-get install espeak(Debian)
# yum install espeak (CentOS)
# dnf install espeak (Fedora 22 及其以后)
# yum install espeak (CentOS)
# dnf install espeak (Fedora 22 及其以后)
你可以让espeak接受标准输入的交互输入并及时转换成语音朗读出来。如下:
复制代码
代码如下:$ espeak [按回车键]
更详细的输出你可以这样做:
复制代码
代码如下:$ espeak --stdout | aplay [按回车键][再次回车]
espeak设置灵活,也可以朗读文本文件。你可以这样设置:
复制代码
代码如下:$ espeak --stdout /path/to/text/file/file_name.txt | aplay [Hit Enter]
espeak可以设置朗读速度。默认速度是160词每分钟。使用-s参数来设置。
设置每分钟30词的语速:
复制代码
代码如下:$ espeak -s 30 -f /path/to/text/file/file_name.txt | aplay
设置每分钟200词的语速:
复制代码
代码如下:$ espeak -s 200 -f /path/to/text/file/file_name.txt | aplay
你可以使用各种语言,让espeak如上面说的以你选择的语言朗读。使用下列命令来获得语言列表:
复制代码
代码如下:$ espeak --voices
下面再来分享一段C语言程序中调用espeak的示例:
C/C++ Code复制内容到剪贴板
- #include<espeak/speak_lib.h>//包括espeak的头文件
- #include<string.h>
- #include<unistd.h>
- intmain(intargc,char**argv)
- {
- charword[]="吃葡萄不吐葡萄皮";
- espeak_Initialize(AUDIO_OUTPUT_PLAYBACK,0,NULL,0);//初始化
- espeak_SetVoiceByName("zh+f2");//设置音源为中文女声
- espeak_Synth(word,strlen(word)+1,0,POS_CHARACTER,0,
- espeakCHARS_UTF8,NULL,NULL);//发音
- sleep(3);//等一段时间,否则程序会立即退出,听不到发音
- espeak_Terminate();//回收资源
- }
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章