where to get SAPI? - mfc

i want to create an application that is speech-enabled but whenever i get to MS website to download SAPI, i get an error.
I want to know where I can get SAPI.
and I also would like to know if a SAPI 5.3 application can work on Windows 2000, Windows XP and Windows Vista (if coded with C++/MFC).
also, what is the best way to use SAPI ? with C# .NET or C++/MFC ?
Thanks.

The Microsoft Speech SDK is availabe for download here.
Whether to choose C# or C++ depends on your own preferences. When using .NET you will find everything related to speech recogition and synthesis in System.Speech. Add a reference to this assembly to your project and you will be able to use the Speech API directly. The following is a simple sample program demonstrating the text-to-speech functionality:
using System.Speech.Synthesis;
class Program
{
static void Main(string[] args)
{
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.Rate = -1;
synth.Volume = 100;
synth.SelectVoice("Microsoft Sam");
synth.Speak("Hello World");
}
}

I do not think you can download just Speech SDK 5.3 from the microsoft website. You can download windows platform SDK from http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en that includes SAPI 5.3.

Well, you get SAPI from MS. If they have a problem serving, you have a problem downloading!
I used SAPI with C, so I can't comment on C#/C++.
Also it was some years ago, so I don't know which version I used - but it ran fine on w2k, FWIW.

Related

Turn luacov/luacov.cpp into a Lua module

I am new Lua user. No experience with C++. I need to have test code coverage functionality my tests in Lua so after googling I found this site:
https://github.com/nmcveity/lcovtools
Nice but the author says:
"Turn luacov/luacov.cpp into a Lua module"
and I stopped here. No experience what tool to use to do this.
I am Windows 8.1 user; Lua ver 5.1.4 .
Can somebody deliver me a ready to use solution for my problem (eg which compilator with all magic options to have ready to use Lua module)
Thanks in advance.
Rafal
compile it as DLL named lcovtools.dll. You can use any compiler you want but i recommend using Visual Studio. Create a new DLL Project. Delete all files and just add luacov.cpp
You can follow http://msdn.microsoft.com/en-gb/library/ms235636.aspx on how to setup the project
http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-8 here is a free version of Visual Studio.

Windows Phone: Log to console

Disclaimer: I'm quite new to the MSFT tech world and only started Windows Phone development a month or so ago.
I am unable to figure out how to log information to the Visual Studio Output window from within a C# and C++ (Direct3D) Windows Phone 8 App. Is this possible?
I am building in debug mode, targeting Windows Phone 8, running in the XDE emulator and my development machine is a Windows 8 box with VS2012 Ultimate installed. My App runs fine, my Direct3D scene renders normally, but I can't log anything! This makes tracing code execution difficult and forces me to use breakpoints (which can be overkill in many situations).
I've been searching far and wide and have tried many methods (OutputDebugString being one of them). I can't see anything on MSDN about this - why is this not documented anywhere?
Yep, it's possible to write debug strings from WP8 C++ to the output window in VS2012. I actually have an example of that here.
1) Invoke OutputDebugString from C++.
void Direct3DInterop::MyButtonWasClicked()
{
OutputDebugString(L"Button was clicked!");
}
2) Before running the app make sure to change to the native debugger from the managed debugger in the project's properties.
I believe the methods in System.Diagnostics.Debug (specifically the overloads of WriteLine()) work...although I haven't tried them with C++ apps.

How can you embed a C++ game into a webpage?

Without recoding in flash or making it into a java applet! Keeping it as a C++ app, is there a way to embed it into a web page so site visitors can play the game?
We can assume it's a small game, the size of your average flash game or even thinner.
The game in question was written with the Allegro library in under 1000 lines of code.
Is it possible?
Quick answer: no you can't.
C++ applications cannot be embedded inside a web page, they need to be downloaded and the user has to run them on the client machine.
Details: it's somehow possible but it's absolutely not portable across browsers. For example Internet Explorer has ActiveX components (they can be a C++ application, it'll be downloaded, installed and will run inside the web-page). Other browsers have different mechanism to achieve this (Chrome has its Native Client, for example) but you can't write something really portable and you'll have many limitations whatever you'll use.
It is possible
http://doom.pdox.net/
http://code.google.com/p/nativeclient/
In fact, this is old news...
http://www.engadget.com/2010/05/13/googles-native-client-sdk-developer-preview-provides-helpful-re/
Try the emscripten project, it is a C++ compiler based on LLVM Clang and compiles C++ files into JS files which can then be run in the browser.
#include <iostream>
int main()
{
using namespace std;
cout << "Hello World" << endl;
return 0;
}
Assuming that you saved this in helloWorld.cpp use this after installing Emscripten.
$ emcc helloWorld.cpp -o helloWorld.html
You will be done, open helloWorld.html now in your browser and see for yourself. The good thing about Emscripten is that it supports a wide range of desktop libraries, including SDL etc.,
http://kripken.github.io/emscripten-site/
It's possible only as plugin for Google Chrome browser as native extension.

Disabling Main Speech Recognition in SAPI 5.3

I'm coding a program which simply understands basic keywords such as 'left' or 'right'.
It works great, however in order to execute the program, first, i must start Windows Speech Recognition. While my program is running, this 'Windows Speech Recognition' is also processing the commands, and this sometimes shut my program or open a folder.
What i want to do is disable 'Windows Speech Recognition' and still be able to start my program properly.
My code is based on this tutorial: http://msdn.microsoft.com/en-us/vstudio/video/Cc482921
Code: http://download.microsoft.com/download/b/0/1/b01ceff1-5ba9-41e2-ab4f-8b8f4c2f7467/SampleCoding-NativeCoding-ASR2.zip
Also, is there a way to work my program on a Windows editions(such as Windows XP or non-English Windows 7) which does not support speech recognition?
You need to use an inproc instead of a shared recognizer if you only want your application to respond. http://msdn.microsoft.com/en-us/library/ms717071(v=VS.85).aspx may give you some guidance.
Windows XP Tablet edition included a recognizer. Office 2003 included a recognizer that many XP users have installed. I think later updates to XP included a recognizer, but I don't know for sure. I tried to outline the platforms and recognizers as I knew it in https://stackoverflow.com/a/2998963/90236 and in https://stackoverflow.com/a/5861145/90236

Capture MacBook Pro iSight video with C++

I'd like to grab a frame from my MacBook Pro iSight in C++ and do some elaborations on it.
I already know how to do that in ObjC with QTKit, but is there any way to do the same thing in C++?
NOTE:
I tried to install OpenCV with macports, but the framework doesn't seem to support iSight cameras.
You could do that using OpenCV ( http://opencv.willowgarage.com/wiki/ )
And here is a sample code you can copy/paste to try it : http://www.geckogeek.fr/lire-le-flux-dune-webcam-camera-video-avec-opencv.html (article in french but code is in english)
You can also use the Integrating Vision Toolkit (http://ivt.sourceforge.net), which supports Mac OS X and Quicktime.
Here are the steps:
Install the Quicktime SDK, if you haven't yet.
Download the current version of the IVT and unpack the archive.
Set the flag 'USE_QUICKTIME = 0' to 'USE_QUICKTIME = 1' in IVT/src/Makefile.base
Run 'make' in IVT/src
Run 'make' in IVT/examples/CaptureApp
Run '../../files/make_app.sh CaptureApp captureapp' in IVT/examples/CaptureApp
Run the application, either by double clicking on the generated icon, or by typing 'open CaptureApp.app'.
If you have any questions, let me know (you can find my contact information on the IVT homepage). I also answer questions in the IVT Sourceforge forum usually quite fast.