Jump to content
IGNORED

RMT2LZSS: convert RMT tunes to LZSS for fast playback!


rensoup

Recommended Posts

I figured you could probably break the heuristics by doing unexpected jumps :)

 

Like,

 

tune 1: 0,1,2,3, jump to 0

tune 2: 4,5,6,7, jump to 0

 

Tune 2 is tune 1 with a different intro :)

 

What would happen? ?  :ponder:

 

Edited by ivop
clock and ponder ;)
  • Like 1
Link to comment
Share on other sites

2 minutes ago, ivop said:

I figured you could probably break the heuristics by doing unexpected jumps :)

 

Like,

 

tune 1: 0,1,2,3, jump to 0

tune 2: 4,5,6,7, jump to 0

 

Tune 2 is tune 1 with a different intro :)

 

What would happen? ?  :ponder:

 

Exactly as described, it would just play the same song, jump to 0, and then keep going as normal, so Tune 1 with a different intro.
My sketch modules were formatted that way (not really on purpose) and did exactly that, both from the RMT2LZSS program, and SAP players parsing subtunes, so I believe this is correctly handled :D 

  • Like 1
Link to comment
Share on other sites

1 hour ago, VinsCool said:

Good job Rensoup for subtune support! Seems to work perfectly!

I only broke it for one song, however, but I know that's entirely my fault for doing something unexpected again :D 
It's Table Manuscrite, the same song you used for tests before the first release :P 

 

See... that's what happens because there's no properly defined subtune start ?

 

I just assumed that the next subtune would start right after the last played line but other players made the assumption that it should start from the first unplayed line...

 

Don't know if there's a right or wrong: If a musician made 2 tunes and decided that the 1st one went from 0-39 but skipped line 5. If the 2nd one starts at 40 but jumps back to 5... would that trip the other players and make them start the 2nd tune from 5?

In the end, the musician decides where the song start and the RMT init code has to be fed the right start line

 

1 hour ago, ivop said:

I figured you could probably break the heuristics by doing unexpected jumps :)

53 minutes ago, VinsCool said:

Exactly as described, it would just play the same song, jump to 0, and then keep going as normal, so Tune 1 with a different intro.
My sketch modules were formatted that way (not really on purpose) and did exactly that, both from the RMT2LZSS program, and SAP players parsing subtunes, so I believe this is correctly handled :D 

yeah I believe that too ?

 

I think Emkay had a tune that didn't have a goto and that crashed the converter, I'm not sure if it was the only tune out of a thousand that did that!

  • Like 1
Link to comment
Share on other sites

15 minutes ago, rensoup said:

See... that's what happens because there's no properly defined subtune start ?

 

I just assumed that the next subtune would start right after the last played line but other players made the assumption that it should start from the first unplayed line...

 

Don't know if there's a right or wrong: If a musician made 2 tunes and decided that the 1st one went from 0-39 but skipped line 5. If the 2nd one starts at 40 but jumps back to 5... would that trip the other players and make them start the 2nd tune from 5?

In the end, the musician decides where the song start and the RMT init code has to be fed the right start line

 

yeah I believe that too ?

 

I think Emkay had a tune that didn't have a goto and that crashed the converter, I'm not sure if it was the only tune out of a thousand that did that!

Yep again like I said the assumption you had was correct, it was entirely my fault for breaking it, so that is really not a big problem, I simply thought it was worth pointing out :P 
In the end everything else worked perfectly, as long as a .rmt is not all over the place, it there shouldn't be any problem.

  • Like 1
Link to comment
Share on other sites

So I have been working on that 100hz Battle Squadron cover... @rensoup
Still not finished, but I thought about testing its stability in the RMT2LZSS program.

Sounds pretty stable to me! All my special POKEY modulation works exactly as calculated :D 

I included the current version in progress to the post, as well as a 50hz reduced conversion... which pretty much sounds the same except every other frame is skipped, that makes my sound design broken, but that also seems to be perfectly consistent! ? 

(By the way, this is not based on Kjmann's module... this is my own transcription I started from scratch, hence the missing parts that are currently too complex to figure out by ear :P )

Battle Squadron 2x V24.obx Battle Squadron 2x V24 (50hz).obx

  • Like 2
Link to comment
Share on other sites

1 hour ago, Stephen said:

Wow - that sounds nice.  Very low bass in this - I would not have expected "just" 100Hz playback.

Thanks! Well 100hz or not, if I am going to make a tune I'll try to make it sound good, hopefully :D 
As for the bass, I figured out some new tricks involving the high pass filter and Distortion C to achieve it even in 64khz mode, so I wanted to make use of it as well!

Edited by VinsCool
Link to comment
Share on other sites

5 hours ago, VinsCool said:

So I have been working on that 100hz Battle Squadron cover... @rensoup
Still not finished, but I thought about testing its stability in the RMT2LZSS program.

Sounds pretty stable to me! All my special POKEY modulation works exactly as calculated :D 

I included the current version in progress to the post, as well as a 50hz reduced conversion... which pretty much sounds the same except every other frame is skipped, that makes my sound design broken, but that also seems to be perfectly consistent! ? 

(By the way, this is not based on Kjmann's module... this is my own transcription I started from scratch, hence the missing parts that are currently too complex to figure out by ear :P )

Battle Squadron 2x V24.obx 11.79 kB · 4 downloads Battle Squadron 2x V24 (50hz).obx 7.7 kB · 2 downloads

???

 

The 50Hz version doesn't play any "PWM" , only some basic fx.

Also, the start of the 2x speed version, sounds like "2 tone" is used, not filter.  

  • Like 1
Link to comment
Share on other sites

27 minutes ago, emkay said:

The 50Hz version doesn't play any "PWM" , only some basic fx.

I does... except it's broken since the instruments are read every other frame, so crucial parts are missed.
 

29 minutes ago, emkay said:

Also, the start of the 2x speed version, sounds like "2 tone" is used, not filter.  

I don't know how to use 2 tone in RMT... That is still filter and different frequency combinations

Anyway I got a small update for tonight before I leave my computer.
Found a few mistakes but I corrected them in the bassline... I need to improve the transitions and also add missing parts later.

Did the same funny 50hz reduced version again for comparison's sake.
It's definitely very possible to do at 50hz too, it simply needs better instrument design, which can only be done manually... I might do a proper reduced version after I finish covering the song.

Battle Squadron 2x V33.obx Battle Squadron 2x V33 (50hz).obx

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

16 hours ago, VinsCool said:

So I have been working on that 100hz Battle Squadron cover... @rensoup
Still not finished, but I thought about testing its stability in the RMT2LZSS program.

?

 

Mindblowing!! Shame you can't like & thank a post at the same time ?

 

Interesting that the 50hz version is missing so much stuff and that it is so much smaller... The other tunes I tried reducing weren't nearly as drastically altered. Possibly because they weren't exploiting its potential ?

 

I hope you're going to complete this one?

 

...Then I have list of a couple of hundred more tunes for you ?

  • Haha 1
Link to comment
Share on other sites

10 minutes ago, rensoup said:

Mindblowing!! Shame you can't like & thank a post at the same time ?

Well, I liked it for you ;)

 

10 minutes ago, rensoup said:

Interesting that the 50hz version is missing so much stuff and that it is so much smaller... The other tunes I tried reducing weren't nearly as drastically altered. Possibly because they weren't exploiting its potential ?

Yes, for sure. They used it mostly for snappier and more realistic drums.  Good to see how Vinscool used it for melodic instruments!

 

10 minutes ago, rensoup said:

...Then I have list of a couple of hundred more tunes for you ?

:)

 

  • Haha 2
Link to comment
Share on other sites

11 hours ago, VinsCool said:

I does... except it's broken since the instruments are read every other frame, so crucial parts are missed.

I really like how you utilized the pulse widths. Never an ear crinching duty cycle. It seems like you do the opposite of a lot SID composers. They start at 50/50 duty cycle, and then modulate to 20/80 or worse. That's when my misophonia kicks in ;) You seem to modulate in the other direction, i.e. releasing the tension instead of increasing it. I like that :) 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

12 hours ago, VinsCool said:

I does... except it's broken since the instruments are read every other frame, so crucial parts are missed.
 

I don't know how to use 2 tone in RMT... That is still filter and different frequency combinations

Anyway I got a small update for tonight before I leave my computer.
Found a few mistakes but I corrected them in the bassline... I need to improve the transitions and also add missing parts later.

Did the same funny 50hz reduced version again for comparison's sake.
It's definitely very possible to do at 50hz too, it simply needs better instrument design, which can only be done manually... I might do a proper reduced version after I finish covering the song.

Battle Squadron 2x V33.obx 13.52 kB · 9 downloads Battle Squadron 2x V33 (50hz).obx 7.89 kB · 10 downloads

 

Sorry, but this time I have to dismiss the content. 

I don't hear a "complete" tune in it. That start is totally odd. In the 1st edit at least the middle part reminds of Battle Squadron, and it's not bad . 

the 50Hz version is ... "nothing" , with that weird start.

Link to comment
Share on other sites

2 hours ago, ivop said:

I really like how you utilized the pulse widths. Never an ear crinching duty cycle. It seems like you do the opposite of a lot SID composers. They start at 50/50 duty cycle, and then modulate to 20/80 or worse. That's when my misophonia kicks in ;) You seem to modulate in the other direction, i.e. releasing the tension instead of increasing it. I like that :) 

Thanks, I did my best to make the POKEY PWM sound very smooth, and also totally manipulated, not once it's doing unpredictable stuff :D 
Adding some additional harmonisation at a lower volume gives a lovely resulting timbre as well.

 

1 hour ago, emkay said:

 

Sorry, but this time I have to dismiss the content. 

I don't hear a "complete" tune in it. That start is totally odd. In the 1st edit at least the middle part reminds of Battle Squadron, and it's not bad . 

the 50Hz version is ... "nothing" , with that weird start.

...Yeah? I am pretty sure I mentioned that I did not finish transcribing the song yet.
The 50hz version is not intended to be listened as is either, that was just to test out the reduction feature of RMT2LZSS, which does exactly what is expected in this case.
 

1 hour ago, emkay said:

Seems, I really have to put the tune here ...

 

 

Thanks. I am reassured this is indeed the song I was covering :D 
 

1 hour ago, emkay said:

The point is that PAULA can play every frequency. The musician does some detune. And that is where POKEY can shine. 

Use the detuning and produce the needed pitch by tickling the filter/PWM to the correct pitch for the tune. 

Yes... that is indeed what I did as well, to get effects and harmony sound good. A bit of fine tuning goes a long way to make things that sounded weird to something smooth.
I especially like to use detune in a way that make things sound a bit less out of tune in certain parts too :D 
 

1 hour ago, emkay said:

Is it really intended to sound like this?

 

 

 

Yes but actually no, this is the hacked up 50hz output missing everything the 100hz version did.

This is how it's supposed to sound like :P :
 

Edited by VinsCool
added .ogg file in case the video fails to play in good quality
  • Like 4
Link to comment
Share on other sites

22 hours ago, VinsCool said:

his is my own transcription I started from scratch, hence the missing parts that are currently too complex to figure out by ear :P 

I assume you can run the original game on an Amiga emulator? Perhaps you can mute certain channels to make it easier to determine the chords, bass, melody, etc...

 

4 hours ago, emkay said:

Seems, I really have to put the tune here ...

https://www.youtube.com/watch?v=yiU5RnDvJ2o&feature=emb_imp_woyt

 

I like the HiScore tune more :D

 

Seriously though, it sounds better IMHO.

 

Edit:

 

A much better recording of Battle Squadron Amiga OST:

 

 

The current song in question starts at 11:21.

 

The first few seconds remind me of The Prodigy.

 

 

Edit 2:

 

https://www.youtube.com/watch?v=svJvT6ruolA

 

The short similarity is at 0:31.

 

Edited by ivop
typo ;)
  • Like 2
Link to comment
Share on other sites

1 hour ago, rensoup said:

I'm curious to hear if you ever do a 50hz version, your take on whether it was worth using 100hz or not

 

It is so far! 100hz basically let me run my instruments 2x as fast, so better drums, better melodic instruments, better effects, more precise PWM, that is a blessing to have. Faster means better :D

 

It can be done in 50hz without any doubt, I already have most of my sound design ready for that purpose. In fact my 100hz drums are just the 50/60hz ones with greater precision and polish to give a nice snap :P

It would simply requires manual edition, but the reduced output by RMT2LZSS already gives an idea of what it could be like, except it was skipping every other frame that were used to update the sound generation, so a lot less polished than what it could be.

 

 

1 hour ago, Stephen said:

I don't think emkay has hardware capable of doing anything > 50Hz :)

But that doesn't need any different hardware as far as I know. Pretty sure my stock 800xl would run it exactly the same... But I cannot confirm until I get a way to load my own code on it.

 

 

1 hour ago, ivop said:

I assume you can run the original game on an Amiga emulator? Perhaps you can mute certain channels to make it easier to determine the chords, bass, melody, etc...

 

I like the HiScore tune more :D

 

Seriously though, it sounds better IMHO.

 

Edit:

 

A much better recording of Battle Squadron Amiga OST:

 

 

The current song in question starts at 11:21.

 

The first few seconds remind me of The Prodigy.

 

 

Edit 2:

 

https://www.youtube.com/watch?v=svJvT6ruolA

 

The short similarity is at 0:31.

 

Yup that was exactly how it was achieved to figure out most of what I transcribed so far.

 

The voice at the song start was simulated using some Distortion C and High Pass Filter until it sounded good enough for me, the bassline used the same trick except it was combined to Distortion A in the main voice, the C bass was modulating it, so I simply went ahead and tried any frequency that gave a pleasant distortion sound, and thankfully it was also in tune to the bass so that was a win for me!

 

I did my best to simulate the harmony in the bass by using the same filter trick at a lower volume, listening to only channel 1 and 3 with the percussions and arpeggio chords may show how complex I actually tried to make it work :D

 

The main melodic voice was simple enough, I used high pass filter on channel 2 and modulated the pulse width with channel 4, and used some variable volume levels to give thicker harmonisation in the sound, i might produce some chords or bassier distortion notes if needed later.

i've started taking notes for some tables for future reference, and also might have figured more tricks... But that will be tested another day. All I can say is that Pokey Explorer has been an incredibly useful tool for finding all this stuff, and I trusted my ear to mix and match the different combinations, haha.

 

 

i have to say most of these Amiga tunes are fantastic, and a lot of fun to transcribe on the Atari 8 bit, they let me explore experimental sounds really nicely.

  • Like 2
Link to comment
Share on other sites

 

3 hours ago, Stephen said:

I don't think emkay has hardware capable of doing anything > 50Hz :)

 

I always have the available CPU power in mind. It's not much inside a game.  

 

There are still  ((and it gets worse) too much gaps in the development for games . 

Doing tunes that even need more advanced programming achievement , is not really helpful. 

 

How many gamy do you know that show fluent parallax scrolling, a lot moving objects on the screen, and use some real PWM in the tune during gameplay. 

My coarse answer is "none" . 

 

rensoup did help me to patch my special playable demo of Super Fly, to have the Noisy Pillars tune in. 

Actually, this time the tune is not playing correct due to some RMT player version issues....

 

 

 

Link to comment
Share on other sites

2 minutes ago, emkay said:

 

 

I always have the available CPU power in mind. It's not much inside a game.  

 

There are still  ((and it gets worse) too much gaps in the development for games . 

Doing tunes that even need more advanced programming achievement , is not really helpful. 

 

How many gamy do you know that show fluent parallax scrolling, a lot moving objects on the screen, and use some real PWM in the tune during gameplay. 

My coarse answer is "none" . 

 

rensoup did help me to patch my special playable demo of Super Fly, to have the Noisy Pillars tune in. 

Actually, this time the tune is not playing correct due to some RMT player version issues....

 

 

 

I hate in game music.  It gets old no matter how nice it is.  Give me good music in a title screen, fine.  Anything else, you better let me turn it off else I won't hear the sound effects.  The first game I did not despise the music in was Tempest 2000.  there's nothing on the A8 that I would want to hear long enough to finish a game.

 

Pitfall 2, OK, good music.  Neat they used extra hardware for the 2600 to do it.  Make me listen to it for 30 minutes without a break - I'd rather be deaf.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...