【发布时间】:2015-11-12 17:17:18
【问题描述】:
每次按下这样的键时,我都会得到一个时间戳:
init_timestamp = time.time()
while (True):
c = getch()
offset = time.time() - init_timestamp
print("%s,%s" % (c,offset), file=f)
我正在根据我实际键入按键的录音来验证时间戳。在将第一个时间戳与波形对齐后,后续时间戳略有漂移但始终如一。我的意思是保存的时间戳比按键波形晚,并且随着时间的推移越来越晚。
我有理由确定波形时序是正确的(即记录不快也不慢),因为在记录中我还包括了一个非常准确的时钟的滴答声,它与第二个标记完美对齐。
我知道time.time() 的准确性存在不可避免的限制,但这似乎不能解释我所看到的 - 如果双方都同样错误,那是可以接受的,但我不希望它逐渐偏离真相。
为什么我会看到这种飘忽不定的行为,我可以做些什么来避免它?
【问题讨论】:
-
你试过
time.clock(),在某些系统上,这比time.time()更准确 -
@muddyfish 不,
time.clock()在这里使用肯定是错误的。time.clock()是处理器时钟时间(如果程序不使用任何时钟周期,它将不会提前),而不是挂钟时间 (time.time())。另见:pymotw.com/2/time -
啊,更正:在 Windows 上
time.clock()实际上似乎正在返回挂钟秒数。 叹息
标签: python macos time signal-processing clock