Echo icon indicating copy to clipboard operation
Echo copied to clipboard

Add support for chunks that can be repeated

Open sikthehedgehog opened this issue 6 years ago • 5 comments

Currently the most you get is just a loop point for the whole track. That's pretty wasteful if e.g. some part of the track repeats twice or whatever. Even worse for background instruments, which may just keep playing the same thing over and over but need to have all their notes stored for every iteration anyway.

Letting Echo split streams into chunks that can be played separately would be nice. Even better, play multiple chunks at the same time, so we can split apart the parts that repeat all the time from the parts that don't repeat.

sikthehedgehog avatar Oct 06 '17 15:10 sikthehedgehog

This one should be high priority I think, since a large game can end up eating a lot of ROM with just music data.

Mikejmoffitt avatar Oct 06 '17 17:10 Mikejmoffitt

Honestly if I had known about MML earlier I may have modeled Echo around it instead (in fact, it seems all Japanese sound engines are just glorified MML parsers :/ screw that) That means having stacks to store loops, separate streams for each channel, etc.

sikthehedgehog avatar Oct 06 '17 23:10 sikthehedgehog

Oh wow! It would definitely save on ROM space to have single channel loops that can simply be re-triggered at the proper timing.

This would be valuable to large game such as JRPG's.

marcb0t avatar Oct 07 '17 06:10 marcb0t

JRPGs spend a lot of ROM on text actually :/ (that's why Phantasy Star IV compresses the text, and why so many JRPGs have boulderized text in the localizations since English text tends to take up more ROM space compared to Shift-JIS encoded Japanese).

Was thinking more about stuff like OutRun where each track is like over five minutes. Also honestly, maybe it's better to just outright make Echo more MML-like.

sikthehedgehog avatar Oct 07 '17 18:10 sikthehedgehog

JRPGs spend a lot of ROM on text actually :/ (that's why Phantasy Star IV compresses the text,

Yes, but the more efficient the music size, then the more compressed text we can squeeze into the cartridge. There's always a benefit and a payoff to better data effeciency.

Was thinking more about stuff like OutRun where each track is like over five minutes.

Some of my music will be 3 or more minutes (maybe 5 minutes). I'm essentially designing a symphony orchestra with additional jingles and situational music for this JRPG. This chunk looping feature would really be beneficial in many many ways!

Also honestly, maybe it's better to just outright make Echo more MML-like.

Well, the way I see it, whatever it takes, and whatever works best. That's all I really care about. I started dabbling in MML before. It's not too hard to use. Though it's much more time consuming.

But if someone has a utility that can convert from a Deflemask module, with all the chunk looping intact, then that is more efficient for the composer. Deflemask does allow you to loop a single pattern per channel without writing it as a new pattern, after all.

marcb0t avatar Oct 07 '17 22:10 marcb0t