首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >程序间的交互

程序间的交互
EN

Software Engineering用户
提问于 2013-05-11 18:46:52
回答 2查看 170关注 0票数 0

我正在编写一个交互式程序,在这个程序中,它从用户那里获取特定命令列表的语音输入。

命令列表将在本地存储在一个图形中,并根据使用情况修改它们的权重。

将语音输入提取并处理为文本,然后由bash脚本执行。

我在想我应该使用什么来在语音识别引擎与列表和bash程序之间进行交互(同步)。

我在Unix系统上使用C++和Bash。

我想到了mutex,但问题是,如果用户提供多个输入,那么我将不得不缓冲它,然后按顺序处理它,这会使系统变慢。

bash脚本用于根据用户的请求调用系统实用程序命令。我应该只使用C++或Bash吗?

我正在考虑以二进制格式存储图形。这是存储图表的最好方法吗?

请提出替代方案。

EN

回答 2

Software Engineering用户

发布于 2013-05-11 19:18:51

你似乎还没有清晰地描绘出你的系统的设计。因此,有一点建议:

  • 让它尽可能简单。
  • 写下几个用户和你的程序之间交互的场景。注意,当用户在说命令的过程中改变主意时,要小心,当事情出错时,还要包括其他场景。
  • 不要继续,直到你有一个与用户互动的清晰图片,常见的特殊情况,如“取消词”,等等。
  • 远离互斥物和其他毛茸茸的东西。(我建议您也不要使用C++,但是您的语音引擎可能有一个C++接口。)
  • 如果对并发访问有疑问,请使用数据库。它为您完成了所有的锁定,并且是一个经过良好测试的软件。有关最简单的解决方案,请参见SQLite。
票数 2
EN

Software Engineering用户

发布于 2013-05-14 00:12:31

我希望我能正确理解这个问题,但我看到的一个解决方案是将接收程序作为本地服务器来实现,监听特定的端口(为了安全起见,它只能接受本地主机连接)。我不认为会有太多的表现落后的方式。这就产生了这样的想法:有人可能会从智能手机上发送语音命令(尽管很可能这会留在本地机器上),本地端口系统是我的一位大学教授让几名学生使用他们选择的不同语言处理问题中个别部分的一种方式(某些部件可以在不同的机器上运行)。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/197785

复制
相关文章

相似问题

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