I am making a voice recognition software for my computer but I have some problems: 1) Is there a way to ignore background noise? I want the program to end when there is x amount of time without noise but background noise could keep it awake indefinitely. 2) same thing but reverse, I want it to start when it hears a voice but loud enough background noise will start it as well.
Asked
Active
Viewed 566 times
0
-
For your 2nd problem I searched "pyaudio threshold" and found this: http://stackoverflow.com/questions/2668442/detect-and-record-a-sound-with-python – chrki Dec 23 '14 at 22:29
1 Answers
0
Sorry, I can't provide any code, only pseudocode. You can create en enum, or a list, of possible phonemes spoken. Activate the program only when the ADSR pattern of the phoneme is recognized, with volume as a secondary indicator, to separate "background" phonemes. If the background noise is so loud that it interferes with the recognition of the phoneme, then it shouldn't be considered a background sound in the first place.
Aah = 1
Ahh = 2
Ehh = 3
...
if soundEvent == true:
if phoneme.type = Aah:
what_i_said = "a"
...

Orange Mushroom
- 431
- 4
- 16
-
You don't need to write down what they said, but as long as a phoneme is spoken, you know someone is talking. – Orange Mushroom Dec 23 '14 at 22:43
-
-
I know, probably rogue or accidental voting, did you vote up to neutralize it? – Orange Mushroom Dec 26 '14 at 00:05