Last updated: December 27, 2019
If you are like me then you probably love audiobooks and services like Amazon’s Audible that lets you stream your books directly to your phone. Audible is great but what about all those other books that you buy on cd in the store or as mp3 downloads online, or how about those that you download for free from sites like Librivox? Those you need to put on your phone before you can listen to them right? No, you actually don’t anymore.
Until recently I used a software called Subsonic to stream audiobooks to my phone. Subsonic is a great piece of software but it’s aimed at music so there are some problems with using it for streaming audiobooks, for example you can’t get book descriptions in the app. Back in October 2015 this lead me to start looking for a replacement but surprisingly it seems there really aren’t any, or at least there wasn’t back then. Now there is Booksonic, the fork of Subsonic and DSub that I started working on when I realized that was going to be stuck with Subsonic for my streaming needs.
So what is Booksonic then, well the short version is that it’s Subsonic for audibooks. You install a server software on your home PC and then you connect to it with your android phone and it will allow you to stream all your audiobooks to your phone regardless of if you are at home or not. The server is completely free but the Android app will cost you a one time fee of $3, well worth it if you ask me but you probably should ask someone else since I’m a bit partial, being the developer and all.
Now that we know what Booksonic is lets get started installing it. In this guide we will be installing it on a windows machine but it’s also available as a war file so you can run it with tomcat. To make it easier on yourself when running it on other operating systems then Windows I recommend using the Booksonic Docker container created by Linuxserver.io
Step 1. Getting the server
The server is available for download at booksonic.org, since we are installing it on a windows machine we will be downloading the Windows Installer version
Step 2. Installing the server
Once the file has been downloaded you double click it to start the installation. The installer will start to look for java on your machine and if it can’t find it it will ask if you want to install it, hit yes. Once it finds java you will get a welcome screen, here you should click the next button. The next screen will allow you to change where to install booksonic, unless you have a specific reason for changing it you can leave it as it is and click Install. Now uncheck the view getting started document checkbox and hit finish. Congratulations, you have installed the Booksonic server!
Step 3. Setting up the audiobook files
Now it’s time to start setting your up audiobooks. Find somewhere on your computer where you want to store them and go there. I have a folder called Ljudbocker on an external drive called F so for me the location would be F:\Ljudbocker\. In your folder create a new folder for every author you have. It will look something like this
Now go into into the author folders and create new folders for every book. I like to use the format “year – Bookname”, that way I can quickly see what order they should be listened to directly in my file manager but you can use just the bookname as well if you want. Booksonic will get the year from the tags inside the files. As an example this is what my folder for Arthur Conan Doyle looks like this.
Now it’s time to put in your files. Booksonic can handle all major audio file formats. Put your audio files into the books folder, to add a cover put it in as a jpg called cover, if you want to add a book description create a file called desc.txt and put you description in that. To add a narrator you create a file called reader.txt and put in your narrator there. There is a third party tool called Booksonic Library Editor that can help you manage these txt files which has worked great for me.
As an example here is my directory for A Study in Scarlet.
As a last step we are going to set the tags of the music files. For editing those I am going to use a free piece of software called Mp3Tag, it can handle a lot of different formats including mp3, m4a and m4b. I should probably note here that while m4a and m4b usually works with Booksonic there have been some reports about weird bugs with them so I would recommend using mp3 files if possible.
How you prefer to tag the files is up to you but for me I do it like this. If I have a chapter name I set that as the title, if not I set the books name as the title. I set the Author as both Artist and Album artist. The Album is of course the book name, the year I prefer to set as the year the book was released but if you want to use the year the audiobook was released then go for it. Then I set the track number and the cover image. If you want to save some space you don’t have to set the cover in the tags since you already have the jpg in the folder but I recommend you set it anyway in case you want to use it somewhere else. To make it a bit easier for you here is what it looks like for my track 1 of A Study in Scarlet.
Step 4. Configuring the server
Now that you have the server and files in place we need to configure the server so it knows where to find your audiobooks and since we are going to make the server accessible from the Internet we are also going to change the default password. To do this click this URL and it will open Booksonic for you in a new tab. http://localhost:4040
Once the page has loaded you sign in with both the username and password admin
When you sign in for the first time you will be shown a getting started guide. The first thing on this guide is changing the password so lets do that, click on Change administrator password and it will take you to the manage users page. Make sure the user admin is selected and then check the change password box. Enter your new password in the textboxes that appear and hit save. You will be signed out, don’t worry about that, it is normal.
Sign back in with your new password and you will once again see the getting started guide. This time click on Set up media folders. You will see that there is already one folder added that is called music, you can rename that to whatever you want but I usually go Audiobooks, in the field for the folder put in the location to the folder containg your author folders, in my case this was F:\Ljudbocker\. Once that is done, scroll to the bottom and hit save. After this I recommend you do a scan, you can do this by clicking the link called Scan media folders now.
Click on home in the top navigation bar and you will be taken back to the getting started guide, at the bottom of the page you will see a link called Don’t show this again, click that. An alert box will pop up telling you how to get the guide again, click ok.
Step 5. Enable internet access
Congratulations, the server has been completely set up and if you only want to use it at home you are ready, if you want to use it from outside your own network you need to port forward port 4040. Since port forwarding is different on every router I am not going to shw you how to do that but you can find instructions for your router at this portforwarding.com page. You only need to forward port 4040 and should ignore port 80.
Step 6. Installing the Android app
Now it is time to install the Android app. You can find it by searching for Booksonic on Google Play or clicking this link
Step 7. Configuring the app
It’s time to configure the app yo use your server and doing so is very easy.
When you open the app you will see a login prompt. It is prefilled with the information for the demo server but since we have just set up our own server we want to use that instead. Change the address, username and password so they match your server and then click on sign in. If you don’t know the address of your server, click demo and move on to the next paragraph where we go in to more detail about this.
If you want to add more servers or change the server you just added you can do so by tapping the three lines at the top of the left, this will get you a sidemenu or a drawer as it is called in the android world. Click on settings. Now click on servers. You will already have your server or a Demo server here. You can either set up another server or modify the one you already have.
Before we set the server address we will need the IP of your server so on the machine you installed Booksonic go to popeen.com/tools/ip, this will show you your IP address. Now on your app hit server address and set it to http://IP:4040 where IP is the ip of your server. Remember to use both http:// and :4040 or it will not work.
Now set the username and password in the same way and hit Test connection. It should say Connection is OK, if you get anything else go back and redo step 5 and if you still can’t get it to work you can contact me and ask for help at [email protected] or leave a comment below. Once the tests sais Connection is OK you can hit the arrow at the top left corner a couple of times until you get the lines again, click them and the click home.
Congratulations, you are now ready to start streaming your own audiobooks.
I hope this guide has helped you understand how to use Booksonic and if you have any questions at all don’t hesitate to leave a comment below, send me an email at [email protected], visit /r/Booksonic on reddit or read the Booksonic FAQ. If you have any suggestions on how to make Booksonic better I would love to hear them (once again, here, email or reddit).
To end this post I would like to recommend you go and check out David Clarke at verysmallrocks.io. He is the reader of the free Sherlock Holmes books (LibriVox recordings) you saw in my collection and the quality of the recordings are just as good as the stories. If you are seeing this David, thank you once again for your amazing work!