Linux报时程序 Linux Speak Time

一直想给自己的linux加个自动报时软件,一直都没空,最近好不容易闲下来就研究了一下。本身Linux有个espeak,但是espeak的语言很难听,于是我就去网上找了几个tts引擎。后来发现NeoTTS这家和oddcast不错,语音清晰自然,研究了一下oddcast要找到接口比较麻烦些,而NeoSpeech很简单就是url请求,之后会返回发生的语音文件。
http://www.neospeech.com/GetAudio1.ashx?speaker= &content=
speaker是人物编号,你可以在Demo Now里选择一个人物然后点play用firebug或者抓包软件看他的请求地址,找到speaker的编号。而content就是发声的内容。
有了这个接口我们就可以让电脑发出我们想要的声音了。但是要让linux播音频先要装个播放器,我这里推荐mplayer

sudo yum install mplayer
sudo apt-get install mplayer

之后只要用

mplayer [url]

就可以播放internet上的音频文件了。
比如我们让电脑say Hi :

mplayer 'http://www.neospeech.com/GetAudio1.ashx?speaker=103&content=Hi'

是不是听到一个清脆的女生说Hi?
现在要让他报时,我们只要获取到系统的时间并调用这条命令就可以了,以下是我用python写的个脚本,当然你可以用bash,perl其他你喜欢的语言来写

#-*- coding: utf-8 -*-
#!/usr/bin/env python

import os, time

hour = int( time.strftime('%l',time.localtime(time.time())) )
minute = int( time.strftime('%M',time.localtime(time.time())) )
P = time.strftime('%p',time.localtime(time.time()))

cmdstr = "mplayer 'http://www.neospeech.com/GetAudio1.ashx?speaker=103
&content= The Time ,is ," + str(hour) + " , " + str(minute) + " , " + P + "'"
os.system(cmdstr)

把它保存为Time.py运行这个脚本就会听到当前的时间,挺不错的吧?
你可以在~/.bashrc里写入

alias timeNow = '/PathToScript/python time.py'

PathToScript是你存放time.py文件的目录
这样每次输入命令timeNow系统就会报时,还可以写个脚本每过一段时间报时一次,还可以判断倘若是早上就说good morning,中午good afternoon……
只要你想得到的都可以做哈!

Comments

Popular posts from this blog

socket close shutdown函数区别

批量在文件头插入

hash表取模技巧