Hi all, I found an interesting paper on psychomodel 1 which may contain some useable ideas: (it also comes with C source) ftp://ftp.icsi.berkeley.edu/pub/real/kyrill/PsychoMpegOne.tar.Z They discuss using formula for values instead of tables and thus (this is the good bit) they can apply the psycho model to *any* bitrate, not just the 48/44.1/32 rates. They don't discuss speed aspects though, and I'd hazard a guess that it's quite slow. Source code is there for all to see. I've found on my p166 box, that loop order in a for() statement does affect speed. I've mostly seen that a for(i=999; i>0;i--) is faster than if we started with 1 and counted up. And yes, there are still plenty of loops within toolame which need looking at. Toolame01e is at www.cryogen.com/mikecheng Main change is adding the FHT-based fft() from the LAME code. Which speeds it up a significant amount. II_f_f_t() now calls fht() rather than doing its own fft. Did other cleanup and changed default settings (192kbps, .mp2 filename) Added a downmix to mono mode. Added Patrick's scale_factor_calc If you've got an idea, send it in. If you've got a patch, mail it to me. (caveat: try to keep individual patches simple. ie small incremental changes :) Time to code Babylon5 Track 1 (236 seconds) @ 128kbps toolame psy1 226seconds psy2 284 nopsy 91 nopsy mono 55 CDEX-iso 220 Iomega recordit 60 later mike -- MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )