Solved

How can I know  if  the people start to speak and stop speaking?

Posted on 1998-12-06
8
256 Views
Last Modified: 2010-04-02
My prgoram need to record people's speech via microphone.
(only in one or two minutes)

And if he haven't speak,there is only backgroup noise.
at this time I didn't want to record the sound file,
I want is When he start to say,then I start record the file.
so how can i know if he starts to speak ,
and how can i kown if he stops?

another question: how can i filter the background noise?
0
Comment
Question by:jackton
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 22

Expert Comment

by:nietod
ID: 1179390
Just analize the signal in small slices and look for an intensity that is greater than some sort of threshhold value, if it is above the value start recording (starting with that segment, not the next one).

>> another question: how can i filter the background noise?
This sort of question is the focus of many PhD thesis, scientific papers and patents.  But one basic approach is to record a short segment of the background noise and perform a fourier transform on it to get its spectral components.  Then to filter out the noise from a recording, perform a transform on the recording (short segments of it) to get the spectral components, subtract off the components of the noise.   Then perform another transform to get the "cleaned" signal.

If that is unfamilair to you, your probably should take a trip to a library and do some research on waves, aucostic signals, fourier transforms and signal processing.  
0
 
LVL 86

Expert Comment

by:jkr
ID: 1179391
Just an additional comment: As a (discrete) Fourier transformation consumes lots of CPU time, you should concentrate on the frequency components of interest, e.g. up to 20 kHz.
And the 'treshold' can easily be evaluated by calculating the square of the area between the signal graph and the time axis (which corresponds directly to the signal energy and is the same in both Fourier and time domain).
Another pointer: When you're already heading to the library, be sure to also look for books on Z transformation ;-)
0
 
LVL 10

Accepted Solution

by:
Lischke earned 150 total points
ID: 1179392
jiangtao,

as you suggested I marked this comment as answer to get the points. I'd prefer, though, that we discuss further questions in public to let other people participate.

Ciao, Mike
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:jackton
ID: 1179393
Thanks all.
0
 
LVL 86

Expert Comment

by:jkr
ID: 1179394
What is THIS??????
Well, i think any accepted solution should be visible here, in order to not waste the points of people that reqest a PAQ!!!
0
 
LVL 10

Expert Comment

by:Lischke
ID: 1179395
Sorry for that. See http://www.experts-exchange.com/topics/comp/lang/delphi/Q.10105812 for the solution.

Ciao, Mike
0
 
LVL 86

Expert Comment

by:jkr
ID: 1179396
Well, IMHO, this doesn't help - see, i am not interested in this particular solution (having done enough signal processing by myself), but: If sombody is interested in a solution, requsts this PAQ, spends his/her points on it and is just redirected to a Delphi PAQ (on which points also have to be spent), he/she must consider this a hoax...
0
 
LVL 10

Expert Comment

by:Lischke
ID: 1179397
Hey jkr,

you're right and it'll not happen again. Let's close down this fruitless discussion.

Ciao, Mike
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
sorting efficency of sorting algorithm 30 147
Path to  STL Map header file 1 89
Create a path if not exists 7 120
object oriented programming comparison 5 92
Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question