Adding a song: seeking an example for best practice screen design

I created a modal for users to select mp3 audio.
I have two relevant collections, with relationships between the two:
1- mp3 url, song name, etc… in the Users collection
2- Song history collection
The result is “too much information”… I’m looking for something more elegant..
The modal includes:
a. a “file picker" - to upload if the music file already on the device
b. a form to enable URL to be added directly to the collection
** is there a component that could handle both cases: upload from device OR paste a URL of mp3 file?
c. the screen also incudes an audio player, to listen and mark yes/no or the selected song. Once confirms, the song is added to the user;'s record and the modal is closed.
d. last in the screen, the list of “songs history” to go through in case the user wants to select a song already in history.

I searched for an example of an app or a screen doing the same or at least #a, #b, #c… couldn’t find.
Thanks in advance if you could help with best practice design points!!