
我在运行完全正常的terminal从linux运行espeak。 我的问题是,我想从PHP运行espeak(在xampp)。
<?PHP $a="espeak sometext"; system($a); ?>
但是这不起作用,并没有产生任何声音
在windows中,这个东西是工作绝对好espeak命令行程序在CMD中调用的PHP脚本的代码是
<?PHP $a='espeak "your text"'; system($a); ?>
你们可以帮我在linux中运行这个程序吗? 提前致谢。
文本到语音转换器
现实的免费TTS节目
如何访问线程之外的线程数据
如何在C ++中为Festival TTS设置参数
Java文本来说话我不能让它谈
需要用于linux的文本到语音识别工具
windows RT /通用应用程序,文本到语音“保存为MP3”
sspeak在windows和linux上的PHP(在线文本到语音)
我在哪里可以下载Microsoft Speech SDK 5.4
使用SAPI.H – 为什么我的程序只说第一个字?
这个espeak不能在系统命令的帮助下使用,因为系统命令只能在不在客户端计算机上的服务器上执行。 换句话说,如果你的服务器有声卡,它将在服务器中播放声音。 唯一的选择是你必须使用跛脚指南在egudIEdog.net给出
使用shell_exec()函数而不是在liNUX中使用系统
<?PHP $a='espeak "your text"'; shell_exec($a); ?>
你可以尝试这样的事情,你可以改变参数(语音)根据你的需要,如果支持espeak。 这是用于希腊语言测试。 你也可能想检查这个答案 。
if (strtoupper(substr(PHP_OS,3)) === 'WIN') { define('ESPEAK','C:pathtoeSpeakcommand_lineespeak'); define('LAME','C:pathtoeSpeakcommand_linelame'); } else { define('ESPEAK','/usr/bin/espeak'); define('LAME','/usr/bin/lame'); } $text = 'This is a test'; $voice = "mb-gr2"; $speed_delta = 0; $speed = 145; $pitch = 90; $volume = 100; $filename = date("YmdHis").'.mp3'; $text = escapeshellarg($text); if (!file_exists($filename)) { $cmd = ESPEAK." -v $voice $text -s $speed -p $pitch -a $volume --stdout | ".LAME." --preset voice -q 9 --vbr-new - $filename"; exec($cmd); echo $filename; }
我在bash脚本中调用eSpeak :
#!/bin/bash # # announce - script to convert text parameter into spoken sound # # Prerequisites: # eSpeak # mbrola binary # mbrola voice # alsa sound # libportaudio # # Axel Kemper 21-Feb-2015 # #================================================================== # get_abs_dir() { echo "$(cd "$(dirname "$1")" && pwd)" } set_volume() { # "amixer scontrols" Lists all simple ALSA controls # http://manpages.ubuntu.com/manpages/lucID/man1/amixer.1.HTML amixer set headphone $1 > /dev/null amixer set headphone $2 > /dev/null amixer set PCM $1 > /dev/null amixer set PCM $2 > /dev/null } text=$* amplitude=100 # 0 .. 200 default: 100 pitch=50 # 0 .. 99 default: 50 wordsPerMinute=90 # 80 .. 450 default: 175 charFormat=2 # 8-bit character set charFormat=1 # UTF-8 character set soundDevice=sysdefault # cf. aplay -L esHome=$(get_abs_dir $0) esHome=${esHome%/bin} voice=mb-de2 # "de+f2" export LD_liBRARY_PATH=$esHome/shared_library set_volume 100% on # espeak-data has to resIDe in $esHome espeak --path=$esHome -a $amplitude -p $pitch -b $charFormat -v $voice "$text" --stdout | aplay -D$soundDevice &> /dev/null set_volume 0% off
该脚本允许您调整eSpeak参数。
而不是将eSpeak的输出作为服务器上的本地alsa声音播放器播放,您可以将其传输到本地的.wav文件,然后传输到您的Web客户端。
总结以上是内存溢出为你收集整理的如何在Linux中运行espeak全部内容,希望文章能够帮你解决如何在Linux中运行espeak所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)