Jump to content
IGNORED

Moving beyond RMT ?


rensoup

Recommended Posts

10 hours ago, rensoup said:
On 3/27/2021 at 11:05 PM, j1mp4ck said:

Someone try use NeoTracker?

It doesn't support Pokey but that's not a deal breaker if all that's needed is an editor but there's no source code for it either.

NeoTracker supports Pokey (I think it may even support stereo pokey) as well as covox. I know with version 1.8 there's an install file you use (actually a configurator) - you select some options and then it writes out the executable.

Link to comment
Share on other sites

10 hours ago, Stephen said:

NeoTracker supports Pokey (I think it may even support stereo pokey) as well as covox. I know with version 1.8 there's an install file you use (actually a configurator) - you select some options and then it writes out the executable.


Ah... I got confused with the recently released Arkos tracker... Looks like Neotracker has been around for a good 15 years and never really caught up with RMT... plus the editor actually runs on the A8 ? Doesn't look like the future of A8 music to me ?

Link to comment
Share on other sites

2 minutes ago, rensoup said:


Ah... I got confused with the recently released Arkos tracker... Looks like Neotracker has been around for a good 15 years and never really caught up with RMT... plus the editor actually runs on the A8 ? Doesn't look like the future of A8 music to me ?

 

Oh - I did not mean to imply that, no.  Definitely a PC based tracker is the way forward, exactly the same way we are using things like MADS + WUDSN for example.  I just thought you might be wanting to use Neo for playing back things on a non-upgraded Atari is all.

  • Like 1
Link to comment
Share on other sites

I see one hook at Arkos Tracker. 

It is supporting everything needed to handle the Atari's environment.

This means, if someone was writing the interface to handle the "ADSR-stuff/pokey register in parallel" and puts the POKEY emulation into the Tracker, it's almost done.

It would be up to the musician, to edit the notation table , for special purposes. 

VinsCools's edit there is sufficient for 99% of tunes. 

  • Like 2
Link to comment
Share on other sites

18 hours ago, emkay said:

I see one hook at Arkos Tracker. 

It is supporting everything needed to handle the Atari's environment.

Perhaps but I guess you could say that about RMT too... (and perhaps a bunch of other trackers?)

 

Problem is the same... no source code.

 

18 hours ago, emkay said:

This means, if someone was writing the interface to handle the "ADSR-stuff/pokey register in parallel" and puts the POKEY emulation into the Tracker, it's almost done.

The only readily available Pokey emulator with good accuracy is Fox's ASAP which is what's inside RMT so you'd get the same glitches ?

 

 

 

Link to comment
Share on other sites

3 hours ago, rensoup said:

Perhaps but I guess you could say that about RMT too... (and perhaps a bunch of other trackers?)

 

Problem is the same... no source code.

 

The only readily available Pokey emulator with good accuracy is Fox's ASAP which is what's inside RMT so you'd get the same glitches ?

 

 

 

 

What to say?

 

All "Trackers" support musical commands (on the patterns/ tracks). RMT does not. 

RMT allows to set some feature to single instruments. 

This is THE main problem. 

Any Tracker could be connected to directly put the data into an emulator. 

It could be done while the emulator is running. Changing pitch data on the fly won't break the emulation ;).

And, well, some emulator is needed , because it has to do the ADSR stuff per software. 

Seems, RMT somehow stops the "emulation" , which causes the timing problems. 

 

 

Link to comment
Share on other sites

20 hours ago, emkay said:

All "Trackers" support musical commands (on the patterns/ tracks). RMT does not. 

RMT allows to set some feature to single instruments. 

This is THE main problem. 

It might be from a user's POV but not from a technical POV. I doubt it is that difficult to change RMT to support effects per channel (as long as the ASM player is removed too of course, which is a bigger job)

 

Since effects are part of the instrument envelope in RMT, I suppose 1 envelope step corresponds to the tracker moving down 1 line ?

 

So I guess if you had a 3 step envelope with effect 99 and a XY parameter  (say $45 $44 $1a)  in RMT, you'd write it in the track effect column in a "typical" tracker as 3 consecutive lines:

99 $45

99 $44

99 $1A

 

right?

 

Does that mean the envelope becomes useless ?

 

Link to comment
Share on other sites

1 hour ago, rensoup said:

Since effects are part of the instrument envelope in RMT, I suppose 1 envelope step corresponds to the tracker moving down 1 line ?

 

So I guess if you had a 3 step envelope with effect 99 and a XY parameter  (say $45 $44 $1a)  in RMT, you'd write it in the track effect column in a "typical" tracker as 3 consecutive lines:

99 $45

99 $44

99 $1A

If it runs at Speed 1, 1 VBI, that is correct, it would be pretty much exactly like that. Any other speeds will just make the effect happen differently, which could be useful in many cases too, without clogging the instrument envelope.

1 hour ago, rensoup said:

Does that mean the envelope becomes useless ?

Not at all :P

It would work nicely as a complement, or just to get certain things happen on the fly without having to resort on creating duplicate instruments for the matter.

Speaking of instrument envelope, it would be nice to actually have a envelope speed setting. It always made me confused to see RMT supports Note/Frequency tables have a speed setting, but not the instrument Volume/Effect envelope.
That made some things a little difficult to do, causing some instrument space being wasted to make "longer" envelopes, that are limited to 1F steps if I am not mistaken. 
At 1 VBI it's fine but faster speeds such as 200hz make them a little tricky to make especially since there's 4x as many frames necessary to get the same "output", if you see what I mean.

  • Like 1
Link to comment
Share on other sites

4 hours ago, rensoup said:

 

 

Does that mean the envelope becomes useless ?

 

 

In that case RMT does something right.

The "envelope" is somehow a "sample snippet". And there is the global volume control to place the volume for the moment in the tune. 

Similar is needed with portamento, arpeggio... whatever ;)

Sounds weird, but in many places a detuning is recommended to have the thing sounding clean, or do some nifty "emotion trap" (I name it this way, it's no specialized term).

 

 

 

 

 

  • Confused 1
Link to comment
Share on other sites

On 4/1/2021 at 4:31 AM, VinsCool said:

Not at all :P

It would work nicely as a complement, or just to get certain things happen on the fly without having to resort on creating duplicate instruments for the matter.

So you'd have all of the envelope parameters available as track parameters as well ? (volume, filter,...)

 

On 4/1/2021 at 4:31 AM, VinsCool said:

Speaking of instrument envelope, it would be nice to actually have a envelope speed setting. It always made me confused to see RMT supports Note/Frequency tables have a speed setting, but not the instrument Volume/Effect envelope.
That made some things a little difficult to do, causing some instrument space being wasted to make "longer" envelopes, that are limited to 1F steps if I am not mistaken.

Are you talking about the instrument note table ? it looks like it's moving 1 step at a time, same as the envelope ?

 

It's not difficult to support longer envelopes but it means that everything would have to be defined in the .erti file.

 

 

Link to comment
Share on other sites

1 hour ago, rensoup said:

So you'd have all of the envelope parameters available as track parameters as well ? (volume, filter,...)

I mean, both could coexist, either in the instrument itself, and/or in the tracker pattern, so if there's support for effect commands, that would work as well I believe.
 

1 hour ago, rensoup said:

Are you talking about the instrument note table ? it looks like it's moving 1 step at a time, same as the envelope ?

 

It's not difficult to support longer envelopes but it means that everything would have to be defined in the .erti file.

Yeah I'm talking of the instrument tables. There's the volume envelope on the right side with effect commands, and the notes/frequencies on the left.

 

image.png.96bc403e5bece1c594a94b02336abcff.png


The notes/frequencies also work 1 step at the time, but can be set at different speeds, eg: speed 08 makes 1 step last 8 frames instead.
On the volume/commands side, it's only 1 step per frame, no way to change the speed of it, which was the thing I mentioned above.
I find it odd that this is not adjustable compared to the notes/frequencies counterpart, having a way to chose at what speed an envelope plays could make some things a bit easier to manage.

 

  • Like 1
Link to comment
Share on other sites

7 hours ago, rensoup said:

So you'd have all of the envelope parameters available as track parameters as well ? (volume, filter,...)

 

This is not needed.

AUDCTL settings and depending POKEY settings, need their part in the instrument envelope.

 

On the Track/Pattern would be needed:

-shift pitch up/down

-Portamento up/down/speed

-Arpeggio numbers/count of numbers/speed

-vibrato style/speed

-global volume

 

Quote

 

Are you talking about the instrument note table ? it looks like it's moving 1 step at a time, same as the envelope ?

 

Ofcourse, if the thing runs at 50Hz, it only can change things at 50Hz.

But POKEY's generators can act inbetween.  

 

Quote

 

It's not difficult to support longer envelopes but it means that everything would have to be defined in the .erti file.

 

Are longer envelopes really needed ?

Well, if in RMT the replay speed is changed, the envelop speed is changed as well. 

This is great for punchy drums, but the filter programming doesn't really like that. 

On some tunes it would be sufficient, to have even slower speeds for the envelope.

 

Edited by emkay
  • Like 1
Link to comment
Share on other sites

On 3/31/2021 at 3:21 AM, rensoup said:

One thing I'm wondering is why every tracker author insist on creating their own GUI for their editor ? I'm guessing refresh speed is an issue ?

 

What's wrong with Winforms for a tracker editor ?

Do you really want to have a .NET dependency? That potentially rules out anything pre-Vista (or maybe even Win7, who knows), plus all other older Mac and Linux boxes. Generally, perhaps people are biased because of the Win32 API used for GUIs on Windows has a really bad reputation.

 

For my projects I'm usually in favour of using something like Dear Imgui (https://github.com/ocornut/imgui), since it looks and behaves exactly the same across all platforms that support it, is very lightweight (only a couple of files to include in your project) and doesn't consume a lot of resources.

Edited by ggn
  • Like 3
Link to comment
Share on other sites

I like this page as a good explanation of the various effect... 

https://en.audiofanzine.com/sound-synthesis/editorial/articles/effects-part-1.html

 

A couple of years ago I took a stab at the Xenon 1 theme via disassembling the ST replay code and trying to port that into what would be a variant of the David Whittaker player.

I gave up though as the octave range of the A8 just didn't seem to lend itself to the tune nicely, have come back a couple of times to it but never happy with the output.

 

If you check out the cool breakdown of the tune on this video then it does highlight some clever things, namely using the different repeating song channel lengths to produce a varying tune, combined with the global pitch shift to provide even more variety.

 

 

Attached is the decoder, output and what sense I could make of the ST code.
Pattern1 I find especially neat but maybe outside of what RMT can replicate?

 

Anyway, happy for anyone to take a stab based on the findings so far :) 

Xenon.zip

  • Like 2
Link to comment
Share on other sites

On 4/1/2021 at 6:43 AM, emkay said:

 

In that case RMT does something right.

The "envelope" is somehow a "sample snippet". And there is the global volume control to place the volume for the moment in the tune. 

Similar is needed with portamento, arpeggio... whatever ;)

Sounds weird, but in many places a detuning is recommended to have the thing sounding clean, or do some nifty "emotion trap" (I name it this way, it's no specialized term).

 

 

 

 

 

@rensoup

 

Have a look at this video:

 

 

 

  • Like 1
Link to comment
Share on other sites

22 hours ago, VinsCool said:

The notes/frequencies also work 1 step at the time, but can be set at different speeds, eg: speed 08 makes 1 step last 8 frames instead.
On the volume/commands side, it's only 1 step per frame, no way to change the speed of it, which was the thing I mentioned above.

ah yep, I was looking at the code and it was a little confusing but I can see it works exactly like you describe. In theory it's easy to add a speed parameter to the envelope... 

If I start putting too much stuff in the .erti file, I'm thinking it'd become a nightmare to maintain from a user's POV though.

  • Haha 1
Link to comment
Share on other sites

14 hours ago, ggn said:

Do you really want to have a .NET dependency? That potentially rules out anything pre-Vista (or maybe even Win7, who knows), plus all other older Mac and Linux boxes. Generally, perhaps people are biased because of the Win32 API used for GUIs on Windows has a really bad reputation.

 

Always nice to have cross platform in mind as long as there's a solution which ticks all the boxes but I don't know if that 's the case here...

 

14 hours ago, ggn said:

For my projects I'm usually in favour of using something like Dear Imgui (https://github.com/ocornut/imgui), since it looks and behaves exactly the same across all platforms that support it, is very lightweight (only a couple of files to include in your project) and doesn't consume a lot of resources.

That's looks pretty good, I'd never heard of it!

 

Good:

 -C++ but has binding for lots of languages (C# !)

 -fast: outputs a bunch of vertex buffers

 

Bad?:

 -C# binding has to go through C binding (not a major problem, just extra stuff to deal with)

 -Rendering is done via a graphics library (Veldrid) which is built on top of SharpDX. But I guess that lib isn't really required and can be bypassed.

 -It's a GUI, not something as complete as Winforms.

  There's no fileselector fo instance (although I see some projects which have implemented it).

  What if you want to multiselect/edit or some other feature? you'd have to implement that yourself...

 

Again, cross platform is nice but I think single platform with richer features is better.

 

I was curious about QML (QT with C# bindings) but I'm not sure what it's like speedwise

 

Link to comment
Share on other sites

12 hours ago, emkay said:

Have a look at this video:

Well I did but I'm not sure if you meant to illustrate track effects ? I can see that she's using a lot of them of course...

 

And damn that editor is primitive:  press arrow down x times, press number, repeat many many times ?

Link to comment
Share on other sites

3 hours ago, Matej said:

It's written in D and it's an Alpha release, so probably not packed with editing features. It shows how to interact with ASAP for playback which is potentially interesting (although I spotted a 6502 emu in there)

Edited by rensoup
Link to comment
Share on other sites

I dug up a bunch of interesting old threads:

 

new tracker discussion, 10 years ago... (yeah I know analmux isn't with us anymore)

 

 

some really cool nes tunes played with pokey using some special player by @andym00 (only thing I understood was that it used variable timed irqs to only update pokey as needed)

 

 

Some nice bass sounds by @Sandor / HARD . it is compatible with RMT but requires 39 updates per frame so that's 1950hz.

 

 

A bunch of tunes made by Jakub Husak with softsynth, a really old tracker I'd never heard of...

http://asma.atari.org/asmadb/search.php?play=1723

http://asma.atari.org/asmadb/search.php?play=257

  • Like 2
  • Thanks 1
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...