Project

scrunch

0.0
No commit activity in last 3 years
No release in over 3 years
A tool to make audiobooks smaller
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0.6.0
~> 10.0
~> 3.0
~> 0.46.0

Runtime

~> 1.13
 Project Readme

Scrunch

About

Squish audiobooks with force.

Scrunch is a tool to convert audiobooks into tiny, HE-AAC v2-encoded files. These files are high-quality with small file sizes and designed for things like audiobooks. Importantly, they are totally supported on iOS, so you can carry enough books on your phone to last a lifetime or two. That’s how you win at the game of life.

Table of Contents

  • About
  • Requirements
  • Installation
  • Usage
  • Notes
  • Roadmap
  • Change Log

Requirements

You need a few things to scrunch.

  1. A computer running macOS. 10.13 High Sierra to 10.11 El Capitan are supported for sure. Previous versions probably work fine too, but I don’t have computers to test for sure. macOS is needed for the afcovert tool that is made by Apple, and only present on macOS. Sorry.
  2. AtomicParsley. This is best installed via Homebrew. Install Homebrew via its instructions then run brew install atomicparsley in your terminal. It’s available on MacPorts and Nix too.
  3. (Optional) Ruby. macOS ships with a totally useable version of Ruby, but it requires a password to install gems. So maybe brew install ruby? I’m using Ruby 2.5.0, but it should run on any reasonably modern version of Ruby.

Installation

Scrunch is a ruby gem. Install it via gem install scrunch and get scrunching. Also then listen to the audiobook. Why would you make an audiobook totally awesome and not listen to it after? That’s crazy.

Usage

That’s the easy part. Get an audiobook that you want to scrunch, then run scrunch path/to/audiobook.m4b in the terminal. Scrunch currently only supports m4a/m4b files, and it won’t currently concatenate audiobooks that are broken up into multiple files.

Notes

Scrunch is currently under development. It will be better in the future.

Roadmap

Make New Audiobooks

Currently, Scrunch can make audiobooks smaller, but it really can’t make new audiobooks. That would involve concatinating files together, then compressing the single-file result. Currently scrunch /path/to/file.m4a compresses a single file, and I like that. The new option would be scrunch /path/to/dir/ to concat and compress all the compatible files in the directory. There could be a --dry-run option to show which files would be processed and in what order, but I don’t think that’s super needed. The metadata could be grabbed from the first file concatinated, then applied to the final file. That seems reasonable.

Support More File Types

I think that afconvert actually supports .mp3 files. If I could support those as well, I could support every single (important) file type that an audiobook is likely to come in. Should be simple enough, I hope.

Remove Dependency on AtomicParsely

Forcing people to install AtomicParsley is not particularly user-friendly. Sorry about that. I only use it because I know how to use it. There’s a gem called mp4info that claims to be a possible replacement. If I could switch to using it, running gem install scrunch would be all you needed to do. That would be cool.

Allow Setting Metadata

Some audiobooks don’t come with the metadata that they need. I could use AtomicParsley to set it (currently that’s exactly what I do), but if I’m removing it as a dependency, then it would be nice to have a simple way to set the necessary info while I’m making books anyway. Also, then I could use names like “author” instead of “artist” and “cover” instead of “artwork.” Sometimes it’s the little things.

Change Log

v0.1.1

  • (Hopefully) fix dependencies so that bundler is installed if needed.

v0.1.0

  • Initial release.