- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is a quote from Audio-Processing description:
Normally, the example expects the stereo input file to contain the loudspeaker signal on the left channel and the microphone signal in the right channel
This example removes feedback from loudspeaker to microphone.
For the current input loudspeaker signal is empty and the result is near the same signal as in the right channel.
Because of SIMULATE_ROOM option enable, probably there are slight difference between signal in the right channel and output signal.
Another quote from Audio-Processing description:
When room simulation is enabled, the right channel of the input file is convolved with the impulse response of an actual room and added to the left channel of the input file to form a simulated microphone signalSo with this option for the current input the output signal will be formed from the right channel itself and convolved right channel and will be similar to the right channel.
Because of it I think that the described behavior is correct.
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. You are right about channel there are the errors in documentation. Inside the AEC_exmp file description is correct left channel is microphone and right channel is loudspeaker.
In the previous answer I quote text from Audio-Processing.txt where there are mistakes with channels. Ill fix this text ASAP.
2. And about your situation.
I try to run this example two times in SIMULATE_ROOM mode: at first with standard input AECtest_sim.pcm (I hope that this file should be in the package) and then with the same input file but with zeroed left channel.
So in the first case I got loud male voice (it was left channel) and slowly disappearing female voice (it was right channel).
In the second case I got silence (it was left channel) and also slowly disappearing female voice (it was right channel).
Yes, for ideal case you should obtain simply empty channel (silence) but in reality there are some noise from right channel that slow disappears with time but usually not equal to zero.
So if in your case you havent got empty channel as the output it is ok, because of this example is not ideal.
In any case for your input the output signal with time should be quieter than original right channel and this difference you should hear.
If not than possible there are problems in this example or in the input file and in this case it requires further inquiry.
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Vladimir,
Can you please send any wav sample that you use and you hear that is really doing AEC?
It do not need send amedia materials due to legal reasons, your own voice is fine.
I am working more then a month and it seems that I got exactly the same resolute as Mr.Le-Chuck has.
I put the speaker in the right channel and mic + Speaker echo in the left, and the resolute has the left change with the echo. No AEC has relay preformed. I try to put speaker in the left and MIC + echo in the right the same. No AEC.
So, if you can, please post here some exe with wav to show that the Intel example really work.
We work more then a month on that and we try all options; It just seems a simple bug at Intel. IPP AEC just do not work. we run it on P4 win XP.
Thank you for your help.
NissimZur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Message Edited by gxulg@hotmai.com on 04-07-2005 02:29 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From the code, we can know that changing that constant just made the APP read less data than before.
I just make it read less data than before(a half as before), the code I changed is belowed:
cBytesRead = fread(pReadBuf,1,cStereoBufSize/4,pInputFile);
if(cBytesRead < cStereoBufSize/4)
{
break;
}
...
cBytesWritten = fwrite(tempError, 1, FRAME_BYTES/4, pOutputFile);
With these changes, the APP can remove all the echo and generate a perfect file.I don't know why I have to do so.
Message Edited by gxulg@hotmail.com on 04-21-2005 10:10 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Doing soyou also have to zero the second half of preadBuf:
pReadBuf[FRAME_SAMPLES*STEREO_CHANNELS];
After your modification only 64 first stereo samples are read, so last 64 to be padded to make sure they are not randomly set.
And OK, generally speaking, adaptation for 128 taps NLMS (16ms echo tail) on half zero padded 128 sample frame is equivalent to that one for NLMS with 64 taps (8ms echo tail) on 64 sample frame w/o zero padding.
So, the code modified that way may work Ok for echo tails <8 ms.
Vyacheslav
Slava
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/* Note: in a real-time streaming implementation, the loudspeaker signal would be routed to the D/A converter here. */
but I still don't know what should I do exactly in a real-time streaming implemnetation. Must I write a D/A converter? Vbaranni, Can you tell me in details?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
AEC... I din't find yet a way to do it on WIN32 platform.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page