Jump to content
IGNORED

[RELEASE] RASTER Music Tracker, v1.34.00


VinsCool

Recommended Posts

Hello guys

 

We're doing requests?  Whoopi!

 

- Ode to Joy, by Beethoven

- Carmina Burana, by Carl Orff

- Danse Macabre, by Camille Saint-Saëns

- Equinox and Oxygen, by Jean Michel Jarre (not sure which ones exactly, but you music guys probably know)

- Theme from James Bond

- Theme from Airwolf

- Crockett's theme, by Jan Hammer

 

in Stereo please. ;-) :D :waving:

 

Sincerely

 

Mathy

 

 

 

 

  • Like 1
  • Haha 2
Link to comment
Share on other sites

these are why folks get in trouble, it should give credit to the original writers composers etc and so arranged for 8 bit by whoever does it...

 

It's great work and awesome to hear, but it reads like no one else had anything to do with it.

Edited by _The Doctor__
Link to comment
Share on other sites

  • 2 weeks later...

That was a lot of work but boomchakalaka!!!
This one is dedicated to everyone who told me this kind of thing was impossible to do! :D 

So yes, generating POKEY tuning tables on the fly directly in RMT has been achieved!

I used my POKEY Frequencies Calculator code that I have incorporated into RMT, and this is the results.

This might be a massive game changer soon :) 

  • Like 11
Link to comment
Share on other sites

this hits kinda different with A-4 a bit closer to the 432, here 433 to compensate a little bit on the detuning.

that goes without saying I am really happy how good this feature works so far despite being incredibly early.

can't wait to release a new version sometime soon with many new things in it such as the driver improvements, the VUPlayer exports and the instant tuning adjustments.

 

  • Like 5
Link to comment
Share on other sites

3 hours ago, VinsCool said:

That was a lot of work but boomchakalaka!!!
This one is dedicated to everyone who told me this kind of thing was impossible to do! :D 

So yes, generating POKEY tuning tables on the fly directly in RMT has been achieved!

I used my POKEY Frequencies Calculator code that I have incorporated into RMT, and this is the results.

This might be a massive game changer soon :) 

Sounds really good !

And that's coming from u guy who's mostly tone deaf, so please can you explain what is difference from before ?
As mostly coder, I've only used rmt songs/sfx generated by someone else, so what is new about this ?

 

And another question as I haven't read like last 1000 messages over here, is this improved rmt producing play routines similar to old ? I mean like one or two calls per frame, each taking variable cpu time from couple raster lines to couple dozen maybe ?

Thanks  for hard work on improving such a vital Atari tool !

 

  • Thanks 1
Link to comment
Share on other sites

9 minutes ago, popmilo said:

Sounds really good !

And that's coming from u guy who's mostly tone deaf, so please can you explain what is difference from before ?
As mostly coder, I've only used rmt songs/sfx generated by someone else, so what is new about this ?

Thank you!

 

My new code in here generates lookup tables used by the 6502 driver directly, essentially saving a lot of time for anyone editing the tuning manually by handpicking AUDF values to get the pitch they want.

This is still in its infancy but ideally I want to export tables along with stripped .rmt at some point for the same purpose.

I am aware there are ways to get more compact data and less CPU intensive driver using LZSS but hey this can be done anyway.

 

12 minutes ago, popmilo said:

And another question as I haven't read like last 1000 messages over here, is this improved rmt producing play routines similar to old ? I mean like one or two calls per frame, each taking variable cpu time from couple raster lines to couple dozen maybe ?

It's more or less the same, i have still a lot of optimisations to do since unfortunately adding features into the driver comes at the cost of being heavier, and I am only a beginner programmer too so things are not quite as good as they could be.

I also have bumped up the ability to call the player more than 4 times per frame too, because it's definitely capable of it.

 

15 minutes ago, popmilo said:

Thanks  for hard work on improving such a vital Atari tool !

Thank you very much!

Now I only hope I will get the permission to share all the sources of my fork someday...

This is a lot to carry all by myself, and I am sure some more people would be interested to contribute to the project :)

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

Vins, you're inspiring me :D

 

Only the CPU indicator is reminding of what this really was before ;)

 

The special in this is that all movement/fx have a relation to the beat of the tune. 

Still fighting with rusty coding . Need some virtual MoS²  ;)

 

 

 

 

 

  • Like 2
Link to comment
Share on other sites

29 minutes ago, emkay said:

Vins, you're inspiring me :D

 

Only the CPU indicator is reminding of what this really was before ;)

 

The special in this is that all movement/fx have a relation to the beat of the tune. 

Still fighting with rusty coding . Need some virtual MoS²  ;)

 

 

 

 

 

This is cool!

sources please, you modified my VUPlayer, so I think this is fair game if I can see what kind of tricks you used too :D 

Edited by VinsCool
Link to comment
Share on other sites

7 minutes ago, _The Doctor__ said:

wonders if emkays work of Visualization Player will speed up or slow down / not play under NTSC. Looks like it could be tweaked without loss as there are plenty of empty line.

Yes , there is too much CPU available yet.

But you see impossible stuff already ;)

Link to comment
Share on other sites

10 minutes ago, _The Doctor__ said:

wonders if emkays work of Visualization Player will speed up or slow down / not play under NTSC. Looks like it could be tweaked without loss as there are plenty of empty line.

I don't think this would be a problem really.

Most of the visualisation code I had done so far was entirely in the VBI period, then the music driver was called at regular intervals after it, so unless a lot of tricky timing is involved, it should still work fine.

Link to comment
Share on other sites

If you have 1 hour to waste watching me test random tunes and random settings, have a good time.

 

Coming soon:
- VUPlayer exports and a GREATLY simplified method for those exports too, SAP will benefit as well.
- On the fly tuning lookup tables computation, will be copied into exports memory address 0xB000

- Timing and Stability improvements in RMT itself, tweaks in the POKEY and 6502 AltirraRMT code were also done to get the wanted results

- Tweaks in the audio buffer code from RMT, this helps reduce the lag and stutter. Note that the lag heard in the recording is caused by Virtualbox, not RMT!

- Proper Stereo detection from RMT, this most likely broke the old sa_pokey and apokeysnd plugins, but this fixed the spotty Stereo detection from the AltirraRMT plugin

- Many tweaks and optimisations I don't remember but that's just a few details that don't really matter for now

 

Regarding the AltirraRMT plugins, I don't exactly know what I have to do or how I can share my modified version so for the moment it's uncertain.

I think I've spent enough time on this for a few days at least ? 

 

 

  • Like 7
Link to comment
Share on other sites

@VinsCool  Thanks for sharing. Great you are pushing this tool and adding so much functionality!

 

Really enjoyed what you have illustrated there in this latest video. Some amazing tracks you are creating and/or playing with here!

 

Aside the Battle squadron fav, (sounding great as ever), the starting track is great, (ideal for a medievil adventure game (point and click or platformer maybe). Also love the track from 15mins in: https://youtu.be/rIXwWdlcGX0?t=895  with the fade out at the end.

 

The track 32.50 in https://youtu.be/rIXwWdlcGX0?t=1958  with the leading synth tone running up and down the scale quickly is amazing - love to see this in a game!:lust:

 

See you got the excellent Flob game track in there too (56.10 in - love that track). https://youtu.be/rIXwWdlcGX0?t=3370  and the on-the-fly changing of that tune's key and also tempo is cool.

 

 

Definitely hearing pokey sounds I've not heard of before.

 

My main interest is seeing music and Pokey SFx being utilized in A8 games for atmosphere going forward, as IMHO it's a totally underused element of the A8's hardware. 

 

Music and sound effects in games is a hugely important aspect to games. Case in point the sound FX in the A8s Prince of Persia and music track in Flob. (Flob's soundtrack, aside it's signature tune, changes too in the game)

 

Having graphic adventure or action/exploration platform games with "timed" atmospheric/ambient background pokey sounds which come in at key moments and also can fade in and out would greatly enhance a game. Tracks changing to suit a particular element in a platformer or a vertical/horizontal shooter. (Ie a boss encounter, or coming up again an enemy camp). Battle Squadron on the Amiga did this very well.

 

It could be used to an amazing degree in the new 3D raycasting engine based FPS games emerging on the A8. (Just imagine enytering a room in a 3D raycasting based FPS where there is a low level music ambience and or sound fx generated by Pokey and perhaps the occasional sample - (CPU cycles and memory permitting of course). And this changes to add an element of danger, or indicate an encounter with an enemy, etc.

 

Case in point if you have ever played that seminal classic Outcast (1999) on the PC the use of music scores to change the mood and accentuate say a battle, danger or a discovery/reveal is absolutely key.

 

Check it out. Listen to the chilled ambient background music for a few moments at the start of the video then hear it suddenly change to a more sinister track at 14.57 in before the protagonist, (the fatastically named Cutter Slade), engages with the enemy:

 

 

 

.........this switch in music make a huge difference to the game's atmosphere.

 

I highly recommend Outcast from 1999. There is also a modern remake with the same gameplay and score but with enhanced graphics available on Steam on the PC. Defo recommend ya'll check it out. (Although I have a soft spot for the original Voxel engine - which incidentally never utilized the graphics card accelleration of cards at the time - it was purely CPU driven). 

 

Here is a video comparing the two side by side:

 

 

Anyways - going off on a tangent here but all this work you are doing is great for pushing the Pokey chip tunes as well as the future of in game music and ambient sound fx IHMO. So glad you are working on this.

Tracks and new sounds the like of which you have created clearly proove the A8/Pokey is capable of so much more than bleeps and very rudamentry wobbly sounding chip tunes. (Sorry - I don't know what else to call the traditional wobbly Pokey sound that so many 90's games had).

 

I'd love to hear more synth sounding tracks, (and would still love to see Blade Runner blues tackled..... (can you imagine fading that one in with a long maintained haunting synth sound as close to the original as possible?)) :lust:

 

Finally I'll leave you with 2 x Stereo PDM Fujiconvert conversions (For SIDE3's player ) of two of the most amazing tracks from the Outcast game.

Crank up the volume:

Outcast - 12 - World Of Temples audio alter 3D gain 4 DC offset minus7 16 2 0 5_7 4_6 pdm2 stereo 22135Hz ide pal.pdsOutcast Oriental Spirit_AudioAlter3D gain4 DC offset minus7 16 2 0 5_7 4_6 pdm2 stereo 22135Hz ide pal.pds

 

 

Full Youtube soundtrack here:hhttps://youtu.be/tkhv-sMTeI0?t=3103

 

 

More info about the Outcast Orchestral sound track (by Lennie Moore) here:https://www.greatestgamemusic.com/soundtracks/outcast-soundtrack/

 

 

 

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

Tuning by ratio is coming soon. :) 

I'm in the process to design a new dialog box where a handful of parameters can be set, such as the base note intended for tuning, the notes ratio, if 12TET or 12Ratio is desirable, and possibly more if I get the idea how to do it.

For now, I have got the code for the calculations by ratio to work, so I hope I could demonstrate some of it later tonight if I get most things to work as expected.

  • Like 5
Link to comment
Share on other sites

2 hours ago, VinsCool said:

Tuning by ratio is coming soon. :) 

I'm in the process to design a new dialog box where a handful of parameters can be set, such as the base note intended for tuning, the notes ratio, if 12TET or 12Ratio is desirable, and possibly more if I get the idea how to do it.

For now, I have got the code for the calculations by ratio to work, so I hope I could demonstrate some of it later tonight if I get most things to work as expected.

This is exactly what I was thinking about earlier tonight. Dist C obviously won't play nice, but dist A, 16-bit, "filters", etc... will work with just tuning, or any other ratio.

 

Another question I had was if exporting a file with defined/undefined features is still possible and your 6502 player supports that? That is very important for demo stuff and games. I have moved vibrato stuff to other parts of the instrument in the past (+/-1 frequency in the envelope), just to avoid the extra code needed for vibrato. That was Procrastinate, IIRC.

 

I'm really looking forward to using your new stuff for a new production. Aimed at SV2K22 :D  So we have lots of time to fix things if there are problems ;)

Edited by ivop
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

31 minutes ago, ivop said:

This is exactly what I was thinking about earlier tonight. Dist C obviously won't play nice, but dist A, 16-bit, "filters", etc... will work with just tuning, or any other ratio.

Hell yes! Well there are some settings that do actually work really well for the Distortion C basses, so we'll see what gives :D 

As far as I could tell, it's becoming really nice, and just as I wished, it was only a matter of time before this turned into a feature!

33 minutes ago, ivop said:

Another question I had was if exporting a file with defined/undefined features is still possible and your 6502 player supports that? That is very important for demo stuff and games. I have moved vibrato stuff to other parts of the instrument in the past (+/-1 frequency in the envelope), just to avoid the extra code needed for vibrato. That was Procrastinate, IIRC.

Absolutely!

I also have been rewriting the entire Export code, and greatly simplified the process, in fact it has become a lot easier to customise, which is precisely why it was so uncomfortable back when I only had x86 disassembly of the code.

It turns out that the very function used to load binaries in memory worked perfectly, it was the code in charge of saving data that caused all my problems!

So in short, all I had to do to overcome it was not to work around all the export construction, but rather take a smarter approach.

 

That means, I literally could load in memory a complete export player (minus the .rmt module) built from my currently in progress ASM code for the RMT Driver/VUPlayer, and assign a bunch of memory addresses, then write all the sections in 1 batch, and maintain compatibility with ALL possible variations!

It really felt like a Eurêka to me, because as far as I remember, the original export construction was NOT at all built with customisations in mind, and as such, it truly was a pain in the ass to maintain with my driver updates, which in return made them a lot less frequent since it involved a LOT of handmade HEX editing for each of the parts I needed to load in memory to then re-construct a binary!

 

So as things are currently, the demo I posted yesterday used the latest revision I posted on my Github, and it will still get more soon considering that I'm far from the most optimised builds I want to make possible.

The pieces of interest there so far are rmtplayr.a65 (driver), rmt_feat.a65 (work in progress set of features for conditional assembly for all the changes I did), and most importantly, dasmplayer.asm (originally the re-creation of the XEX export code, but it first gained a lot of improvements, and now it turned into its own thing, VUPlayer, also WIP).

Things there are obviously not finished, I know that, but still, the latest version of everything in there was the exact same I have used yesterday, and, with the simplified construction code I have designed in the meantime, compatibility with more customisation will become a real treat later.

 

So yes, support with all of this is my long term goal right now. :) 

47 minutes ago, ivop said:

I'm really looking forward to using your new stuff for a new production. Aimed at SV2K22 :D  So we have lots of time to fix things if there are problems ;)

Thank you very much! 

I will do my best to not disappoint you.

Right now I believe I finally have solved the biggest problem related to the music production: tuning.

From this point onward, handling as many combinations as they could possibly be made should become a lot easier, now that I got a major obstacle out of the way.

 

If you have any ideas or suggestions for things you think I could do better, I would like to hear them!

I'm aware I am not a very experienced programmer in the first place, and might not be able to do certain things yet, but like they say, nothing is impossible until you're tried at least once! :D 

 

Anyway, I'm back to work on my Ratio tuning code, I had some unrelated things to do in the meantime, so I haven't actually made much progress since my last message here.

  • Like 5
Link to comment
Share on other sites

6 hours ago, VinsCool said:

the biggest problem related to the music production: tuning.

That's the main point. 

The real problem over decades was the shifted tuning, where low note have been set to 432Hz and high notes to 440Hz dependency. 

 

 

6 hours ago, VinsCool said:

From this point onward, handling as many combinations as they could possibly be made should become a lot easier, now that I got a major obstacle out of the way.

Well, different tuning "base frequencies" can help to find the best fit to the 8 bit resolution, where tuning still has  some pitch problems. 

But, I'm pretty sure that a Tracker that is allowing to set pitch portamentos, will solve all problems.

 

6 hours ago, VinsCool said:

 

If you have any ideas or suggestions for things you think I could do better, I would like to hear them!

I'm aware I am not a very experienced programmer in the first place, and might not be able to do certain things yet, but like they say, nothing is impossible until you're tried at least once! :D 

 

Anyway, I'm back to work on my Ratio tuning code, I had some unrelated things to do in the meantime, so I haven't actually made much progress since my last message here.

 

Two things could be placed into the current RMT. 

I'd name it Pulse Power correction.

Depending on the pulse switching speed, it is given that high tones were louder than low tones. 

Depending on the range of used octaves for one instrument, there could be some automated volume correction, to get the same pulse power. 

The other thing is the development of the Polycounter basses.

All tries to stabilize the 3 Orbits won't really help. imho.

But there is this small fact that they werem't really random

It is depending on the played tone before, what type of orbit will get the focus.

Using the stable gen. 2 and (E) and low tone "C" and then to let the unstable orbits flow, will sound like a PWM bass. The main problem here is also the volume control. 

Not sure how to add, but some automated volume control could help to aid in this effect.

Still tickling with it.

 

 

 

 

  • Like 1
Link to comment
Share on other sites

Took me way too much time, after a painful experience with declarations that would not be "registered" unless I restarted Visual Studio a few times, and classes that just took forever to build because I had to input a lot of variables into this thing.

But here's progress anyway.

And yes I know this is off in the display, that's precisely what Base Note is intended to do, here it's just assuming that a C-5 is a A-4, which is not good lol

Otherwise, it does work as expected ;) 

image.thumb.png.302e6b8665d3090af8062e1f1376ba4b.png

Link to comment
Share on other sites

Aw damn, and here I was enjoying the chords resonance from the Ratio tuning in C Major! :D

To be fair, the ratio tuning is indeed "offtune", compared to the standard 12 equal temperament, so that is certainly correct to say the Proper tuning is indeed... Proper :D

 

Ok, I have another one, the tuning shift should be a lot more subtle, but it does help enhancing sound textures, mainly on the filtered notes :3 

Sieur_Goupil_Ratio_Tuning_Test.xexSieur_Goupil_Proper_Tuning_Test.xex

 

Edited by VinsCool
Added another comparison
Link to comment
Share on other sites

1 hour ago, VinsCool said:

Aw damn, and here I was enjoying the chords resonance from the Ratio tuning in C Major! :D

To be fair, the ratio tuning is indeed "offtune", compared to the standard 12 equal temperament, so that is certainly correct to say the Proper tuning is indeed... Proper :D

 

Ok, I have another one, the tuning shift should be a lot more subtle, but it does help enhancing sound textures, mainly on the filtered notes :3 

Sieur_Goupil_Ratio_Tuning_Test.xex 10.1 kB · 0 downloads Sieur_Goupil_Proper_Tuning_Test.xex 10.1 kB · 0 downloads

 

Proper tuning again. 

So I have a question ?

Is it that people always used some "ratio" tuning for most POKEY tunes?

They have this "Eardrum turning" sound in common. 

  • Like 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...