Skip to content

simultaneously transcode and generate visuals for an audio file

License

Notifications You must be signed in to change notification settings

andrewrk/waveform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

waveform

Input: any format audio or video file

Output: any or all of these:

  • transcoded audio file
  • waveform.js-compatible JSON representation of the audio file
  • PNG rendering of the waveform

Usage

waveform [options] in [--transcode out] [--waveformjs out] [--png out]
(where `in` is a file path and `out` is a file path or `-` for STDOUT)

Options:
--scan                       duration scan (default off)

Transcoding Options:
--bitrate 320                audio bitrate in kbps
--format name                e.g. mp3, ogg, mp4
--codec name                 e.g. mp3, vorbis, flac, aac
--mime mimetype              e.g. audio/vorbis
--tag-artist artistname      artist tag
--tag-title title            title tag
--tag-year 2000              year tag
--tag-comment comment        comment tag

WaveformJs Options:
--wjs-width 800              width in samples
--wjs-precision 4            how many digits of precision
--wjs-plain                  exclude metadata in output JSON (default off)

PNG Options:
--png-width 256              width of the image
--png-height 64              height of the image
--png-color-bg 00000000      bg color, rrggbbaa
--png-color-center 000000ff  gradient center color, rrggbbaa
--png-color-outer 000000ff   gradient outer color, rrggbbaa

Installation

  1. Install libgroove dev package. Only the main library is needed.

  2. Install libpng and zlib dev packages.

  3. make

Related Projects

About

simultaneously transcode and generate visuals for an audio file

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages