Giter VIP home page Giter VIP logo

scrunch's Introduction

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

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.

scrunch's People

Contributors

geoffmacintosh avatar isaacazuelos avatar

Stargazers

 avatar

Watchers

 avatar  avatar Andy Williams avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.