加入3个c++系列程序

Join 3 C++ programs in series

本文关键字:程序 系列 c++ 3个 加入      更新时间:2023-10-16

我是一个学习c++的Python和Lisp的家伙,由于缺乏更精确的术语,我遇到了需要"连接"3个c++程序。我不知道做以下事情的最好方法是什么:

1) pocketsphinx从麦克风获取输入,进行实时自动语音识别,输出文本到终端,我想将输出发送到输入:

2) Chatscript,一个聊天程序,它解析输入的文本(此时来自键盘)并生成一个响应发送到终端,我想将输出发送到输入:

3) Festival,从终端读取输入的文本并生成该文本的语音输出。

我正在探索不同的方法来做到这一点,正如我所理解的,我可以从pocketsphinx到Chatscript再到festival运行管道,但我读到的一些东西让我相信这是一种效率较低的方式,因为开销大。此外,关于管道,我认为我将设置2单向管道(pid == 0)与文本输出是否正确?

我想我可以(一旦我学了很多)结合所有3个程序(他们都是开源的)本质上确定所需的库/文件等和"连接"3 void main()的同时改变输出语句?

谁能提供一些指导/指导,并就这些方法(或建议其他方法?)中哪一种最经济有效?

问候,理查德。

注意源代码中的cout或printf,并将其添加到缓冲区字符串变量中,这将允许您每次填充缓冲区时,都可以调用下一个程序并使用获得的缓冲区执行它。如果你不需要"实时"处理,你可以做@zch指出的,因为如果我记得(我可能是错的)管道需要程序在发送数据到下一个二进制文件之前结束。

使用"?"可以同时运行多个程序使用"|"使用前面的输出作为后面程序的输入