The speech side of this alone is enough for a full project.
Consider the problem you are trying to solve first. Are you simply trying to develop a way for a number of people to collaborate over the internet, or does it really have to be a "3d immersive environment"? From a user experience perspective, one could argue that a "3d immersive environment" makes actual collaboration more difficult, due to having to figure out how to immerse yourself in the 3d world. How much time do you expect a user to customize their appearance, for example? Would this time be better spent actually collaborating? Could you get away with using something like a Wiki, forum, chat room, or some other service designed for collaborative discussion of a presentation (webinar)?
If "3d immersive environment" is not absolutely essential, I would say consider using existing video conferencing solutions, like Skype, Google Hangouts, or for just voice, Ventrilo. If you wanted more control over how the interface works, you could program your own solution using an API like Opentok. By definition a user does not have to "customize" their appearance with video, and you leverage the existing platform. All of these platforms have spent considerable time thinking about scaling issues (not just network / server scaling, but also as an example, what happens if three people are trying to talk at the same time and nobody is wearing headphones?)
If it is essential, but you don't necessarily have to make it yourself, consider Second Life or an existing 3d avatar service. I believe SL provides VoIP and I would imagine alternatives do as well. Even if you just found an acceptable 3d avatar service with no VoIP, you could always use it in combination with another VoIP service (perhaps Ventrilo).
Now, if you really insist on creating a 3d world with VoIP yourself, my personal bias is to suggest using Flash. It is a very well developed programming platform, it can handle this challenge and since it is so popular, you may even be able to find and leverage existing middleware (like VoIP) for the various components of the project. Unfortunately, I can't provide any concrete examples, except that Opentok does have a Flash SDK.
On top of this, you will need to consider server-side development as well, or some sort of P2P solution. The user will have to get information about each other user (position, appearance, audio, etc) in some fashion. Again, I can't provide much in the way of concrete suggestions, but know that it is going to be a large part of the work.