Generar imágenes de forma de onda a partir de audio
🤖/audio/waveform genera imágenes de forma de onda para tus archivos de audio y te permite cambiar sus colores y dimensiones.

Te recomendamos usar un Step de 🤖/audio/encode antes de tu Step de forma de onda para convertir los archivos de audio a MP3. Así se garantiza que 🤖/audio/waveform acepte tu archivo de audio y además puedes reducir la frecuencia de muestreo de los archivos de audio grandes y ahorrar algo de dinero.
De forma similar, si necesitas la imagen de salida en otro formato, envía el resultado de este Robot a 🤖/image/resize.
Ejemplo de uso
Genera una forma de onda de 400×200 en color #0099cc a partir de un archivo de audio subido:
{
"steps": {
"waveformed": {
"robot": "/audio/waveform",
"use": ":original",
"width": 400,
"height": 200,
"outer_color": "0099ccff",
"center_color": "0099ccff"
}
}
}Parámetros
interpolateboolean | Record<string, boolean>Controla si las Assembly Variables se interpolan en campos de instrucciones individuales.
De forma predeterminada, la mayoría de los campos de instrucciones de los Robots interpolan Assembly Variables. Establece esta opción en
falsepara tratar todos los campos de instrucciones como texto literal, o establece la ruta de un campo individual enfalsepara tratar únicamente ese campo como texto literal. En el caso de los campos específicos de un Robot que son literales de forma predeterminada, establece esta opción entrueo la ruta de ese campo entruepara volver a habilitar la interpolación.Usa nombres de campos como
patho rutas con puntos comoffmpeg.vfpara los objetos anidados.output_metaRecord<string, boolean> | boolean | Array<string>Te permite especificar un conjunto de metadatos cuyo cálculo requiere más recursos de CPU y que, por lo tanto, está desactivado de forma predeterminada para que tus Assemblies se procesen rápidamente.
Para imágenes, puedes añadir
"has_transparency": truea este objeto para determinar si la imagen contiene partes transparentes y"dominant_colors": truepara extraer un array de códigos de color hexadecimales de la imagen.Para imágenes, también puedes añadir
"blurhash": truepara extraer una cadena BlurHash, una representación compacta de un marcador de posición para la imagen que resulta útil para mostrar una vista previa desenfocada mientras se carga la imagen completa.Para videos, puedes añadir el parámetro
"colorspace": truepara extraer el espacio de color del video de salida.Para videos, también puedes añadir
"interlaced": truepara detectar si el video está entrelazado. Esto combina el indicadorfield_orderde ffprobe, cuyo costo en recursos de procesamiento es bajo, con una pasada de muestreo limitada medianteidetsobre los primeros fotogramas de la fuente, y exponeinterlaced,field_ordery un objeto de diagnósticointerlace_detectionenfile.meta. Esto requiere muchos recursos computacionales y se factura en consecuencia.Para audio, puedes añadir
"mean_volume": truepara obtener un único valor que represente el volumen promedio del archivo de audio.También puedes establecerlo en
falsepara omitir la extracción de metadatos y acelerar la transcodificación.user_metaRecord<string, any>(valor predeterminado:{})Añade metadatos personalizados a cada archivo emitido por este Robot sin modificar el contenido del archivo.
Los valores se combinan con los
user_metaexistentes en el archivo de entrada. Si ambos objetos contienen la misma clave, el valor de este Robot tiene prioridad. Se admiten Assembly Variables, por ejemplo{ "internal_file_id": "${file.id}" }.resultboolean(valor predeterminado:false)Indica si los resultados de este Step deben aparecer en el Assembly Status JSON
queuebatchEstablecer la cola en «batch» reduce manualmente la prioridad de los Jobs de este Step para evitar consumir cupos prioritarios con Jobs que no necesitan un tiempo de espera cero en la cola
force_acceptboolean(valor predeterminado:false)Forzar a un Robot a aceptar un tipo de archivo que habría ignorado.
De forma predeterminada, los Robots ignoran los archivos que no reconocen. 🤖/video/encode, por ejemplo, ignorará sin problemas las imágenes de entrada.
Si configuras el parámetro
force_acceptcomotrue, puedes forzar a los Robots a aceptar todos los archivos que reciban. Esto normalmente provocará errores y solo debe usarse para depuración o para abordar casos extremos.ignore_errorsboolean | Array<meta | execute>(valor predeterminado:[])Ignorar errores durante fases específicas del procesamiento.
Establecer este parámetro en
["meta"]hará que el Robot ignore los errores durante la extracción de metadatos.Establecer este parámetro en
["execute"]hará que el Robot ignore los errores durante la fase principal de ejecución.Configurar este parámetro como
trueequivale a["meta", "execute"]y hará que se ignoren los errores en ambas fases.usestring | Array<string> | Array<object> | objectEspecifica qué Step o Steps se usarán como entrada.
- Puedes elegir cualquier nombre para los Steps, excepto
":original"(reservado para las subidas de usuarios gestionadas por Transloadit) - Puedes proporcionar varios Steps como entrada mediante arrays:
{ "use": [ ":original", "encoded", "resized" ] } - También puedes etiquetar los Steps de entrada con
aspara comunicar la intención semántica a los Robots:{ "use": [ { "name": ":original", "as": "image" }, { "name": ":original", "as": "mask" } ] }
ConsejoProbablemente eso sea todo lo que necesitas saber sobre
use, pero puedes consultar los casos de uso avanzados.- Puedes elegir cualquier nombre para los Steps, excepto
ffmpegobjectUn objeto de parámetros que se pasará a FFmpeg. Si se utiliza un ajuste preestablecido, las opciones especificadas se combinan con las de ese ajuste. Para consultar las opciones disponibles, revisa la documentación de FFmpeg. Las opciones especificadas aquí tienen prioridad sobre las del ajuste preestablecido.
ffmpeg_stackv6 | v7 | v8 | string(valor predeterminado:"v7")Selecciona la versión del stack de FFmpeg que se usará para el encoding. Actualmente recomendamos usar «v7». Las versiones exactas «v6.0.0», «v7.0.0» y «v8.0.0» son valores heredados que siguen aceptándose por compatibilidad con versiones anteriores. También se aceptan los valores obsoletos «v5.x».
formatimage | json(valor predeterminado:"image")El formato del archivo resultante. Puede ser
"image"o"json". Si se indica"image", se creará una imagen PNG; de lo contrario, un archivo JSON. Cuandostylees"spectrogram", solo se admite"image".widthstring | number(valor predeterminado:256)El ancho de la imagen resultante si se seleccionó el formato
"image".heightstring | number(valor predeterminado:64)La altura de la imagen resultante si se seleccionó el formato
"image".antialiasing0 | 1 | boolean(valor predeterminado:0)Un valor de
0o1, o bientrue/false, según si quieres habilitar el antialiasing para lograr bordes más suaves en el gráfico de la forma de onda o no.background_colorstring(valor predeterminado:"#00000000")El color de fondo de la imagen resultante en el formato «rrggbbaa» (rojo, verde, azul, alfa), si se seleccionó el formato
"image".center_colorstring(valor predeterminado:"000000ff")El color usado en el centro del degradado. El formato es «rrggbbaa» (rojo, verde, azul, alfa).
outer_colorstring(valor predeterminado:"000000ff")El color usado en las partes exteriores del degradado. El formato es «rrggbbaa» (rojo, verde, azul, alfa).
stylev0 | v1 | spectrogramVersión del estilo de la forma de onda.
"v0": generación de forma de onda heredada (predeterminada)."v1": generación avanzada de forma de onda con parámetros adicionales."spectrogram": visualización de espectrograma que muestra el contenido de frecuencia a lo largo del tiempo.
Por compatibilidad con versiones anteriores, también se aceptan los valores numéricos
0y1, que se asignan a"v0"y"v1".split_channelsbooleanDisponible cuando style es
"v1". Si se establece entrue, genera datos de forma de onda o archivos de imagen multicanal, uno por canal.zoomstring | numberDisponible cuando style es
"v1". Nivel de zoom en muestras por píxel. Este parámetro no se puede usar junto conpixels_per_second.pixels_per_secondstring | numberDisponible cuando style es
"v1". Nivel de zoom en píxeles por segundo. Este parámetro no se puede usar junto conzoom.bits8 | 16Disponible cuando style es
"v1". Profundidad de bits para los datos de la forma de onda. Puede ser 8 o 16.startstring | numberDisponible cuando style es
"v1". Tiempo de inicio en segundos.endstring | numberDisponible cuando style es
"v1". Tiempo de finalización en segundos (0 significa el final del audio).colorsaudition | audacityDisponible cuando style es
"v1". Esquema de color que se usará. Puede ser «audition» o «audacity».border_colorstringDisponible cuando style es
"v1". Color del borde en formato «rrggbbaa».waveform_stylenormal | barsDisponible cuando style es
"v1". Estilo de la forma de onda. Puede ser «normal» o «bars».bar_widthstring | numberDisponible cuando style es
"v1". Ancho de las barras en píxeles cuando waveform_style es «bars».bar_gapstring | numberDisponible cuando style es
"v1". Espacio entre las barras en píxeles cuando waveform_style es «bars».bar_stylesquare | roundedDisponible cuando style es
"v1". Estilo de las barras cuando waveform_style es «bars».axis_label_colorstringDisponible cuando style es
"v1". Color de las etiquetas de los ejes en formato «rrggbbaa».no_axis_labelsbooleanDisponible cuando style es
"v1". Si se establece entrue, renderiza la imagen de la forma de onda sin etiquetas de ejes.with_axis_labelsbooleanDisponible cuando style es
"v1". Si se establece entrue, renderiza la imagen de la forma de onda con etiquetas de ejes.amplitude_scalestring | numberDisponible cuando style es
"v1". Factor de escala de la amplitud.compressionstring | numberDisponible cuando style es
"v1". Nivel de compresión PNG: de 0 (ninguna) a 9 (la mejor), o -1 (predeterminado). Solo se aplica cuando el formato es «image».color_mapviridis | plasma | magma | cividis | cool | rainbow | moreland |Disponible cuando style es
"spectrogram". Esquema de color para la visualización del espectrograma. Su valor predeterminado es"viridis".frequency_scalelinear | logarithmicDisponible cuando style es
"spectrogram". Escala de frecuencia para el espectrograma."linear"muestra las frecuencias espaciadas de manera uniforme,"logarithmic"enfatiza las frecuencias más bajas. Su valor predeterminado es"logarithmic".frequency_minstring | numberDisponible cuando style es
"spectrogram". Frecuencia mínima en Hz que se mostrará. Su valor predeterminado es0.frequency_maxstring | numberDisponible cuando style es
"spectrogram". Frecuencia máxima en Hz que se mostrará. Su valor predeterminado es la mitad de la frecuencia de muestreo (frecuencia de Nyquist).legendbooleanDisponible cuando style es
"spectrogram". Indica si se incluye una leyenda que muestre las escalas de frecuencia y tiempo. Su valor predeterminado esfalse.gainstring | numberDisponible cuando style es
"spectrogram". Factor de ganancia lineal para la intensidad del espectrograma. Su valor predeterminado es1.orientationvertical | horizontalDisponible cuando style es
"spectrogram". Orientación del espectrograma."horizontal"muestra el tiempo en el eje x (predeterminado),"vertical"muestra el tiempo en el eje y.