Hello all, Today I tried speex echo cancellation on my VoIP application running on a windows mobile based PDA (OMAP1510 168MHz). The result is disappointing: it takes 150-250 ms to do echo cancellation (by calling speex_echo_capture() ) for a 20 ms frame! I've defined the FIXED_POINT macro. Is there anyway to do some optimization? Nick
> Today I tried speex echo cancellation on my VoIP application running > on a windows mobile based PDA (OMAP1510 168MHz). The result is > disappointing: it takes 150-250 ms to do echo cancellation (by calling > speex_echo_capture() ) for a 20 ms frame!Are you by any chance using an insane sampling rate and/or tail length. Try a sampling rate of 8000 Hz, 128-sample frame size and 1028-sample tail length.> I've defined the FIXED_POINT macro. Is there anyway to do some > optimization?Probably. With the params above, the AEC should be able to run in real-time on an ARM CPU. Jean-Marc
2006/11/2, Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>:> > Today I tried speex echo cancellation on my VoIP application running > > on a windows mobile based PDA (OMAP1510 168MHz). The result is > > disappointing: it takes 150-250 ms to do echo cancellation (by calling > > speex_echo_capture() ) for a 20 ms frame! > > Are you by any chance using an insane sampling rate and/or tail length. > Try a sampling rate of 8000 Hz, 128-sample frame size and 1028-sample > tail length.In my appliation, the sampling rate is 8000 Hz, and time stamp is 20ms, doesn't it mean I should initialize echo_state like speex_echo_init_state(160,n*160)?> > > I've defined the FIXED_POINT macro. Is there anyway to do some > > optimization? > > Probably. With the params above, the AEC should be able to run in > real-time on an ARM CPU. > > Jean-Marc > >