Paperclip Waveform

Paperclip Waveform is a Paperclip post-processor. It generates a png file with the waveform from an audio attachment.

Usage

Waveform depends on ruby-audio, which in turn depends on libsndfile.

Build libsndfile from (http://www.mega-nerd.com/libsndfile/), install it via apt (sudo apt-get install libsndfile1-dev), libsndfile in macports, etc...

ffmpeg is also required to convert original files to WAV

sudo apt-get install ffmpeg

Then add the gem to your Gemfile:

gem 'paperclip_waveform'

And the style to your audio:

class Audio < ActiveRecord::Base
has_attached_file :file,
                  styles: { waveform: { format: :png, convert_options: { color: "transparent" } } },
                  processors: [ :waveform ]

Take a look at https://github.com/benalavi/waveform/blob/master/bin/waveform for available options