In this article, I will go over how I was able to make my own "streaming" platform (more like network share) so I could access my music from any device. There's really not all much too it, but I think it would be cool to mention.
You are going to want to make sure samba is installed, which can be done by running sudo apt install samba. Then, you're going to want to edit your /etc/samba/smb.conf file in any text editor and add:
[Music]
path = /path/to/Music
browseable = yes
read only = no
guest ok = no
Next, you are going to want to set a samba password. This is what you will use to log in to your server. You can do this by running the following command:
$ sudo smbpasswd -a youruser
...where "youruser" is the name of your Linux user.
And now, enable your user and restart the samba service:
$ sudo smbpasswd -e youruser
$ sudo systemctl restart smbd
$ sudo systemctl enable smbd
And you're halfway there! You just did the hard part. You set up your samba share, and now it's time to access it.
Now for the fun part: actually playing your music.
On Windows, you can access your Samba share just like any other network drive. Open File Explorer and in the address bar, enter:
\\server-ip\Music
For example:
\\192.168.1.50\Music
You should be prompted for a username and password. Use the Samba credentials you created earlier. Once connected, you can browse your music folder as if it were local.
To make this permanent, you can map the share as a network drive. Right click This PC -> Map network drive, choose a drive letter, and enter the same network path above. This makes the share appear like a normal hard drive on your system.
Once that’s done, open Winamp and click on "Add folders." Then, in the file browser, navigate to your Samba share. Choose the folder you want, and press Ok. Winamp will index and play everything as if it were on your hard drive. In fact, I don't think Winamp even knows it isn't on your hard drive.
Okay, I'm going to address the elephant in the room here. You're not actually streaming the audio. You're just requesting the data in chunks. Why does this matter? Depending on your network speed, it might take longer to fetch certain parts of the song. When this happens, you can expect a stutter. I don't really know how to get around this, but it can be mitigated by changing the buffer size in Winamp. I use 6000ms which is absurd but it works.
Happy listening!