-
Content Count
367 -
Joined
-
Last visited
-
Days Won
1
Posts posted by VinsCool
-
-
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
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.-
1
-
-
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? 🕑
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
-
1
-
-
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
It's Table Manuscrite, the same song you used for tests before the first release
The song actually starts with a Goto 34 on line 00, and then works exactly as expected from there.
However, here is how it gets funny:
Line 01 is actually the start of a secret tune, and then this one jumps with a Goto to line 40 at line 09, to finally reach Goto 41 at line 42.
The converter generates 2 subtunes, the first one as expected, but the second one begins immediately at line 40, since it happens to be after everything else, as it is expected for most subtunes.
The expected behaviour, of starting the second subtune at line 01 does work fine in SAP players when I play the .rmt file in it.
I'm actually surprised that my song did not break everything considering the amount of workarounds and hacked up instrument design I did, hahaha.
Other than that, everything else worked perfectly to generate subtunes!-
1
-
1
-
-
Sorry for triple posting...
So comparing outputs between AUDC tweak and no tweak, I have got 1 song that does have significant differences in playback.
It's not a lot... but I can definitely tell the behaviour is very different between the 2 versions, one of them seems a lot more stable
The one with tweak here definitely flows a lot smoother, doesn't it?
(runs at 60hz btw, however running it at 50hz will exhibit the exact same effect) -
1 hour ago, rensoup said:not sure what you mean, there's Pokey emulation on the TIA 😱 ?
The 7800 has support for expansion audio chip in cartridges, such as the POKEY used in like 2 games I think? I know Ballblazer used it.
Anything else uses the same old TIA from the 2600. -
1 hour ago, rensoup said:I'm curious about the verdict!
So far so good! I do notice some differences, it's really subtle, and also difficult to explain.
I conclude now that enabling the tweak indeed does seem to stabilise playback most of the time, which is a very good thing I believe.
No tweak still sounds good, but it seems like some behaviours will be very slightly different. I noticed this one will usually have a little less clicks between frames of silence and tone, but overall the audible output is nearly identical.
So yeah, you were right, there's hardly any difference, so by default enabling the tweak is the best option I think
53 minutes ago, rensoup said:I've got subtunes output on the way but for that you'll owe me big time...
(How about Battle Squadron @ 100hz 😀)
Well damn, looks like I owe you a cover now!
Very awesome!
I'll try to make use of my newer tricks and manipulations to give it justice.
This one will most likely need to be transcribed from scratch in this case... The module included with RMT is good but I don't know what I can make out of it, so better learn the actual song instead.
Plus Emkay already made a really nice 15khz version of it, that lead is undescriptively satisfying to hear "sing"
I'll give it a shot! That may also help me erase my debt from the PoP tunes I never finished or made poorly... 😅-
1
-
-
I can confirm the filename bug is gone now, batch converted everything I had around with no issue this time, and even got split Stereo tunes as a nice bonus from 1.3
Now that I got the binaries with AUDC tweak enabled, let's see what things sound like without it 👀
Conversion time again, woohoo, haha. -
I think there is a bug somewhere...
There are a few modules that seem to convert fine, but wouldn't actually output the correct file name, which did work in the 1.0 release. This seems to have been introduced in 1.1.
Basically the file *will* exist but the name will be different, which actually caused me some issues since there will be files overwritten due to that.
So how to trigger it, simply have a dot in the file name, I suppose it will interpret everything after as an extension.
In most cases that won't really be a problem, however, suppose you want to compare 2 versions of the same module, so I would type something such as "vinEDIT11" then "vinEDIT12", well the one converted last will overwrite the output .obx, so in reality only 1 file will remain.
Example of file name in the screenshot. Nothing was edited, I literally just converted the .rmt and this is what was output.

This oddity actually made me waste a bit of time trying to understand why there were missing .obx's compared to the number of .rmt's, and that was even more concerning due to the fact the program did actually work perfectly, but overwrote a different file, so I actually thought the .obx output never happened, and simply left a .lz16 instead.
I hope this report will help a bit
-
1
-
-
1 hour ago, rensoup said:I noticed that my frequency reduction didn't work for all settings, new update available from the first post!
Thanks! Just as I was about to properly make more tests, new version!
Quote1.2 Jan 2021
-fix for replay frequency reduction not working for all settings
-added version check for A8 playerI have a feeling the version check may be related to my stupidity...
Thanks for this, I won't make the same mistake twice, hahaha-
1
-
-
1 hour ago, rensoup said:yeah I should make that a little more robust!
Yep I fixed my mistakes, reran the conversion for all my modules and this time it works
Sorry for being dumb, that was entirely my fault this time for not following simple instructions, hahaha-
1
-
-
Just now, rensoup said:Did you unpack the new version of the A8 player as well ?
Did you move folders? perhaps they've got special chars ?
Ah maybe that is why, I simply extracted the exe in the RMT2LZSS folder without thinking about it.
Woops -
Wow ok, so I have no idea what happened but... literally ALL conversions failed with the new version
Was it because I dropped hundred of modules into it? Because It really looked like everything was fine until I just tried to run a .obx
Did not take me long to find out everything was broken.
I left all settings on default, then simply changed a line of text in the output tab, and then ran the conversion, which was slow, but worked.
Except it didn't actually convert anything to something functional.
Then I just tried to reload the program, and only convert 1 song, which also failed 🤔
How weird... -
Oh god, I wanted to save time so I threw my entire RMT folder to the new converter release...
My computer is crawling at the speed of snail
I wonder if I can find something different compared to the previous release. -
6 hours ago, sack-c0s said:With this playback technique there's no need for blood though - we have a shared playroutine and potentially we can all go do our thing in terms of preferred editor.
It's especially fantastic considering we are not limited to what a tracker would support and not support feature wise; all that matters is how the POKEY chip programming was done to produce unique results, so that means anything could be done if we know what we are doing
7 hours ago, Irgendwer said:QFT
No intention to start blood flowing, but as we are talking about streams and not patterns here, IMHO it would make sense to create "Pokey-Sound-Fonts" and import them together with std-MIDI files into an converter to produce the streams. Real musicians are not tied to fixed tracker patterns...
Actually I think I can understand what you mean...
At the end what matters is the resulting output of anything a musician (or a very clever sound programmer!) could do, so the method to achieve it can certainly be narrowed down to personal preferences.
-
2 hours ago, rensoup said:Regarding testC, I remembered @dmsc added an optimization to help the compressor and I thought it may have had the side effect of "stabilizing" playback, so I took it out hoping it would be as jittery as RMT but you guys seem to say it actually improves it ???
this is the code:
the lines in red force these settings if volume is 0:
Normal operation
Sample noise source
Sample 9-bit or 17-bit polynomial generator (see AUDCTL bit 7)
Mask out clock pulses using 5-bit polynomial generatorSo I guess that's not a good idea and I should take them out ?
What about the other lines ?
Honestly, I really don't know what should or should not be added/removed, so that is not a question I can answer with the very little understanding of Atari 8 bit hardware I have
I personally do think that keeping registers at the same state they were before they reach volume 0 would be the most logical choice, but maybe there was a reason for this specific design in the first place, so I cannot say much in that regard 🤐
Either way, playback after LZSS compression sounds great regardless of A, B or C changes in my opinion, so I think only you can decide
-
Altirra Emulator works great in WINE for me
-
9 hours ago, rensoup said:that's right but that's more of a lucky guess ? 😃
The RMT XEX does the same as the RMT player source code, so that XEX is fine...
I Looked at the Pokey state and it's identical in both except for interrupts flags which don't have anything to do with the problem in this case... noticed something however. Here's another test... what do you think?
Oh there's something indeed! I noticed everytime something reached volume 0, it would usually show as using White Noise in the Audio Monitor of Altirra... Seems like it's no longer the case, now it keeps whatever is in the register as is until it's actually changed, close to how the RMT player XEX did it, and how I believe it should be doing it?
I just listened quickly between 2 outputs with only 1 channel playing at random times and seems like Test C makes it even better now.
Getting rid of some clicks, sounds like it.
I'm not exactly sure what was done, but it sounds about as good as before, except a little less clicky?
Good job for fixing a portamento bug btw! I wonder if that may be related to a few of my other songs behaviour too, I haven't really noticed anything wrong for portamento related effects, except maybe for 2-3 songs that were very very slightly different, but barely made any impact overall.
-
3 hours ago, rensoup said:honestly I can't hear any difference between the exported RMT and the obx... So I output 2 versions of the tune, one updates pokey in the same way as RMT, the other is just the usual update... can you tell which is which 😃 ?
btw the RMT player shouldn't skip frames or anything like that (at least not the source that comes with the tracker)... makes me wonder if there could be a difference between the RMT XEX and the RMT player source... I doubt it though...
it's really hard to tell between these 2 files honestly... They really do sound identical!
I tried to compare between my own obx to these 2... I believe the Test A may be RMT and Test B be the usual update. It's also quite possible I'm wrong there lol
Playing the XEX exported by RMT can immediately tell me something is slightly different in comparison 🤔 For this one I stand by my previous statement, it does have some timing differences.
Makes me wonder if something else is related to this feeling. Or maybe I'm imagining things.
-
Hmm, looks like I can no longer edit my post, so sorry for bumping the thread!
I improved that song further tonight and well, it's really not comparable to the file I posted earlier so please disregard it
In any case, the difference is pretty amazing. The .obx runs so much better compared to the actual song played in RMT, or as a XEX export from RMT.
I hope this can be any useful.
Runs at 60hz btw
-
On 1/10/2021 at 1:00 AM, rensoup said:Can't be the compression🙂
But ok I want to find out now if it's just the way I update the registers... could you post a RMT tune that has the issue?
Well about that... It's sort of complicated to narrow down to specific .rmt, or truly explain why it feels better.
I noticed most of the things that would usually get a suddenly improved are: speed changes to make grooves, and complex instrument design precise to frame level.
I also noticed things at 15khz tend to be a bit unstable for me, but again once LZSS conversion was done, it suddenly made everything smoother!
It just seems like it updates fast enough that everything becomes incredibly smooth when played back, which is a really good thing to me!
In short, anything that sounded a bit weird in RMT, or as a .xex export, just gets a lot more stable, that's really all I can observe myself.
I like doing experimental sounds and ideas, and the stuff never played so smooth until I used RMT2LZSS to compress the modules.
There are barely any downside, other than some problematic looping in some cases, which are also very easy to fix in the .rmt themselves anyway.
On 1/10/2021 at 1:00 AM, rensoup said:I could perhaps output subtunes as separate obxs, now how do I find out if there are any subtunes ??
(There's nothing in the code )
Not sure...
I do know most SAP players can play rmt files, and just make subtunes out of module sections starting outside the main playback range then uses the goto jump to loop the songs.
EG: a song starting at line 00, looping back to 00 at line 08, the goto line, if more pattern data exists after this, for example starting at 09, and then at 0C it loops back to 09, that will be considered to be a subtune.
Since you already have the code for detecting loops, I imagine it wouldn't be too difficult to add a "detect" subtune kind of function so .rmt modules don't hide any secret once converted
EDIT: here's another dumb project of mine.
It was incredibly messy, and got stabilised considerably after conversion.
Okay I admit it's still pretty bad but I can improve it further, that tuning is painful, and jumping between 15khz and 64khz as seamlessly as possible is tricky
-
21 minutes ago, rensoup said:hmm... that's going to need some testing(just out of curiosity)... I don't think I can hear the difference, but I'll try using RMT's way of updating Pokey and upload a test player...
Another thing that's different from RMT, is that if a Pokey register doesn't change ever, it's only updated at the beginning of the song but only some songs have that "feature". It's mentioned during compression "skippking channel"... not sure if it's the case here ?
listened to your tunes too, I like the sounds, I wouldn't listen to the tunes in a loop because it's very often a little too cheerful for my taste 🙂. Your version of Cybernoid is great too!
Well that kind of technicality is above my own knowledge unfortunately.
All I can observe really is that, the RMT player running the song back in an emulator (and most likely hardware, I cannot confirm this one just yet) often has some jittery movements, like some frames are skipped or duplicated, and I am sure Altirra isn't the culprit because the same songs compressed as LZSS sound absolutely identical, but this time, very smooth playback, no frames skipped, better stability, as the others pointed out, and I do agree.
The compression has been doing some incredible magic!
As for the register not updating... My guess is the playback will simply pick up whatever was left in the register prior to executing, so I imagine this would make certain behaviours predictable, or in some cases, random, but that is only my own hypothesis, I cannot truly confirm this is the case or not
Thanks for the comments on the tunes!
A considerable amount of these were not finished ideas or experimental sounds, and I suppose my own composition style has a role to play in the vibe my music radiates
The Cybernoid cover was a great one by another one of my friends btw. I simply Emkayfied it (sorry, I couldn't resist making this joke!), but it wasn't all finalised so that is why around the later part it sounded a bit weird.
There were also some song ideas that got cut much earlier as well because they were made in RMT as subtunes between sections I was editing, so those were omitted.
Makes me wonder if subtune support could be added in order to not miss any secret tunes in a .rmt?
I would surely appreciate it so I would not worry sharing more sketch ideas and miss entire sections currently worked on
-
32 minutes ago, emkay said:Seems we have a different definition of "out of tune" .
For me THIS is out of tune:
Listen from 0:29 to 0:31 or a little earlier to a little later . Somehow the term "thy cat hath died" comes to my mind there.
But the sanxion tune is simply sounding cool that way and offers error correction to have the tune fluent.
Yeah it is indeed offtune a bit. A sweet combination of portamento and slow vibrato as well as the Pulse modulation
In this case it works very nicely, although I do admit it was a little more off than necessary.-
1
-
-
8 minutes ago, ivop said:Oh, now I see it
😊
I just saw it on a 50Hz conversion. The player is not active when you see the jittering, so it's probably something else, i.e. a "bug" in the visualization?I personally thought it was just for visual entertainment, it just gives a certain charm when combined to the VU meter
-
14 minutes ago, emkay said:It's really twisting.
Seems really to be one of the "timing" issues I encountered on and on.
As the LMSS player really seems to replay flawless, the "timing depending" tunes get played more stable but sometimes it means "more harsh" as well. But, if the tune can be adjusted more precisely , the resulting sound can be even better formed.
Here is the special edit of enderdude's "sanxion redo", where I added temporary 15kHz and dedicated modulations.
Now played in the LMSS player it sound like "from a cast cast" or as we say in German "aus einem Guss".
Sounds great! Unfortunately there are many things wrong, like different instruments played on different keys, resulting to things sounding out of tune.
It does look very stable however, I especially like the channel 2 modulation.

RMT2LZSS: convert RMT tunes to LZSS for fast playback!
in Atari 8-Bit Computers
Posted
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
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
Battle Squadron 2x V24.obx Battle Squadron 2x V24 (50hz).obx