So, you've all probably seen Iron Man where Tony interacts with an AI system called Jarvis. Demo clip here (Sorry it's a commercial).
I'm very familiar with C#, C++ and Visual Basic, but I am unsure what options I have available for me to program something like this. Ideally, I'd like to have it assist me while working on some projects by automating a few things.
After doing a bit of research, I saw that a lot of people where using apple script. Well, I'm a windows developer and I work on windows, SO, that won't work.
Microsoft has a Speech SDK, but I hear that I can't program it to learn custom words... as in it just uses it's standard library. Is this true? What are the other limitations of speech recognition with the SDK? Is there something else then?
Also, which language would be better to use for a project like this? C# or VB?
The .NET 3.0 System.Speech.Recognition namespace has very elegant .NET wrapper classes around the SAPI SDK. Including the Grammar class to customize the recognition. As usual, any .NET enabled language can take advantage of it, the specific language doesn't matter.
Related
C# - Free speech recognition Engine library (SDK)
System.Speech.Recognition is very bad... I want another SDK that give me good results and works with c# on Visual Studio...
and i want it OFFLINE not online like google api
Thanks
I got quite good results using pocketsphinx, or Sphinx if you have more available resources, in the past. Check it here:
https://cmusphinx.github.io/
Is it possible to write cross-platform Unity3D plugins (specifically for android and ios) using the Xamarin APIs?
If yes, what would be the procedure to go about doing it? Are you aware of any documentation or reference that might be useful?
Unity still doesn't provide a lot of native functionality as Xamarin does. I'm asking this because it just makes sense minimizing the learning curve for developing unity plugins. After a lot of experimentation, I've just begun understanding the intricacies of C#. If I have to learn two other languages (Java and Objective-C) that would greatly impede my progress.
Thanks.
Microsoft is opensourcing the Xamarin SDK, so combined with Mono for Android (that Unity most probably uses), you could soon be closer to your goal
BTW, they're also changing Mono's licensing model to the more permissive "MIT License" and hosting it under the .NET Foundation
Xamarin and Unity MonoDevelop are separate project. Xamarin doesnt support Unity. If you want a crossplatform plugin you could use C++ read:
http://docs.unity3d.com/Manual/Plugins.html
I would like to write a program in C# that includes limited vocabulary speech recognition of languages such as Finnish or Polish. Microsoft's Speech SDK works great for English but can it support other languages like those? If not, what other (hopefully affordable) software tools are available?
Have a look at Microsoft Server Speech Platform 10.2. It supports both STT and TTS.
For 26 Languages, including Finnish and Polish!
Here's a link that will get you started.
http://www.codeproject.com/KB/audio-video/TTSandSR.aspx
A bit late post, sorry for that.
So....I've never really done much in the way of GUI programming apps. Namely because for school ive been stuck in C++ land. But since Im graduating in December I thought it'd be nice (while im looking for a job) to study something I've wanted to look into for awhile. And please dont mark this as "subjective" im just simply asking what I need to "know" to get started.
Namely GUI programming. Im not used to it....nor have I really ever been. It's not something they focus on in school (for instance my senior design was a webcam mouse thing, but had very little in the way of GUI)
I've seen alot about C# being the superior GUI programming tool for fast development.....but I dont really know whats out there. I know "of" QT, and Im used to C++. However Im not too familiar with what the "choice" GUI language is. I do like programming on Windows however most of my stuff has been in Unix here lately (Mostly because of my OS class).
I dont know anything about .net, and i've heard of something called WPF? Is that part of .net.....or.....what? Im just a bit confused at where to start.
Thanks
Microsoft has some good resources for getting started on their platform with .NET.
Try these...
Development for Beginners
Welcome to the Windows Development track. This is the best place to learn how to create software for Windows. Windows applications can take advantage of your computer's sound, graphics, and other capabilities. You will learn how to write software for Windows XP, Vista, or Windows Server using Visual Basic, Visual C#, or Visual C++ Express Editions.
Ramp Up
Ramp Up is a free, online, community-based learning program that will help you build professional development skills. Join Ramp Up (it's free!) and help advance your career...
Creating Your First Visual C# Application -
This link contains three samples:
How to: Create a C# Console Application
How to: Create a C# Windows Forms Application
How to: Create a C# WPF Application
Visual C# Guided Tour
The Visual C# Guided Tour presents a series of lessons that introduce you to the Visual C# Express Edition integrated development environment (IDE), creating your first application, and designing the user interface of an application.
Learn .NET Framework on MSDN
Start here to get a conceptual overview of the key features of the .NET Framework, including the common language runtime, the .NET Framework class library, and more.
Yeah.... C# is a great tool for GUI.... My condition was same like yours when I started.... My suggestion is get into it.... Make some simple GUIs.... Its fun to make simple apps like say Calculator!
There are very good tutorials available on internet.... You are just a Google away from them.... And For everyproblem, There is Stack Overflow! :)
All the best!!
You can check this too: C# GUI primer tutorial
WPF is pretty awesome. It is rather closely related to xml.
http://msdn.microsoft.com/en-us/library/aa663364.aspx
If you use the toolbox its mostly self explanatory for the basic components. Here are components of a basic page.
http://msdn.microsoft.com/en-us/library/bb531270(VS.90).aspx
You have two choices to go with:
Windows Forms (WinForms)
Windows Presentation Foundation (WPF)
For all future desktop GUI applications, WPF is recommended.
I am making a Smart House Control System right now, and I have a little problem.
I was thinking on using Cosmos for a base system, and adding the needed namespace libraries to it, but as the usual System.Speech.Recognition namespace depends too much on Windows Speech API, I have to forget about using it.
So my question is, is there any (free if possible) voice recognition and/or speech speech synthesizer library for C#, what has the following:
support for multi-language speaking
extracting text content from speech sample
synthesizing speech with selectable (or user-written) speech pattern (voice)
A general usage, non-windows dependent library would be the best, and of course, if it was free too.
Voxeo offers developer accounts which you could use to develop a speech powered home automation system. I've interfaced it to my own home automation system for a small subset of the commands my home understands and it works great. You'll need to learn some VoiceXML to use it.
SAPI works OK for voice synthesis; I use SAPI in my system for spoken prompts in the house like a weather forecast that comes over the speakers in the morning when you walk into the bathroom. If Cosmos doesn't allow you to include all the DLLs you need maybe you could create a separate service using SAPI and then use WCF (or other) to communicate between them??
For the related problem of understanding natural language in a typed form I've developed a C# NLP Engine which I hope to be able to make available for non-commercial at some point in the future.
Extracting text from speech without specifying any grammar up-front is a very hard problem and is going to be error prone. Even if you could solve that, you'd still have the problem of trying to understand what they said using NLP. Constructing a grammar that guides the recognizer to the kinds of sentences you want to recognize (like VoiceXML does) is likely to achieve much higher accuracy.
Check out this project: http://cmusphinx.sourceforge.net/
It's an open source speech recognition project. It is trainable with any language you want plus since its open source you can modify it to suit your needs or expand it.