Hi, to answer your first question, I use Mercurial for source control, so if you want to use TFS it will not be a "fork" in the sense that you can issue pull requests. Nothing stopping you creating your own project that is a fork.
For the second question, I advise you start by reading the patch submission guidelines here
As a general rule, the submissions I accept are either bugfixes to existing NAudio components, or new components which I think will be useful to a wide range of users (the goal is not to collect every conceivably possible audio related class). NAudio is very loosely coupled, so most of the time you can extend it simply by creating your own new classes that derive from existing ones, or adding extension methods. It is rare that you would actually need to make your own custom fork of NAudio - just put your extensions in your own assembly. This is actually how I add almost all new features to NAudio - I create the components in another project, and once I am convinced they work well and might be general purpose, I move them into the core library.
For the second question, I advise you start by reading the patch submission guidelines here
As a general rule, the submissions I accept are either bugfixes to existing NAudio components, or new components which I think will be useful to a wide range of users (the goal is not to collect every conceivably possible audio related class). NAudio is very loosely coupled, so most of the time you can extend it simply by creating your own new classes that derive from existing ones, or adding extension methods. It is rare that you would actually need to make your own custom fork of NAudio - just put your extensions in your own assembly. This is actually how I add almost all new features to NAudio - I create the components in another project, and once I am convinced they work well and might be general purpose, I move them into the core library.