I have heard that same noise on some E46s back then, and resulted to be a faulty belt tensioner and a bad alternator bearing, after those 2 parts have replaced the noise went off. It's so simply to know or to find out if you got either of those two faulty parts, with the engine running (idling) put some water in the belt tensioner and/or alternator bearing, if the noise goes off, without a doubt you got either a bad tensioner or a bad alternator bearing, both of them are very easy to replace yourself and they are not so expensive. Hope you find the problem soon !