🎧 Listen to audio books 📚 on Linux

921
56
Python

Unit Testing

Download on Flathub

It’s getting Cozy

Screenshot

Cozy is a modern audiobook player for Linux.
Head over to Matrix to join the conversation.

Here are some of the current features:

  • Import your audiobooks into Cozy to browse them comfortably
  • Sort your audio books by author, reader & name
  • Remembers your playback position
  • Sleep timer
  • Playback speed control
  • Search your library
  • Offline Mode! This allows you to keep an audio book on your internal storage if you store your audiobooks on an external or network drive. Perfect for listening on the go!
  • Add mulitple storage locations
  • Drag & Drop to import new audio books
  • Support for DRM free mp3, m4a (aac, ALAC, …), flac, ogg, opus, wav files
  • Mpris integration (Media keys & playback info for desktop environment)

Install

Distro Package
Flatpak Download on Flathub
openSUSE
cozy
Fedora
cozy
Arch Linux (AUR) cozy-audiobooks
VoidLinux cozy
Solus cozy
MX Linux
Cozy
elementaryOS Currently out of date. Please use Flatpak for now.
Ubuntu (PPA)
cozy
OpenBSD
cozy
Nix
cozy

elementaryOS

The App Center version of Cozy is currently out of date. elementaryOS ships with old versions of dependencies needed by Cozy. Those are not compatible anymore. Therefore I’m unable to update the App Center version to the latest version of Cozy. Please switch over to the Flatpak version for now. If you experience issues with moving your library, let me know!

elementaryOS is working on a new version of App Center which will be based on Flatpak. When the new App Center is live, Cozy will be back on the app center! 😃 Thanks for everyone who supported me on the App Center.

macOS

Currently discontinued

There is an older beta of Cozy 0.6.7 which is tested on macOS 10.14. It might not work with newer versions of macOS.
Because the build process is rather complicated and not easy to automate I’ve currently discontinued building for macOS. If you’re interested in the build process: have a look at my writeup.

Some information about the old beta:

  • no integration in notification center or any other desktop integration really
  • media keys are not working
  • dark mode requires 2x switching in settings + is not loading automatically at startup
  • large Cozy.app

You can download it here: Cozy 0.6.7 beta3 for macOS

Development

See DEVELOPMENT.md for detailed instructions and developing Cozy on Ubuntu.

Requirements

  • python3
  • meson >= 0.40.0 as build system
  • gtk4 >= 4.10
  • libadwaita >= 1.5.0
  • peewee >= 3.9.6 as object relation mapper
  • mutagen for meta tag management
  • distro
  • requests
  • pytz
  • gi-cairo
  • gst-1.0
  • file
  • gstreamer1.0-plugins-good
  • gstreamer1.0-plugins-bad
  • gstreamer1.0-plugins-ugly
  • gstreamer1.0-libav for mp4 support

Bundled Requirements

This dependency is bundled because it is not generally available as a linux package. The licence is respected and included.

Build

$ git clone https://github.com/geigi/cozy.git
$ cd cozy
$ meson <build_dir> --prefix=<installation_dir>
$ ninja -C <build_dir> install

Update po files

$ ninja -C <build_dir> com.github.geigi.cozy-update-po
$ ninja -C <build_dir> extra-update-po

Running a local build

XDG_DATA_DIRS=<installation_dir>/share:/usr/share \
PYTHONPATH=<installation_dir>/lib/python3.[your_python3_version]/site-packages \
  app/bin/com.github.geigi.cozy

Q&A

I have imported wrong files and cannot get rid of them:

Delete the following folders to reset cozy (this will loose all saved progress):

~/.local/share/cozy
~/.cache/cozy

I can’t uninstall the Flatpak:

Try

flatpak uninstall com.github.geigi.cozy/x86_64/stable

or

flatpak uninstall --user com.github.geigi.cozy/x86_64/stable

Thanks to @Meresmata

I store my audiobooks in a location that is not accessible in the Flatpak sandbox:

You can override the flatpak settings and allow access to a path (e.g. /media) like this:

flatpak --user override --filesystem=/media com.github.geigi.cozy

A big thanks

To the contributors on GitHub:

  • A6GibKm
  • alyssais
  • apandada1
  • AsavarTzeth
  • Fatih20
  • NathanBnm
  • camellan
  • chris-kobrzak
  • elya5
  • foliva
  • grenade
  • jimmac
  • jnbr
  • jubalh
  • kaphula
  • leuc
  • magnickolas
  • meisenzahl
  • naglis
  • oleg-krv
  • paper42
  • phpwutz
  • rapenne-s
  • rdbende
  • thibaultamartin
  • umeboshi2
  • worldofpeace

The translators:

  • Ainte
  • AndreBarata
  • Andrey389
  • Asyx
  • BunColak
  • Caarmi
  • CiTyBear
  • Distil62
  • Fitoschido
  • Floflr
  • Foxyriot
  • HansCz
  • IngrownMink4
  • IvoIliev
  • Jagadeeshvarma
  • Kwentin
  • MageJohn
  • NHiX
  • Nimmerliefde
  • Oi_Suomi_On
  • Okton
  • Panwar108
  • Potty0
  • Sebosun
  • TheMBTH
  • TheRuleOfMike
  • Vistaus
  • W2hJ3MOmIRovEpTeahe80jC
  • WhiredPlanck
  • _caasi
  • aKodi
  • abcmen
  • abuyop
  • albanobattistella
  • amadeussss
  • andreapillai
  • arejano
  • artnay
  • b3nj4m1n
  • baschdl78
  • camellan
  • cavinsmith
  • cho2
  • chris109b
  • cjfloss
  • ckaotik
  • corentinbettiol
  • dtgoitia
  • dzerus3
  • elgosz
  • endiamesos
  • eson
  • fishcake13
  • fountain
  • fran.dieguez
  • georgelemental
  • giuscasula
  • goran.p1123581321
  • hamidout
  • hkoivuneva
  • jan.sundman
  • jan_nekvasil
  • jouselt
  • karaagac
  • kevinmueller
  • leondorus
  • Sabri Unal
  • linuxmasterclub
  • magnickolas
  • makaleks
  • mannycalavera42
  • mardojai
  • markluethje
  • milotype
  • mvainola
  • n1k7as
  • nikkpark
  • no404error
  • nvivant
  • oleg_krv
  • ooverloord
  • oscfdezdz
  • pavelz
  • rafaelff1
  • ragouel
  • saarikko
  • sobeitnow0
  • sojuz151
  • steno
  • tclokie
  • test21
  • thibaultmartin
  • translatornator
  • tsitokhtsev
  • twardowskidev
  • txelu
  • useruseruser1233211
  • vanhoxx
  • vlabo
  • xfgusta
  • yalexaner
  • bittin

To nedrichards for the Flatpak.

Help me translate cozy!

Cozy is on Transifex, where anyone can contribute and translate. Can’t find your language in the list? Let me know!

If you like this project, consider supporting me on Patreon 😃


Maintainability