如何在Linux中运行espeak

如何在Linux中运行espeak,第1张

概述如何在Linux中运行espeak

我在运行完全正常的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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1265589.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存