Siempre me duele la cabeza, pero primero entiendo que solo tienes 256 frecuencias. Dependiendo del algoritmo utilizado, los segundos 256 son solo un espejo del primero o representan los componentes imaginarios correspondientes a los componentes reales en los primeros 256.
También comprenda que la resolución de frecuencia de una FFT solo llega a la mitad de la frecuencia de muestreo, por lo que si estaba muestreando a 10,000 muestras por segundo, la frecuencia más alta resuelta será 5,000 Hz.
A partir de ahí, puedes resolverlo. Digamos que tienes 256 cubos, el más alto representa 5000Hz y el más bajo representa DC Cada segmento tiene un ancho de espectro de 5000/256 Hz, por lo que el cero comienza en DC, el primero comienza en 19.5Hz, el segundo en 39Hz, etc.
De todos modos, esa es la forma en que siempre lo he descubierto.