README.md

# Audiograms

Audiogram is an Elixir library for generating Audiograms based en FFmpeg, FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created., for knowing more about this, read the next official page [Ffmpeg](http://ffmpeg.org/about.html).

This API was developed based on the architecture [Application Layering - A Pattern for Extensible Elixir Application Design](https://aaronrenner.io/2019/09/18/application-layering-a-pattern-for-extensible-elixir-application-design.html).

This library needs the next required inputs: audio, an image, a start time, and end time to cut the audio, also like optional a resolution and color to the audiogram. The API first cuts the audio according to the time, then takes that resulting audio and together with the image generates an audiogram. All this process is asynchronous and concurrent.

The library also lets to get the audiograms by status, the status is: registered, processing, completed, and failed.
## Installation

The following operating system dependencies are required:

- **ffmpeg**: Use the next link to install FFmpeg [download](https://ffmpeg.org/download.html) in your operating system.
- **wget**: Downloads files from the web.
- **grep**: Searches text and strings in a given file.
- **awk**: Searches words with a pattern.
- **sh**: Executes commands read from a command line string.
- **ps**: Displays information related to the processes running in the system.

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `audiograms` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:audiograms, "~> 0.1.1"}
  ]
end
```

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/audiograms](https://hexdocs.pm/audiograms).