问题标签 [espeak]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

linux - 如何将“-lespeak”添加到代码块?

我使用 Ubuntu 16.04,它是编码的gedit编辑器。我可以使用其中使用的 espeak 库编译我的程序,方法是-lespeak在 Linux 终端上添加这样的编译命令: g++ -o myapp myapp.cpp -lespeak,但我不知道应该如何将哪些文件添加到代码块中espeak

0 投票
2 回答
640 浏览

c++ - 无法打开文件:../sysdeps/posix/system.c

我正在尝试将一些字符串传递给espeak它,它会通过以下代码说出它们:

但我得到segmentation fault(core dumped)错误。我试图调试代码,这是错误:Cannot open file: ../sysdeps/posix/system.c发生在这行代码中: system("eog --fullscreen --disable-gallery --single-window 1.jpg &"); 。我怎样才能解决这个问题?

0 投票
0 回答
360 浏览

python - 为什么talkey不会改变它的声音?

我正在尝试通过 Talkey 更改我的 espeak 语音,但它不起作用。

首先,我搜索了可用的葡萄牙语语音

我得到了以下结果:

然后我按照文档示例并尝试更改为女性声音,所以我可以注意到差异

我尝试改变两者brazil-mbrola-4mb-br4但没有任何效果。有人能帮我吗?

0 投票
0 回答
53 浏览

python - 将图像中提取的文本保存到树莓派中的文件中

从图像中提取文本并调用 espeak 的代码 从图像中提取文本并调用 espeak 的代码

错误 错误

将其重定向到文件而不是打印时出现相同的错误,并且打印功能正在正确打印

0 投票
0 回答
710 浏览

javascript - 如何以编程方式将 unix 套接字命令发送到由浏览器自动生成的系统服务器或将 JavaScript 转换为 Chromium 的 C++ 源代码?

目前ChromiumFirefoxWeb Speech API 规范实现不支持在实例属性设置 SSML并传递给调用时解析语音合成标记语言(SSML) ;请参阅浏览器中的 SSML 解析实现5.2.3 SpeechSynthesisUtterance 属性如何设置浏览器调用的命令选项?.textSpeechSyntheisUtterancewindow.speechSynthesis.speak()

unix 套接字连接到连接的 Chromium 源代码speech-dispatcher似乎位于/src/chrome/browser/speech/tts_linux.cc

这似乎反映在/run/user/1000/speech-dispatcher/log

Chromium 源代码位于/src/third_party/speech-dispatcher/libspeechd.h

似乎定义了文档中的SSML_DATA_MODE描述speech-dispatcher

speech-dispatcher文档指出,用户配置文件可用于为特定客户端设置参数

4.1.6 参数设置命令

可以使用以下参数设置命令。对于配置和历史客户端,还有一些功能可以为其他连接和所有连接设置值。它们在下面单独列出。

C API 函数:int spd_set_data_mode(SPDConnection *connection, SPDDataMode mode)设置 Speech Dispatcher 数据模式。目前支持纯文本和 SSML。如果您想使用索引标记或在文本中包含语音参数的更改,SSML 特别有用。

mode 是请求的数据模式:SPD_DATA_TEXTSPD_DATA_SSML.

SPD_DATA_SSMLon在建立从 Chromium 到 的SSIP连接时未设置为speech-dispatcher,例如 @xmash 在“如何在“语音调度程序”中使用索引标记?

也不可能将选项传递给默认语音合成模块mforespeak-xfor spd-say

LogLevel设置为45 /run/user/1000/speech-dispatcher/log列出 Chromium(客户端)和speech-dispatcher

(server) 也可以在stdout使用PIDinside/run/user/1000/speech-dispatcher/pidstrace查看,请参阅Is there a way to interception interprocess communication in Unix/Linux?

似乎没有一个选项可以将 SSML 解析设置为在运行中speechd.confespeak.conf运行之后

SpeechSynthesisSSMLParser尝试使用 JavaScript 解析 SSML时,在尝试解析元素时在 Chromium中遇到了一个错误<break>,其中不清楚spd-say是调用还是默认输出模块,例如,在被浏览器调用espeak时运行;window.speechSynthesis.speak()/src/out/Debug/gen/library_loaders/libspeechd.h

创建了一种用于php调用的方法,espeak使用shell_exec()该方法返回预期结果

要求:

通过使用默认浏览器功能的输出模块使用SpeechSynthesisUtterance调用的本机程序的现有功能将文本转换为语音的文本属性中设置的 SSML 解析。speech-dispatcher

问题:

1)如何以编程方式侦听Chromium 浏览器调用的时间,然后使用已建立的 unix 套接字连接作为客户端(Chromium)调用PID或调用服务器,并作为第二个参数打开对Chromium 浏览器的所有调用的 SSML 解析?speech-dispatcher --spawn-communication-method unix_socket --socket-path /run/user/1000/speech-dispatcher/speechd.sockspd_execute_command_wo_mutexspd_execute_command_wo_mutexspeech-dispatcher"SET SELF SSML_MODE on"window.speechSynthesis.speak()

2) 如果 1) 不可行,需要在 Chromium 源代码中调整哪些内容才能为 unix 套接字连接打开 SSML 解析,例如在tools/generate_library_loader/generate_library_loader.py中?

3) 如果 1) 和 2) 都不可行,如何将 JavaScript 和 PHP 代码转换为 Chromium 浏览器使用格式的 C++ 代码;以及如何使用包含的补丁构建 Chromium;为了公开一个speak带有接受参数的函数,该参数可以传递给本地语音合成应用程序,在该应用程序中解析 SSML,并将生成的音频输出作为ArrayBuffer?

4) 如果 1)、2) 和 3) 以外的选项可用且能够满足要求,我们如何以编程方式解决查询;无需手动启动本地服务器terminal

0 投票
0 回答
453 浏览

android - 如何在我的 Android 应用中使用 Espeak?

我尝试按照此处的说明进行操作:https ://github.com/rhdunn/espeak#android但是由于我在 Win10 中,并且使用 Android Studio 2.3,不知道如何在 Windows 中执行这些操作?(Windows没有任何分步说明吗?)

0 投票
1 回答
276 浏览

android - Espeak 读取单独的字母而不是单词

第一次尝试在下面的代码中使用谷歌默认的TTS引擎,但是发现不支持波斯语!

因此,我下载并安装espeak RedZoc TTS engine在手机上,并将默认 TTS 语言更改为波斯语。当我在手机设置或 RedZoc 应用程序中检查它时,它运行良好。

但是当我在手机中运行我的代码时,它会单独读取字母,而不是读取完整的单词!(例如它应该说SALAM但它说Arabic Sin Lam Alef Mim

主要活动:

我知道也许我必须更改这行代码但不知道将其更改为什么?int result=tts.setLanguage(Locale.);

或者也许我必须忘记所有这些代码并编写另一个?但是怎么做?

0 投票
0 回答
142 浏览

c++ - 如何在 for(;;) 循环中暂停我的程序?

我的程序中有一个 for 循环,其中有一个对espeakengin 的调用:

文本由另一个应用程序给出,并且在每个循环周期中都不同,我正在尝试获取此文本,将其传递给 espeak,它表示文本,其余代码将运行(打印给定的文本例子)。

但问题是,当 espeak 说话时,其余代码不会等到它结束说话,我正在寻找一种方法暂停程序直到 espeak 结束,然后其余代码将执行,但是不知道怎么做?

0 投票
1 回答
241 浏览

c++ - 如何查找espeak是否结束了演讲?

我想在我的程序中使用espeak。我想知道 espeak 什么时候停止说话。是否有任何标志或功能要检查?

让我们考虑一下这是我的程序:

当我执行这段代码时,espeak 开始说“你好,这是 espeak”,但在它结束之前,执行了第 2 行代码,我不喜欢这样。我正在寻找进入pause该程序的方法,直到 espeak 结束演讲!

编辑:这是我的完整代码,我pocketsphinx用来识别用户所说的内容,然后将其保存在里面char* hyp并通过speech函数传递。

0 投票
1 回答
220 浏览

c++ - 如何使用espeak_EVENT_TYPE;

我正在寻找一种方法来知道espeak它何时结束。有人告诉使用espeakEVENT_MSG_TERMINATED. 但是当我尝试将此部分放入我的代码时,它给了我这个错误:

application.cpp:31:1:错误:声明未声明任何内容 [-fpermissive] espeak_EVENT_TYPE;^ application.cpp:在函数'void Speech(char *)'中:application.cpp:116:27:错误:'=='令牌之前的预期主表达式if(espeak_EVENT_TYPE == espeakEVENT_MSG_TERMINATED)

编辑:我使用这个简单的代码来使用espeak

编辑2:

错误:

致命:“application.cpp”,第 163 行:无法读取音频