# getSoundFFTData (Cliente)

> Devuelve el espectro de frecuencias de lo que el sonido está reproduciendo ahora, para hacer visualizadores.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Cliente
- **Categoría**: Sonido
- **URL**: https://wiki.mymp.gg/es/getSoundFFTData

## Sintaxis

```lua
table|false getSoundFFTData(sound sound, int samples [, int bands = 0])
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `sound` | `sound` | El elemento `sound`, o un elemento `dui` para el sonido del navegador. |
| `samples` | `int` | Cuántas muestras analizar: una potencia de 2 entre 256 y 16384. |
| `bands` | `int` | Agrupar el espectro en tantas bandas (hasta la mitad de `samples`). 0 devuelve el espectro entero. *(por defecto: `0`)* |

## Retorno

Una tabla de magnitudes de 0 a 1, o `false` si los argumentos no son válidos o el sonido está en pausa, terminado o fuera de alcance.

## Ejemplo

```lua
local music = playSound("sounds/track.mp3", true)

addEventHandler("onClientRender", root, function()
    local bands = getSoundFFTData(music, 2048, 32)
    if not bands then return end
    for i = 0, 31 do
        local h = math.min(bands[i] * 400, 200)
        dxDrawRectangle(20 + i * 12, 400 - h, 10, h, tocolor(80, 200, 255))
    end
end)
```

### Atención

La tabla empieza en el índice 0. Sin `bands` tiene `samples / 2 + 1` valores; con `bands` tiene ese número de valores, en bandas que crecen de forma logarítmica.

## Ver también

- [getSoundWaveData (Cliente)](https://wiki.mymp.gg/es/getSoundWaveData.md): Devuelve la forma de onda de lo que el sonido acaba de reproducir, para dibujar osciloscopios.
- [getSoundLevelData (Cliente)](https://wiki.mymp.gg/es/getSoundLevelData.md): Devuelve el pico de volumen de cada canal en los últimos 20 ms del sonido.
- [getSoundBPM (Cliente)](https://wiki.mymp.gg/es/getSoundBPM.md): Detecta el tempo del sonido en pulsaciones por minuto, redondeado hacia abajo.
