Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Screen Saver and Energy Saver Not Work if Speech Commands is On

Screen Saver and Energy Saver stop working if Speech Commands ("Speakable Items") is "On" even if using Listening "Key" vs. "Keyword".

iMac 9,1, Mac OS X (10.6.3), 2.93 GHz, Core 2 Duo, 4 GB, 640 GB, IM91.008D.B08, 1.37f3

Posted on Apr 6, 2010 2:52 AM

Reply
6 replies

Apr 17, 2010 9:08 PM in response to newton69

In Activity Monitor I can see 'Speakable Items Server' process (starts when you turn Speakable Items On in System Prefs) and 'Speakable Recognition Server' always busy taking 0.2% and 0.6% CPU. Taking a sample of the first process I could see an uninterrupted loop that handles 'spoken messages' even though I set it up to listen when a key is pressed.

It seems like a bug. Can this be the desired behaviour? If yes, in the same note, the screen saver/energy saver should never run because the OS is always listening to keyboard input.

Apr 18, 2010 4:36 AM in response to solongpc

I don't think I'm seeing the loop that you refer to. Here's my sample:

Sampling process 3472 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling SpeakableItems (pid 3472) every 1 millisecond
Call graph:
2717 Thread_95376 DispatchQueue_1: com.apple.main-thread (serial)
2717 0x2041
2717 0x20e1
2717 -[NSApplication run]
2717 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
2717 _DPSNextEvent
2717 BlockUntilNextEventMatchingListInMode
2717 ReceiveNextEventCommon
2717 RunCurrentEventLoopInMode
2717 CFRunLoopRunInMode
2717 CFRunLoopRunSpecific
2717 __CFRunLoopRun
2717 mach_msg
2717 mach msgtrap
2717 Thread_95377 DispatchQueue_2: com.apple.libdispatch-manager (serial)
2717 start_wqthread
2717 pthreadwqthread
2717 dispatch_workerthread2
2717 dispatch_queueinvoke
2717 dispatch_mgrinvoke
2717 kevent

Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
kevent 2717
mach msgtrap 2717
Sample analysis of process 3472 written to file /dev/stdout

Was the listening key on or off when you took the sample?

Apr 19, 2010 9:28 AM in response to solongpc

1. @solongpc: It can't (or at least shouldn't) be the "desired behavior"? If the CPU is supposed to be considered "busy" just because the "Speakable Recognition Server" is listening for the Speech Listening Key, then you could argue that the Screen / Energy Saver should never run even without Speech Commands because the OS is always "listening" for keyboard input to either: a) reset the Screen / Energy Saver Inactivity Timer or b) to input keys into the Active Window.

2. @musicwind95: Regardless of whether you can reproduce / verify the loop, the Screen / Energy Saver has consistently stopped working for me when Speech Commands is On and consistently resumed working when I stop the "Speakable Recognition Server" process or never turn on Speech Commands to begin with after an OS restart.

Apr 20, 2010 10:32 AM in response to newton69

1. @newton69: That's exactly what I was hinting in my first reply. It cannot be the desired behaviour or else why are we having this discussion in the first place? 🙂

2. @musicwind95: You are right, I had tried too many combinations and have sampled the process for continuous listening, see below - this is the 3rd thread of the process by the way:

...
2838 HP_IOThread::WorkLoop()
2836 CAGuard::WaitUntil(unsigned long long)
2836 CAGuard::WaitFor(unsigned long long)
2836 pthread_condwait
*2836 semaphore timedwait_signaltrap*
+*2 HP_IOThread::PerformIO(AudioTimeStamp const&, double)*+
2 IOA_Device::CallIOProcs(AudioTimeStamp const&, AudioTimeStamp const&, AudioTimeStamp const&)
2 HP_IOProc::Call(AudioTimeStamp const&, AudioTimeStamp const&, AudioBufferList const*, AudioTimeStamp const&, AudioBufferList*)
2 AUGenericOutputEntry
2 operator>>(ServerParamInputStream&, LMObj*&)
1 AudioUnitRender
1 AUHALEntry
1 SystemOutputAUEntry
1 0x11250b4ac
1 0x11250c15f
1 0x11250df53
1 AUGenericOutputEntry
1 operator>>(ServerParamInputStream&, LMObj*&)
1 operator>>(ServerParamInputStream&, LMObj*&)
1 operator>>(ServerParamInputStream&, LMObj*&)
1 SpeechBusySystemWide
1 SpeechBusy
*1 SystemGlobalsGuts::Lock()*
...
Sort by top of stack, same collapsed (when >= 5):
kevent 2838
*semaphore timedwait_signaltrap 2836*

Screen Saver and Energy Saver Not Work if Speech Commands is On

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.