Technical discussions related to Audio Signal Processing (digital effects, acoustics, noise reduction, musical signal processing, etc).
Hi all, I have a mixed wav file is consist of different voices. For example, a person is speaking and at the same time, there is playing a song on the background of speaker. I want to split this two different voices from this wav file and i want to have either song voice or speaker voice as different wav files. I tried lot's of ways like fft, low and high pass filters and so on, but i was not successful. Any one can help me? ------------------------------------
Hello, > I have a mixed wav file is consist of different voices. For example, a > person is speaking and at the same time, there is playing a song on > the background of speaker. I want to split this two different voices > from this wav file and i want to have either song voice or speaker > voice as different wav files. I tried lot's of ways like fft, low and > high pass filters and so on, but i was not successful. Any one can > help me? If you have one of the voices "isolated" on another wav (it doesn't matter if it has the same signal level of that on the "mixed" wav), you can *adaptively* remove it. One popular adaptive filtering algorithm is LMS (least mean squares). As an example of its application, the most common one is eco cancellation on hands-free telephones (to remove your own voice's echo when using the speaker). Regards, Mercedes. ------------------------------------
cetintozkoparan wrote: > I have a mixed wav file is consist of different voices. For example, a > person is speaking and at the same time, there is playing a song on > the background of speaker. I want to split this two different voices > from this wav file and i want to have either song voice or speaker > voice as different wav files. I tried lot's of ways like fft, low and > high pass filters and so on, but i was not successful. Any one can > help me? What you are trying to do is called Blind Source Separation. With highly contrived test cases it is, to a certain extent, possible, but for the general case it is not. Erik -- ----------------------------------------------------------------- Erik de Castro Lopo ----------------------------------------------------------------- "Linux everywhere pretty much eliminates the need for Java everywhere" -- Bruce Ide in letter to LWN editors ------------------------------------
Thank you for your replies. Firstly, i want to do this: I can do fast fourier transform but, how can i compute this fft frequency? i am not doing good. For example, Is there a silence in a wav file in first 10 second. If there is silence, magnitude is low, I want to print "in ten seconds, there is no noise".After, if i want, i crop this silence. Or somebody is talking between 10. and 20. seconds. I want to print "There is noise between 10. and 20. seconds" In conclusion, i want to do this. I want to progress gradually. Have you any idea and sample about processing fft? ------------------------------------