Speech Recognition with Telephone - c#

I need to detect the user voice when they pick-up the reciever on the other
end. Because Modems usually start playing files (playback terminal) when the
first ring goes there. So I planned to use speech recognition when they say
"hello", it can start play the file until wait for playing file. Or even any
noise interference it can start speak. I have a code that can recognize the wav file but i'm struggling to add with my telephone application . I'm using Tapi Manager from C4F for making the calls. The calling is perfect but how shall I add it with my application???
Any link or help that will give or guide how can we integrate the 2 applications????

I think you'd have better luck listening for a busy signal or waiting until ringing stops. What if they answer in another language? What if they don't say anything? What if it's an answering machine?

Related

Speech recognition not working well in noise room. how i can improve it?

I write code for speech recognition on Visual studio in C#
My Speech Recognition program not working well in noise.
For example when i give voice input it gives output but some times it detects other voices in the room too and give output randomly. Even output not match with my input.
Please help me to improve it.
Thanks In Advance :)
Setup the microphone, go to control panel, then ease of access, then speech recognition, then set up microphone. This will base the mic dbz based on your voice.
Once that is done, you can run the program. Most people never set up the microphone. I have done this before and it always helps. Also if your using internal mics on the PC. You will get feedback. I suggest using a USB mic or wireless mic. They usually have noise cancelling technology.
I use them for all my projects using System.Speech. I also recommend turning the dbz down as well.

Windows CE 5.0 Sound Issue

I have an asp.net application that runs on an MC9090 scan gun running Windows CE 5.0. I'm trying to play a sound on the scanner through the website. I used the code below to play the sound on the scanner, but it sounds like a crackle instead of the sound.
<embed id ="MyAudio" src="/External/MySound.mp3" type="audio/mpeg" autostart="true" loop="false" />
Doing my research I found out that even when I play sounds directly on the scan gun, it doesn't play the sound instead it just plays the short crackle sound. So I thought the speakers were not working, but all the system sounds work fine. scan beeps and error beeps.
This is happening on two different scan guns. Does anyone have any ideas why even when I click on a wav file in the explorer on the scan gun it still doesn't play the sound correctly. Any help would be great.
EDIT: Also to clarify the system sounds are working on the scanner but nothing plays when called in the website, example:
System.Media.SystemSounds.Asterisk.Play();
Not all 9090s have working sound cards. Some need to have their core updated, which would involve contacting Motorola. You will still hear the scan and error beeps because all the 9090 devices have a built in beeper, that will take over if the speaker is not functioning properly.
The best way to test this would be to use OTL:
Go to the Application directory and launch OTL.exe
Click the "Test Apps" option.
Click the 'SelfTest" option.
Select "Speaker" and then click the "Start" button.
Select any wav file from the drop down and then listen. If it fails, you will see an error on the bottom of the form. Even on an error, you should still hear something because the device will attempt to use the Beeper instead.
If you don't have OTL, you could attempt to compare the wav files with another device that is known to have working sound.
If it is in fact an issue with the Speaker, you should contact Zebra because the device needs an update.
Also, to my understanding, the procedure you are calling will only attempt to play the wav file and not use the Beeper on failure. Which would cause the error of no sound to be played.

Prevent .NET Speech Recognition from hearing/recognizing computer speakers

I know this is a long shot, and very difficult, maybe even impossible to do. But I'm going to ask it anyway.
Is there any way to keep .NET's SpeechRecognitionEngine (SAPI) from hearing or recognizing the audio coming from computer speakers, without using an external microphone.
An example would be
Playing a YouTube video, or song, and not of the Recognizer
listen to the audio form that video or song Or at least not recognize it as speech
Thanks
In theory if you have an internal audio source like the YouTube video and want to exclude that from things processed by an internal microphone, you can invert the audio signal from that source and use it to cancel out the same sound picked up via the microphone. That is how noise cancelling headphones work. I have no idea whether that is possible with SAPI – Eric J.
While implementing this would take to long for me, this seems like the most do-able and reasonable answer.

How to listen to audio coming from certain process and compare it to 5 second sound?

What i want to do is capture audio coming from some.exe all the time, check if the program outputs sound that i have already stored, say 5 second audio.
For example I capture some.exe saying "You win" , save it in .wav or whatever. then start monitoring some.exe and if it says "You win" again, do something.
There is no API to intercept audio output of a specific process. You can either capture back a mix of audio generated by ALL applications on specific endpoint, or you have to get your hands dirty with complicated API hooking.
See also:
Is it possible to caputre the rendering audio session from another process?
Is it possible to record sound played on the sound card?
Reading audio stream to output device
Capture any sound that is played by soundboard without "What you hear" or similar device

Check what programs are playing audio?

I am making a program and I want to find and mute programs that are playing audio so all you hear is mine.
(This is an option for the program, nothing malicious about it)
I have looked it up and I cannot seem to find a way to check what programs are playing audio (Much like windows does)
I don't have any code examples of attempting this because id has no idea.
In case someone misses reads or I don't word the above sentences correct I would like to find EVERY process with audio playing and either KILL or MUTE the process
If you can get Peak meters for individual programs on Windows 7, you can identify sessions and applications. IAudioSessionControl interface offers you muting options similar to what user can do via standard Volume Mixer application (session muting in particular).
There was a pretty similar question, maybe the same approach I posted in my answer would fit your scenario: https://stackoverflow.com/a/14828598/674700. What you'd need to change are the types of files (into .mp3, .wav and so on) and kill the processes found, with the exception of your application's.
The drawbacks: you'll need to run your application as administrator and it also requires a third party console app.

Categories

Resources