I will store the tracks in a mySQL database, and get the genre(s) from the soundcloud page, or if you prefer the genres could be manually entered.
On the landing page, the user will be able to select either a single genre or multiple genres, and then the website will select a random song from the database that either matches all the genres selected(if such a song exists), or one that matches some of the genres selected.
There will be a separate mySQL database that contains the promoted songs along with a track count. After 5 songs have been played, the website will pick a song from the promoted songs database which is of the genre selected. This database could also track how many times each promoted song has been played and then select the song that has the least plays, ensuring each promoted song gets an equal amount of plays.
It would also be possible to block the 'skip' button on the promoted songs.
For more information, feel free to message me, I would love to get involved in this project.
I am an experienced UK web designer, specifically focused on php and I believe I can complete your project.