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.
Related
I'm writing an application that is intended to embed audio or preferably video in a windows form.
Right now I am using the standard MediaPlayer class (xWMPLib.AxWindowsMediaPlayer MediaPlayer) and am finding that it may not have some of the functionality that I am hoping for.
One of the features I would like to have in this application is 'unadulterated scrubbing' of said audio or video... Which in this context I would define as 'the ability to scrub the video without stopping playback' - or otherwise, continuing to play audio or video While scrubbing...
Examples of this can be seen in programs such as Adobe Premier; in which you can scrub the position of your video on the timeline, and at whatever rate you are scrubbing, it will play back some 'garbled' audio.
The intention in this feature is to grant someone the ability to ( using a foot pedal, in one instance ) roll back in the media and know exactly where they are, based on audio feedback...
This particular feature is very specific and debatable in its ability to be achieved, but the core of the question here is this; What would be your suggestions for a 'more fully featured' media player that can be utilized in a C# windows form?
Thanks in advance.
Need to record all sounds from sound card. So that mic+output was written to file.
Is it possible to do with NAudio library in Windows 7? Cant find any examples, found just ones that allow to write mic or just sound from speakers, not both.
PS, sorry, if the question looks not ok..Im new to audiorecording.
Added issue ive asked on codeplex: http://naudio.codeplex.com/workitem/16353
To record sounds being played by the soundcard, you would use WASAPI in Loopback Mode.
To record sounds going into the microphone you could use WASAPI capture, or any of the other microphone capture classes in NAudio.
Then you have the slightly tricky job of mixing those two inputs together. This may require sample rate conversion beforehand, and it may require you to timestamp the recorded audio (as the loopback audio can contain gaps when nothing is being played).
With NAudio, you would convert both streams to floating point, before mixing them using one of the "Mixer" wave or sample providers in NAudio, and then writing that back out to a file.
So yes it is possible, and I have done it once before myself, but it does require you to write a fair bit of your own code on top of the core NAudio libraries.
I need to make a Windows applications which takes audio input (from microphone) and plays immediately to the speaker. If I explain in short, nI eed to make an application which can test my microphone.
I have been exploring Naudio and wmp libraries over the last 3 days but I couldn't get enough help to create it. But I know using these libraries there must be a way to create such an application.
Thanks in anticipation.
You can use two ways
csaudio //hard way, but realy nice
How-record-voice-from-microphone //easy way
EDIT
At list try this
Voice Recorder (here using naudio its opensource)
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?
Is there a way to get the sound that the sound card is playing directly from the hardware?
NAudio is a nice API for sound programming in C#. I'm only discovered it myself, but it might be able to record the output, though probably not...
http://www.codeplex.com/naudio
some sound cars can select the output sound as mic, if that is acceptable then you could just google how to use the microphone...
The most general way is Total Recorder which has a COM interface.
I presume that this is Windows since you are using C#. Ignore this if you are using mono.
There is no officially supported way to do this in Windows. Some sound cards have a setting in the mixer that will set the wave record input to 'what you hear'. So on those cards, you could just set that setting and then record audio.
edit:
I should add that if your driver doesn't have built in support for recording what it's outputing, then you will need to write or purchase a driver that does. I've heard that TotalRecorder can do this.