Sadly I have to say this spread is unrankable because it doesn't follow a proper spread
Ideally I would say, hard generally takes 3/4 overall density of insane, normal 2/4, and easy 1/4, as you can check from Spread Wizard graphs (not all maps and sections are applicable, there may be some variation in the actual density)
I will post the detail in general section of each diff
00:00:015 - to 00:06:412 - i don't really get why normal, hard, and insane diff has same notes density and less creativity (and mapped almost at same way too)
https://osu.ppy.sh/ss/19409777/319f
https://osu.ppy.sh/ss/19409778/54c1
For example, in case at hard or insane diff, i think you can add some notes for bigger instrument impact like 00:01:212 - 00:01:412 - 00:01:612 - etc
https://osu.ppy.sh/ss/19409783/b8e2
If you want to rank the map make sure to add a hitsound.wav file into the map folder just to make it rankeable.
For soft-hitnormal.wav work in entire mapset, you should change all timing sampleset to Soft, Custom 1.
To do this, open the Timing Setup, then select all timing points, then open audio tab, select Soft and Custom 1. The timing point should have S:C1 if successfully
And for that you don't need soft-hitclap.wav , soft-hitwhistle.wav , soft-hitfinish.wav . Unless you want to make hitsound with that
Metadata has some errors such as the title not being capitalized correctly. It should be "Battle Against a True Hero" Not only that but some tags are repeated like "undertale" despite it already being in the source.