Generate waveform images from audio
🤖/audio/waveform generates waveform images for your audio files and allows you to change their colors and dimensions.
We recommend that you use an 🤖/audio/encode Step prior to your waveform Step to convert audio files to MP3. This way it is guaranteed that 🤖/audio/waveform accepts your audio file and you can also down-sample large audio files and save some money.
Similarly, if you need the output image in a different format, please pipe the result of this Robot into 🤖/image/resize.
Here is an example waveform image:
Usage example
Generate a 400×200 waveform in #0099cc
color from an uploaded audio file:
{
"steps": {
"waveformed": {
"robot": "/audio/waveform",
"use": ":original",
"width": 400,
"height": 200,
"outer_color": "0099ccff",
"center_color": "0099ccff"
}
}
}
Parameters
-
use
String / Array of Strings / Object requiredSpecifies which Step(s) to use as input.
-
You can pick any names for Steps except
":original"
(reserved for user uploads handled by Transloadit) -
You can provide several Steps as input with arrays:
"use": [ ":original", "encoded", "resized" ]
💡 That’s likely all you need to know about
use
, but you can view Advanced use cases. -
-
output_meta
Object / Boolean ⋅ default:{}
Allows you to specify a set of metadata that is more expensive on CPU power to calculate, and thus is disabled by default to keep your Assemblies processing fast.
For images, you can add
"has_transparency": true
in this object to extract if the image contains transparent parts and"dominant_colors": true
to extract an array of hexadecimal color codes from the image.For videos, you can add the
"colorspace: true"
parameter to extract the colorspace of the output video.For audio, you can add
"mean_volume": true
to get a single value representing the mean average volume of the audio file.You can also set this to
false
to skip metadata extraction and speed up transcoding. -
format
String ⋅ default:"image"
The format of the result file. Can be
"image"
or"json"
. If"image"
is supplied, a PNG image will be created, otherwise a JSON file. -
width
Integer ⋅ default:256
The width of the resulting image if the format
"image"
was selected. -
height
Integer ⋅ default:64
The height of the resulting image if the format
"image"
was selected. -
style
Integer ⋅ default:0
Either a value of
0
or1
, corresponding to using either the legacy waveform tool, or the new tool respectively, with the new tool offering an improved style. Other Robot parameters still function as described, with either tool. -
antialiasing
Integer ⋅ default:0
Either a value of
0
or1
, corresponding to if you want to enable antialiasing to achieve smoother edges in the waveform graph or not. -
background_color
String ⋅ default:"00000000"
The background color of the resulting image in the "rrggbbaa" format (red, green, blue, alpha), if the format
"image"
was selected. -
center_color
String ⋅ default:"000000ff"
The color used in the center of the gradient. The format is "rrggbbaa" (red, green, blue, alpha).
-
outer_color
String ⋅ default:"000000ff"
The color used in the outer parts of the gradient. The format is "rrggbbaa" (red, green, blue, alpha).
Demos
Related blog posts
- New Robot generates waveform images from audio November 22, 2012
- Kicking Transloadit into gear for the new year February 1, 2015
- New pricing model for future Transloadit customers February 7, 2018
- Let's Build: music card generator with Transloadit May 5, 2022
- Creating engaging audio visualizations with Transloadit April 2, 2023