服务器之家

服务器之家 > 正文

使Linux终端朗读文字的小技巧分享

时间:2019-09-04 13:43     来源/作者:开源中文社区

对于那些不能文字朗读的设备,有个小工具可以实现文字说话的转换器。用各种语言写一些东西,espeak就可以朗读给你。

系统应该默认安装了Espeak,如果你的系统没有安装,你可以使用下列命令来安装:

 

复制代码
代码如下:
# apt-get install espeak (Debian)
# 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复制内容到剪贴板
  1. #include <espeak/speak_lib.h>  // 包括espeak的头文件   
  2. #include <string.h>   
  3. #include <unistd.h>   
  4.   
  5. int main(int argc, char **argv)   
  6. {   
  7.     char word[] = "吃葡萄不吐葡萄皮";   
  8.     espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, NULL, 0);    // 初始化   
  9.     espeak_SetVoiceByName("zh+f2");    // 设置音源为中文女声   
  10.     espeak_Synth(word, strlen(word) + 1, 0, POS_CHARACTER, 0,   
  11.                     espeakCHARS_UTF8, NULL, NULL);        // 发音   
  12.     sleep(3);     // 等一段时间,否则程序会立即退出,听不到发音   
  13.     espeak_Terminate();  // 回收资源   
  14. }  

 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
逃跑吧少年怎么卡皮肤 逃跑吧少年卡永久皮肤技巧
逃跑吧少年怎么卡皮肤 逃跑吧少年卡永久皮肤技巧 2019-06-21
返回顶部