【问题标题】:How to have python waiting for input until input unchanged for a certain time如何让python等待输入直到输入不变一段时间
【发布时间】:2017-03-29 14:44:46
【问题描述】:

我的总体目标是将语音识别软件的输出作为字符串输入 Python。语音识别软件将它听到的内容实时输入到任何开放的字段中。无法以任何其他方式获得输出。句子之间有几秒钟的沉默,在此期间语音识别软件不会输入任何内容。我希望每个句子在 Python 中都是一个单独的字符串。

因此,我想做的是让我的脚本不断地监听输入,并且只要当前输入在固定的时间内没有改变,就将当前输入保存在一个字符串中并监听新的输入。

类似:

    While true:
        start timer
        While timer <= t: 
            Listen for input
            if input changes: set timer to 0
        save input to string

有人知道如何实现这一目标或有更好的方法来实现我的目标吗?非常感谢!

【问题讨论】:

  • 您正在使用什么图形工具包(提供对文本字段的访问的工具)?还是语音识别软件会在控制台中打字? (在后一种情况下是哪个操作系统?)
  • 嗨大卫,我打算只使用控制台,不幸的是它必须是 Windows,但我愿意接受任何其他可以使这个目标更容易的包或库。

标签: python input speech-recognition


【解决方案1】:

做多线程。线程允许您同时执行一些任务。我建议您将输入获取操作作为一个线程执行,并在另一个线程上执行计时器操作。所以现在,您可以在获取输入时检查计时器,并在计时器达到特定限制时暂停/恢复获取。 如果您需要多线程参考:Multi-Threading tutorial in tutorialspoint

【讨论】:

  • 谢谢,我正在调查这个。要检查,是否可以根据另一个线程中是否有输入来重置一个线程中的计时器?
  • @MichieldeJong 是的。尽管每个线程就像一个单独的进程,但它们共享相同的内存空间。 python中有一个类叫queue,常用于线程间通信。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 2012-07-22
相关资源
最近更新 更多