首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以root用户身份运行ruby-espeak?

如何以root用户身份运行ruby-espeak?
EN

Stack Overflow用户
提问于 2012-10-07 07:19:05
回答 2查看 2.4K关注 0票数 2

我正在创建一个基于ruby的应用程序,我希望它能说出一些文本。到目前为止,我使用的是espeak:

代码语言:javascript
复制
fork{exec ("espeak 'New file located #{timelog.hour} #{timelog.min}' \" > /dev/null")}

这在我以普通用户身份运行时有效,但我需要以root用户身份运行此脚本。当它以root用户身份运行时,我得到:

代码语言:javascript
复制
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

为什么我不能以root用户身份运行这个脚本?另外,有没有其他方法可以让我的ruby脚本执行TTS (文本到语音)?

添加:我甚至尝试了节日,当我运行它时,即使作为普通用户也没有任何反应。

代码语言:javascript
复制
require "rubygems"
require "festivaltts4r"
"I'm talking".to_speech

(宝石榜)红宝石1.9

代码语言:javascript
复制
bigdecimal (1.1.0)
clickatell (0.8.2)
espeak-ruby (0.4.0)
festivaltts4r (0.2.0)
ffi (1.1.5)
hoe (3.1.0)
io-console (0.3)
json (1.5.4)
minitest (2.5.1)
nice-ffi (0.4)
rake (0.9.2.2)
rdoc (3.9.4)
ruby-sdl-ffi (0.4)
rubygame (2.6.4)
sms_fu (1.1.2)
tts (0.3.0)

操作系统:OpenSuse

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-07 20:10:49

找到了解决方案,运行su而不是sudo,它工作了("espeak"),这是感谢所有你的帮助StackoverFlow社区;>

票数 0
EN

Stack Overflow用户

发布于 2013-09-25 22:36:27

这个技巧有点俗气,但如果你有一台mac电脑,它应该能行得通。

make可以在命令行中使用' say‘命令说出一些事情。因此;

代码语言:javascript
复制
$ say 'hello world' 

会让电脑说出这些话。此命令也可以从Ruby via发送;

代码语言:javascript
复制
%x( say 'hello world' ) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12764710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档