This fbm function is a more general fbm that takes more parameters.
basis_type selects from a number of basis noise functions:
0: Perlin basis
1: Ridged basis
2: Voronoi basis
x is a 3-vector at which the noise is evaluated.
H controls the fractal dimension: a larger value causes faster attenuation of higher frequencies.
A good default value is 1.
Lacunarity determines the gap in frequencies between different 'octaves' of noise.
A larger lacunarity means each subsequence octave will have higher frequency.
A good default value is 2.
Octaves determines the number of octaves of noise that are added together. If the value has a fractional component, the last octave is attenuated by the fractional part then added.
Basis Types

Perlin basis, 1 octave

Ridged basis, 1 octave

Voronoi basis, 1 octave
Effect of number of octaves

Perlin basis, 1 octave

Perlin basis, 2 octaves

Perlin basis, 3 octaves

Perlin basis, 10 octaves

Ridged basis, 1 octave

Ridged basis, 10 octaves

Voronoi basis, 1 octave

Voronoi basis, 10 octaves
Effect of fractal dimension (H)

Ridged basis, H=1

Ridged basis, H=1.5

Ridged basis, H=2
Effect of Lacunarity

Ridged basis, lacunarity = 3

Ridged basis, lacunarity = 4

Ridged basis, lacunarity = 6
You can download the example Indigo scene used in the images above here.