How to stream audiobooks to your phone with Booksonic

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 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.

 

So, 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 for Debian based Linux like Ubuntu and Mint. For mac and other systems there is a war file so you can run it with tomcat.

 

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
guide-forfattare

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 my folder for Arthur Conan Doyle looks like this.
guide-arthur-conan-doyle

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. As an example here is my directory for A Study in Scarlet.
guide-study-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.

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.
guide-mp3tag

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 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 5. Configuring the app

It’s time to configure the app to use your server and doing so is very easy.

If you prefer video tutorials Kenneth Loebenberg made one that you can find here, otherwise continue reading.

Open your app and click the three lines at the top left, this will get you a sidemenu or drawer as it is called in the android world. Click on settings. Now click on servers. You will already have a demo server here so instead of adding a new one we are going to modify the one you already have. Click on the demo server. Now click on name and name it Audiobooks.

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] or visit /r/Booksonic on reddit. If you have any suggestions on how to make Booksonic better I would love to hear them (once again, here, email or reddit), you can find all the planned features here

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 unlike some other LibriVox readers his recordings are every bit as good as you would get if you went to the store and bought an audiobook. If you are seeing this David, thank you once again for your amazing work!

15 thoughts on “How to stream audiobooks to your phone with Booksonic

  1. Thanks – I did read and well done with the comprehensive instructions – I’m sure you will help a lot of people – have you come across the Inkstone app Audiobook – it allows commercial and free audiobooks to be downloaded – including Librivox and is built to play those audiobooks in a user friendly manner

    1. Actually no I hadn’t, I looked it up now thou. The problem for me is that they don’t seem to have an Android version so I can’t try it out but the fact that they have premium services built in to the app sounds great. Adding LibriVox support is something I have planned for Booksonic as well but I thought the DRM on Audible would prevent us from using a third party app, will have to look in to this more and see if it would be possible to add it as well because that would be awesome.

  2. Hey looks exactly like what I’m searching for my Qnap NAS. One question about the app: is it also possible to download the audiobooks from the server for listening without active internet connection? Thats a must have for my needs.

    1. Yeah, the app will always cache the files for offline use. How many tracks you want it to preload when you start to listen to a book can be set in the app settings and it’s possible to have different settings for wi-fi and mobile data.

      By default it is allowed to use 2GB for cache (of I remember correctly) but this can also be changed in the settings.

  3. @popeencom: I’ve been playing with your software, but am having a hard time managing my audiobooks. (Reason I am looking for another streaming server for audiobooks than Plex is because of the lack of support for bookmarking the last point of play in a book). I installed the server on Win7.

    When testing the basics for local file access I notice that the created c:\audiobooks is found. However, when adding w:\àudiobooks2 or \\POLAR_WIND\audiobooks3 to the mix, these folders are not found (I have created them in windows and have added a few mp3 files for testing). What could be the cause of this?

    In the webbrowser, when playing a file by clicking on the play-arrow (index page), my Chrome responds by downloading the file. In IE it starts playing the file. How to fix this?

    When playing the file half way, stopping playback, closing and reopening the index page, and play the same file, it starts from the beginning. Shouldn’t it remember where I was (past point of play)?

    Finally I would like to test your android app (no plans for iOS?). When comparing to Plex, I am uncertain if your server really streams, or that download of the audiobook is required. I’ve been reading that you are caching files?

    1. Hi, sorry to hear that you are having some trouble.
      First of all what version of the server are you running?

      When testing the basics for local file access I notice that the created c:\audiobooks is found. However, when adding w:\àudiobooks2 or \\POLAR_WIND\audiobooks3 to the mix, these folders are not found (I have created them in windows and have added a few mp3 files for testing). What could be the cause of this?

      I would guess that you can’t use the first one becuase of the ´ on top of the a, if you use a regular a it should work fine.
      The network drive is a bit interesting and something I haven’t thought about before so thank you for bringing it to my attention. What you need to do is set what user should be used to access the drive booksonic service settings. I will be posting instructions for this in a few minutes. The instructions are available here.

      In the webbrowser, when playing a file by clicking on the play-arrow (index page), my Chrome responds by downloading the file. In IE it starts playing the file. How to fix this?

      Every device (or browser) you use will have it’s own player settings, it sound like your chrome player is set to use an external player. What I would recommend is that you set it to use the webplayer instead, usually the easiest thing is to just delete all the players for your user, next time you start to use Booksonic the server will just create a new one for you with the standard settings which should be web player for chrome. You delete your players at settigs->players.

      When playing the file half way, stopping playback, closing and reopening the index page, and play the same file, it starts from the beginning. Shouldn’t it remember where I was (past point of play)?

      In the app yes, the web player doesn’t have this functionality at the moment.

      Finally I would like to test your android app (no plans for iOS?). When comparing to Plex, I am uncertain if your server really streams, or that download of the audiobook is required. I’ve been reading that you are caching files?

      No, sorry. I have no plans for iOS however you could use any Subsonic app for iOS to connect to the server. I have heard good things about AVSub but I haven’t tried it myself.

      Yeah, technically it pre downloads the books when you hit play to a cache and plays them from there. You can set how many tracks you want to pre download and how much space you will allow the cache to use.

  4. I just stumble across BookSonic and I have a question regarding running Subsonic and Booksonic on the same machine.

    I currently have Subsonic installed and have used it for several years now. Looks like Subsonic and Booksonic both uses http://localhost:4040. How do I differentiate Subsonic vs Booksonic at http://localhost:4040?

    1. You could technically change the port for one of them but due to the fact that the Booksonic server is just a modified Subsonic server you won’t be able to run them on the same machine anyway unless you use something like docker (Booksonic is availiabe as a docker container through a third party, link is on booksonic.org).

      They way I have mine set up is I use only a Booksonic server, then I have one folder for music and one for audiobooks. I then have two different accounts, one that only has access to the music folder and one that only has access to the audobook folder. It works great.

  5. I just installed the server and have a couple questions.
    1) Can I run my regular subsonic server and the booksonic server side by side? I’d still like to access my music using Dsub.
    2) It shows that it scanned my library and there are 317 books, but nothing showing up when I go to the library.

    1. 1. No you can’t but you can still continue to use use DSub for music and Booksonic for audiobooks, thats the way I do it too. The way I have mine set up is I use only a Booksonic server, then I have one folder for music and one for audiobooks. I then have two different accounts, one that only has access to the music folder and one that only has access to the audiobook folder. It works great.

      2. That sounds very weird. Contact me at [email protected] and I will try to help you out with it.

  6. It would have been nice if it contained cloud player, wherein people could paste their cloud url to stream abooks directly from those hosts.

    Anyways , a good program, but only limitation is it depends on diskspace of local drive. I have many audiobooks stored in my dropbox than on my HDD.

    1. I won’t be adding cloud support directly to the app BUT I am currently working on a framework for something I call Emulated Servers that will allow for online hosts like Dropbox, Librivox etc to be used as separate servers inside the app.

  7. I would really like to organize my audiobooks by genre first, then author and then title. Your server does not seem to support that kind of subdivision. My desire is based on knowing the rest of my family will not be interested in plowing through my large sci-fi collection to get to their fiction or non-fiction books.
    Thanks for your hard work!

Leave a Reply

Your email address will not be published. Required fields are marked *