Ir al contenido

Espectrograma

Dos espectrogramas desplazándose a la izquierda mientras suena una canción: los bombos como columnas abajo y los acordes como líneas brillantes

ui.audio.Spectrogram(magnitudes=engine.spectrum(512), history=160, colors="magma")

Cada render que recibe una lista magnitudes nueva añade una columna a la derecha; redibujar por cualquier otro motivo (pasar el ratón, otro widget) no la añade, así que la velocidad sigue a tus actualizaciones. Conserva las últimas history columnas.

El volumen se reduce a levels colores y todas las celdas de un mismo color se dibujan en una sola forma, así que incluso 160 columnas × 64 bandas se dibujan con poco coste.

Propiedad Por defecto Qué hace
magnitudes () dB por bin de frecuencia (como node.spectrum()).
width, height 360, 140 Tamaño en píxeles.
history 120 Columnas que se conservan.
bands 48 Filas (bandas logarítmicas).
min_db, max_db -90, 0 Rango de los colores.
colors, levels "magma", 24 Paleta y cuántos pasos de color.
sample_rate, spacing 48000, "log" Como en Spectrum: cómo están espaciados los bins.