Currently there is no way in MonoGame to load a Song from a stream. All other assets (at least the types I use) can be loaded from streams somehow, but for Songs the only option available is to load them from an URIs which doesn't help if one creates a package for his game assets (for easy modding and simplified management).
I imagine a stream is read at some point so even if direct creation of Song object from stream may be not possible, maybe there is a way to intercept that read request and send my on bytes buffer.
When you say load from streams, you mean the filestream classes that are a part of the System.IO namespace. Also do you mean creating a new content pipeline loader using FileStream classes?
Yes, I mean loading songs from something like a System.IO.Stream.
Textures have Graphics.Texture2D.FromStream(...) or ContentManager.Load
I will have to look into that. Would be cool to put that in. 馃槉
Historically, there is no Song.FromSteam() because there was no WMA decoder that accepts steams on Windows (for instance, Media Foundation, and therefore SharpDX don't allow it). Don't know if it's still the case today, but this will probably imply to ditch the WMA format, which is something we may not want for XNA backward compatibility.
A good start would be to look for a Windows WMA decoding library that accepts streams, and not just URIs. Once we get there, we'll have to make the WindowsDX target to use it, and once this is done, we can start thinking about adding FromStream to all platforms.
FYI. At least with XACT i was able to hack a streaming implementation under the hood with just access to DynamicSoundEffectInstance. I'll try to find time to contribute that code back as it worked fairly well for like less than 200 lines of code.