you could make melodies a lot lot lot more interesting if you used "velocity" of the notes which let's you make some notes louder and some quieter, that would sound a lot more pleasant, don't know why but people just like dynamic music more than static.
also each part stays the same for a bit long, would be better if you'd add a bit variation in them
like for example you have a part A that goes on for let's say 30 seconds and have 1 10 loop that repeats 3 times, so it looks like this A=aaa , what i suggest to do is to add at least one little change in one of the little loops every once in a while. It would look like this
Before A(30sec)=a(10s)a(10s)a(10s)
After A(30sec) =a(10s)a+(10s)a(10s)
it would nicely break repetition and get rid of "stuck record feel" when a loop plays too many times
while also not taking much work to do. You could literally just move one note higher or lower or make it louder or quieter and it would already feel like the part is not the same.
Please don't be offended by any of this ... but ... if you still do ...
here is a button [cyberpunch] - if you press it i'll punch myself for you.
But really i hope it would help, your music is pretty well done beyond that, each part works great on its own but seams are a bit obvious, which as i wrote above are easy to fix.
There are more ways to bring more variety obviously but it's the quickest way i can think of.
Hope it can help :3
Good Luck!
~bmt