We need a Spotify-like music streaming system, where users can sign up and then use a multi-platform PC client (Windows and Linux must be supported, the exact technology used to achieve this is irrelevant) or a client on their Android device to sign in and stream music.
Signed in users will be able to listen to tracks which they can search either by title, artist, album or user-generated playlists. By clicking on an artist's name in search results or playlists, users shall be presented with a list of all tracks by that artist. Similarly, upon clicking on an album, they shall see all tracks on that album.
Downloaded tracks shall be available to listen to at any time, however, they have to be in an encrypted format so they can only be listened to with the official client. It shall be possible to download whole albums or playlists as well as individual tracks.
Playlists shall be able to hold an unlimited number of tracks. They shall have a unique ID which can be shared with other users, who can then also see or copy the playlist (but not edit it).
There shall be an administration interface, allowing for audio files in FLAC format to be added, as well as metadata to be edited.
There shall be different levels of users. On each level, a daily limit of tracks members of that level can listen to can be set, as well as whether or not users of that level are allowed to create playlists (and how many) or download tracks to their device (again with the possibility to limit the number). Higher levels will be available for purchase and valid only for a limited amount of time after which the account falls back to the basic level unless renewed. If a status change leads to a lower number of allowed downloaded files, the client shall delete the least frequently played downloaded tracks. If a status change leads to a lower number of allowed playlists, users shall be unable to access the least frequently used playlists which shall reappear if other playlists are deleted or upon a status change allowing more playlists. Also, individual tracks may only be available to users of certain levels. Administrators shall be able to set which levels a track should by default belong to as well as change the setting for each track individually.
Depending on your bid, we can create the project's website and payment gateway ourselves.
As I certainly left many questions open, please do not hesitate to ask.