greenbee
Newbie level 3
- Joined
- Feb 12, 2009
- Messages
- 3
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
- 1,312
I'm looking to detect the presence of a person who irregularly repeats one specific word (e.g. 'rhinoceros' ..... 'rhinoceros' .. 'rhinoceros' ...............'rhinoceros') in a room with other people talking. If the person is not present, that word will not be used at all.
Also, the amplitude of his voice may not be constant as he could be wandering around the room.
What's the best way to detect the presence or absence of this word?
One solution I've thought of would be to process a 1 second sliding window of the incoming sound data.
I would high pass filter this and then look for zero crossings to get a digital feature vector (to get around the varying amplitude issue), and then perform cross correlation with a similarly processed recording of 'rhinoceros'. Correlation above some arbitrary threshold would indicate the presence of the word.
This doesn't seem very elegant to me though as I'm throwing away all the amplitude information.
Anyone have a better idea? I feel like there should be existing algorithms that solve exactly this kind of problem but I'm not well informed enough to know what they are.
Thanks in advance for your thoughts!
Also, the amplitude of his voice may not be constant as he could be wandering around the room.
What's the best way to detect the presence or absence of this word?
One solution I've thought of would be to process a 1 second sliding window of the incoming sound data.
I would high pass filter this and then look for zero crossings to get a digital feature vector (to get around the varying amplitude issue), and then perform cross correlation with a similarly processed recording of 'rhinoceros'. Correlation above some arbitrary threshold would indicate the presence of the word.
This doesn't seem very elegant to me though as I'm throwing away all the amplitude information.
Anyone have a better idea? I feel like there should be existing algorithms that solve exactly this kind of problem but I'm not well informed enough to know what they are.
Thanks in advance for your thoughts!