Premise Back on the case. Could use some help.

Motorola Premise

123

Senior Member
So now that I have a bit of time again, I am getting back into working on Premise. A few questions then. :)

First. I have done a new theme. We have a 50s modern home and this seems to fit in nicely.
http://www.thebitwrangler.com/images/ThemeRetroScreenCap.jpg
I think I found everything I needed to change. Question: Can I change the transport buttons on the one theme only? I have not been able to find references to them in the themes area.

Second. I have not been able to import XML Weather at all. I can import the XMLWeather.xdo, but I cannot see the Motorola.Premise.SYS.Weather device in my add-ins list. The dll is in the Premise/SYS/bin/devices directory. I have installed SysTools and ScripTools. Not entirely sure how to verify them.

Lastly (for now) is Speech. I am trying to get my head around that. I wanted to use Speech Commander, but have had trouble understanding how it works. Can I use it from a client. Both for TTS and recognition? My "vision" is to have my touchscreen PCs loaded with speakers and microphones and have TTS and VR working from each control location. Is that doable with Speech Commander? I have had problems with trying to create SpeechZones I think because my Xantech ZPR68 doesn't work with it. Not sure though.

Any help would be appreciated.

Sam

======================

I can help with your speech question. SpeechCommander uses an audio card directly connected to the PC it's running on. In my setup, I use a "gated mixer" (SCM-810) to connect microphones scattered around the house, and a single instance of SpeechCommander to implement speech recognition.
Since SpeechCommander is a Minibroker-based application, it is possible to run multiple instances on different pieces of hardware. If your tablet PC's run Windows XP, and you can get your hands on version 6.1 of the Speech SDK (comes with Office 2003), you
might be able to do what you want to do. The downside to this approach is that you will need to configure every instance of SpeechCommand separately (probably not a big deal).

The version of SpeechCommand you have is designed to be a "monolithic" application. It contains a configuration tool and an integrated recognizer. I've built a standalone recognizer that reads the config files created by the configuration tool and just performs the speech processing. I'll post it if you're interested.

I suggest you read the installation instructions carefully. The Microsoft speech engine is a little difficult to setup for this type of environment.


Good Luck,
-John
======================
John,

Thanks for the help. A couple of issues. Any help would be appreciated.

When I go to the SpeechZone in my Home to test it, I click on say it and only get the first syllable. So I know that it is switching to the correct input. Anything I should be checking there?

I'd like to try the stand-alone recognizer since I am having some difficulty getting this to work. On my tablet, I have setup the speech recognizer from Office 2003 (v6.1) and trained it. There is also version 5.1 and the 5.1 SDK engine installed. I have tried it with both 5.1 and 6.1.
After I connect to my server, setup the grammar file and options I start the recognizer. I then get an exception error: Exception from HRESULT: 0x8004503F

The details:
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Runtime.InteropServices.COMException (0x8004503F): Exception from HRESULT: 0x8004503F.
at SpeechLib.ISpeechRecoGrammar.CmdLoadFromFile(String FileName, SpeechLoadOption LoadOption)
at SpeechCommanderV0_5.frmRecognizerPanel.btnStart_Click(Object eventSender, EventArgs eventArgs)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
SpeechCommanderV0-5
Assembly Version: 1.0.1943.35973
Win32 Version: 1.0.1943.35973
CodeBase: file:///C:/Program%20Files/GeorgeCo%20Professional%20Services/SpeechCommander/SpeechCommanderV0-5.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
Premise
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/GeorgeCo%20Professional%20Services/SpeechCommander/Premise.DLL
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.3052.4
CodeBase: file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Accessibility
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
Interop.SpeechLib
Assembly Version: 5.0.0.0
Win32 Version: 5.0.0.0
CodeBase: file:///C:/Program%20Files/GeorgeCo%20Professional%20Services/SpeechCommander/Interop.SpeechLib.DLL
----------------------------------------
************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this application or machine (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the machine rather than being handled by this dialog.

======================
Sam,

You need to get this to work to build the grammar file before you can use the standalone recognizer. That error means you have an ambiguous property in the grammar. In other words, you have more than one object in a recognizer class with the same name. Go to Tools>Find Ambiguities and determine where your problem is and give each object a unique name.

Your other issue sounds like a timing problem. Your switcher is switching back to the previous source before your sound card is done. You might want to try adding a delay in the code.

Go to modules and navigate to Speech>Classes>OnChangeSayIt

Find the line that looks like this:
this.MediaZone.AudioVideoOutput.CurrentSource = SaveSource

Comment it out and add the following line:
addtimer 10,"this.MediaZone.AudioVideoOutput.CurrentSource = SaveSource",1

This should delay the switch back to the original source by 10 seconds.
Good Luck,
-John

======================
John,

I don't have the Tools>Find Ambiguities selection. Under Tools I have Initial Load from SYS, Reload from SYS and Options.

I did search for duplicate names and found a few, but now the exception has changed slightly to HRESULT: 0x80045036. Same thing? Or another issue?

But I'll keep plugging away.
======================
Sam,

Did you edit the XML file directly? This error indicates that something that hosed in the XML.

I'll PM you a newer version of SpeechCommander. It's got a few features that aren't fully implemented, but the Find Ambiguities function will be there.

Thanks,
-John
======================
Nope. No manual editing.

I'll look for the PM.

So if you ever feel like adding something, it would be cool if the speechzone could be a client instead of the msense zone. I will be mounting a few panels in the walls here, and to have the TTS coming seemingly from the screens would be logical. Then if I could use
something like Crazy Talk to create a TTS Face, it would have a personality.

But right now I'll stick with the "basics."

Sam
======================
Sam, in reply to your first point.
You can add control to each button in your new theme, that overrides the default action. Just copy the property you want to change from other running theme.

E!
======================
Thanks for the reply, Eduardo. But I think you misunderstood what I was asking. What I want to do is change the graphic of the buttons. Such as Play, Stop, Pause, etc. But if I copy over the button files, it will change the buttons in ALL themes.

Does that make more sense?
 
Back
Top