Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for chunks that can be repeated #22

Open
sikthehedgehog opened this issue Oct 6, 2017 · 5 comments
Open

Add support for chunks that can be repeated #22

sikthehedgehog opened this issue Oct 6, 2017 · 5 comments

Comments

@sikthehedgehog
Copy link
Owner

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.

@Mikejmoffitt
Copy link

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

@sikthehedgehog
Copy link
Owner Author

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.

@marcb0t
Copy link

marcb0t commented Oct 7, 2017

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.

@sikthehedgehog
Copy link
Owner Author

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.

@marcb0t
Copy link

marcb0t commented Oct 7, 2017

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants