Perlin Noise Alignment

I am currently creating a 2D, voxel, side scrolling game with different types of land, each of which has a different generator.

To decide which type goes where in the map, I use 1D Perlin Noise for this ground layer and choose the generator based on the size of the noise() output.

However, there are very rough edges between the types of land, as demonstrated below.

I’d like it to look a bit more like the following (generated by pure coincidence):

However, I am pretty stuck as to how this smoothening could be done. Any suggestions are appreciated.

Normalize the noise value?

Like divide it by a constant or something to decrease the range.

Generate all land with one perlin noise go, and then divide that between types of land.

I just posted a tutorial/article on using Perlin noise to make 2D maps. You might give it a look, to see if my explanation of how smoothness can be controlled makes sense, and is helpful.