Audible runs on most of devices and via web browser. Still some odd devices only support MP3. This note is to convert Audible files you *own* to mp3 to listen to them on those odd devices.
Linux (Ubuntu 20), console, Chrome browser, Chrome driver
Optional: bash, ffmpeg, mid3v2
- Download Audible files from Audible site using your ID, PW. The files are .aax format.
- Using an open source project, get "activation code" with your ID/PW.
- Using another open source project, convert AAX to MP3 with the activation code.
- When .aax is converted to mp3, the converter split them to multiple mp3 files, cover.jpg, and play list (.m3u).
- Optional S/W and steps are needed to do: merge all the mp3 into one mp3 file with cover image embedded.
 Log onto Audible.com, click on 'Library' at the top. Click on Download button.
 Get activation code
- $ git clone https://github.com/inAudible-NG/audible-activator.git
- Check your Chrome browser version
- Download an appropriate chrome driver version, https://chromedriver.storage.googleapis.com/index.html
- Unzip the download file. Find and copy chromedriver executable into directory audible-activator
- cd audible-activator
- ./audible-activator.py -l us
This will ask Amazon ID/PW. Then it will give Player ID and activation_bytes:
$ ./audible-activator.py -l us
Username: [email protected]
[*] Player ID is SOME_PLAYER_ID
ATTENTION: Now you may have to enter a one-time password manually. Once you are done, press enter to continue...
SOME_CODE is what you need for the next step, converting to MP3.
 Convert AAX to MP3
$ cd AAXtoMP3
$ ./AAXtoMP3 --authcode SOME_CODE AUDIO_BOOK.AAX
It will create directory Audiobook/[AUTHOR]/[BOOK TITLE]/, and place .mp3, cover.jpg, play list file - .m3u files.
As mentioned, above step will create multiple mp3 files. For some odd devices, you'd want to have only 1 mp3 file per book, and cover image embedded.
- To merge mp3 files into one, use ffmpeg.
- To add conver.jpg to the mp3, use mid3v2. To obtain the s/w, do
$ sudo apt install python3-mutagen
Create a text file mp3list.lst, containing:
$ ffmpeg -f concat -safe 0 -i mp3list.lst -metadata artist="$author" -metadata title="$book" -c copy $path/merged.mp3
Adding cover image:
$ mid3v2 -p cover.jpg merged.mp3
With a lot of AAX files, merging and adding cover image steps are tedious. Here is a script I wrote to automate it (https://gist.github.com/keithkim/7c9ac8b7cd291bbcdb1a61ad29691048). Save in Audiobook directory and run it from there: