Jump to content
IGNORED

Moving beyond RMT ?


rensoup

Recommended Posts

30 minutes ago, rensoup said:

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

 

Hmmm, Softsynth is a nice (Basic-like) tracker from Germany. Afaik, you only get good sounds when the screen is switched off or a very low gfx mode is used, otherwise it is very noisy. There is a nice demo, named World of Wonders which contains several Softsynth sounds. Besides, the first sound above from Jakub Husak, named "Schlecht_Korrekt" is The Model/Das Model by Kraftwerk.

 

www.youtube.com/watch?v=2meuYmtjzdc

 

  • Like 3
Link to comment
Share on other sites

Did anyone ever think about a tracker that has a MIDI compatible data file? Have the option to send it as MIDI data out SIO to synth device. That would be a great option. Competition then would be who can program PoKey to sound better than the synth. :)

 

Edit: Possible to multiplex and play both together?

 

Just an idea...

 

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

22 hours ago, CharlieChaplin said:

Hmmm, Softsynth is a nice (Basic-like) tracker from Germany. Afaik, you only get good sounds when the screen is switched off or a very low gfx mode is used, otherwise it is very noisy. There is a nice demo, named World of Wonders which contains several Softsynth sounds. Besides, the first sound above from Jakub Husak, named "Schlecht_Korrekt" is The Model/Das Model by Kraftwerk.

Interesting WoW demo! It says it's from 1990 ? which is quite impressive considering the first Atari -ST-soundtracker came out around 1989!

 

I guess the samples are 4 bits and there's no software mixing... 

 

I thought it was regular Pokey playback at high frequency which would have been interesting. If it is regular sampling it's probably too CPU intensive to have anything on screen (even for a single channel playback)

 

 

Link to comment
Share on other sites

23 hours ago, rensoup said:

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

I listened to Reharden a bit more carefully and the result does not seem that convincing given the amount of work that when into it... 

 

I was talking to @Wrathchild about samples which aren't just volume mode based but also update the frequency so that it requires less updates per frame... I know very little about sound in general, so I was wondering if that's possible ? Perhaps only for some kinds of sounds ?

Link to comment
Share on other sites

4 hours ago, rensoup said:

I listened to Reharden a bit more carefully and the result does not seem that convincing given the amount of work that when into it... 

 

I was talking to @Wrathchild about samples which aren't just volume mode based but also update the frequency so that it requires less updates per frame... I know very little about sound in general, so I was wondering if that's possible ? Perhaps only for some kinds of sounds ?

 

Looks like a discussion loop ;)

Of course it is possible to put update speed and the generator waves together. 

It works like an LFO then. 

And, if one can handle the frequencies correct, additional PWM is possible (without those high peak noises).

 

The problem is to handle the correct replay(sampling) speed.

If you use a POKEY Interrupt, you lose a channel.

So the question was , if it is possible to have variations of "sampling speeds" from 1 to 800Hz, at 1Hz steps, or at least 8 bit correctness, using software without interrupt handling.

Remember my "slow" tune? 

 

Link to comment
Share on other sites

On 4/10/2021 at 5:27 AM, emkay said:

Looks like a discussion loop ;)

You mean this was already discussed 15 years ago ? Well I just joined the party ?

 

On 4/10/2021 at 5:27 AM, emkay said:

The problem is to handle the correct replay(sampling) speed.

If you use a POKEY Interrupt, you lose a channel.

So the question was , if it is possible to have variations of "sampling speeds" from 1 to 800Hz, at 1Hz steps, or at least 8 bit correctness, using software without interrupt handling.

The best that's realistically possible is 16 updates evenly spaced per frame (so 800hz).

 

I don't really know what the theory is behind samples in general but from what I understand to play samples on the A8, you go into volume mode only and pokey outputs a single maximum amplitude value which gets modulated by the volume to produce the signal...

Does that mean that samples are unsigned on the A8 ?

 

If you were to use the frequency as well as the volume for sample playback, would that be of any use because Pokey outputs square waves only anyway ?

 

very silly questions probably...

  • Like 1
Link to comment
Share on other sites

On 4/9/2021 at 6:35 PM, rensoup said:

I listened to Reharden a bit more carefully and the result does not seem that convincing given the amount of work that when into it... 

 

I was talking to @Wrathchild about samples which aren't just volume mode based but also update the frequency so that it requires less updates per frame... I know very little about sound in general, so I was wondering if that's possible ? Perhaps only for some kinds of sounds ?

Sounds great on real hardware with a decent stereo amplifier and good speakers... what result are you hearing and from what?

  • Like 1
Link to comment
Share on other sites

2 hours ago, rensoup said:

You mean this was already discussed 15 years ago ? Well I just joined the party ?

 

The best that's realistically possible is 16 updates evenly spaced per frame (so 800hz).

 

I don't really know what the theory is behind samples in general but from what I understand to play samples on the A8, you go into volume mode only and pokey outputs a single maximum amplitude value which gets modulated by the volume to produce the signal...

Does that mean that samples are unsigned on the A8 ?

 

If you were to use the frequency as well as the volume for sample playback, would that be of any use because Pokey outputs square waves only anyway ?

 

very silly questions probably...

Digitizing isn't as complex. 

Just find a bit to change in dedicated intervals that is changing something that is producing noise ;) ...

If you manage to change it 100 times per second, it will give you noise  at 100Hz. 

Use the half of that and get a sampling noise.

Switching to volume only mode is given to have the sampling sound only.

If you keep the generators on, you will hear the generator tone as well. 

 

Imagine this as a square wave : #

POKEY might play them

# # # # # # # # 

Now think at a different volume at higher speeds:

 

# # # # # # # # # 

Hm... I should do some graphics ;)

 

Imagine POKEY is playing the square waves, and the volume changes. The resulting sound is not sounding like square waves. It will act like a software LFO.

  

  • Like 1
Link to comment
Share on other sites

On 3/10/2021 at 5:50 PM, Mathy said:

Hello R0ger

 

 

Two options:

 

a) Share them with the guys in this thread, so they can research/implement them.

b) There is this week in September where you can use 100% of your time on these ideas. ;-)

 

Sincerely

 

Mathy

 

This will take a lot of time.  My current project in this regard is documenting a POKEY mode with these settings:  AUDCTL=$40, SKCTL=$8B ... $4x distortion on first chanel, $Cx distortion on second, 1.79 clock, two tone mode, standard 64 khz clock on second channel.  I named this the $4x/$Cx mode.

 

This mode has probably about 9 different note tables to it (probably more!) based on different permutations of mod 3, mod 5, mod 15, mod 31, or non mod frequencies.  I have been at this for weeks, and still not even halfway on it yet.  

 

So yes, custom note tables on any new tracker program are a must.

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

On 4/6/2021 at 2:40 AM, rensoup said:

Which one's better, QT or GTK ?

QT is surly more powerful, but the license is very strict and if you need one (non free/open use) VERY costly.

That said, I have no experience with QT in a C# environment  - contrary to GTKSharp, which "just" works.

wxwidgets is also a quite good portable toolkit (I like it a lot) but I also never used the C# bindings (WX.Net seems to be a "little" outdated...).

  • Like 1
Link to comment
Share on other sites

On 4/9/2021 at 11:35 PM, rensoup said:

I listened to Reharden a bit more carefully and the result does not seem that convincing given the amount of work that when into it... 

 

I was talking to @Wrathchild about samples which aren't just volume mode based but also update the frequency so that it requires less updates per frame... I know very little about sound in general, so I was wondering if that's possible ? Perhaps only for some kinds of sounds ?

I don't read this forum very often and it's great to see you checked out HardBASS recently.

 

My 2 cents about quality vs usability if you don't mind which led to these results:

  • It's a tool made for others to use, therefore it has to work in conjunction with modern demos and games
  • It means it needs to work alognside very tight kernels (think HCM, RastaConverter, or sprite/color kernels in cutting edge games)
  • Consequently, we can't assume IRQs can be running freely across the entire screen
  • Meaning, we can't do variable freq updates - that'd be extremely hard and expensive to manage from tight kernels without IRQs
  • Can't touch STimer either as it'd ruin timers/oscillators possibly used for complex sound effects or other mechanics in demos/games
  • This brings us back to constant rate playback so that instructions to devs can be as simple as clear as possible (e.g. for HardBASS it's: update the sample register every 8 raster lines - once per char line)
  • Can't occupy more than 1 channel out of the 4, including sound playback and timing (again for compatibility with any random production)
  • Has to be able to share/multiplex its single "occupied" channel with any random tracker/sound engine (same, for maximized compatibility)

I did my best to write up the design principles, summarized as "Getting the biggest bang for the buck" here, if you guys are interested:

https://bitbucket.org/sandor-hard/reharden/src/master/HARDBASS.md

 

Of course if the goal is to create a standalone demo with the best possible music, all these principles/limitations can be ignored.

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

On 3/31/2021 at 2: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 ?

Nothing:

 

https://github.com/HertzDevil/SnevenTracker

 

 

https://source.openmpt.org/browse/openmpt/

 

 

(Not sure if it was already mentioned here, but maybe the authors of Deflemask could be "bribed" to support Pokey too....)

  • Like 3
Link to comment
Share on other sites

13 hours ago, Irgendwer said:

QT is surly more powerful, but the license is very strict and if you need one (non free/open use) VERY costly.

That said, I have no experience with QT in a C# environment  - contrary to GTKSharp, which "just" works.

wxwidgets is also a quite good portable toolkit (I like it a lot) but I also never used the C# bindings (WX.Net seems to be a "little" outdated...).

I guess a license wouldn't be required for a tracker though ?

 

I've recently installed an xfce linux distro which is based on GTK, so I have this dumb question :what would happen if you used a QT app on it ?

 

13 hours ago, Irgendwer said:

the main window seems to be drawn directly though...

 

There's still that dilemna I mentioned in my first post: you can get the GUI/interface from another tracker but then you have to throw away the RMT sound engine and update that tracker to support Pokey, or you keep the RMT sound engine and need to rewrite an interface.

 

13 hours ago, Irgendwer said:

(Not sure if it was already mentioned here, but maybe the authors of Deflemask could be "bribed" to support Pokey too....)

I vaguely remember being told Deflemask wasn't very usable... I have no idea how true that is.

Link to comment
Share on other sites

13 hours ago, Sandor / HARD said:

My 2 cents about quality vs usability if you don't mind which led to these results:

  • It's a tool made for others to use, therefore it has to work in conjunction with modern demos and games
  • It means it needs to work alognside very tight kernels (think HCM, RastaConverter, or sprite/color kernels in cutting edge games)
  • Consequently, we can't assume IRQs can be running freely across the entire screen
  • Meaning, we can't do variable freq updates - that'd be extremely hard and expensive to manage from tight kernels without IRQs

Thanks for those explanations... The LZSS player which I'm using to replay RMT tunes has the same kind requirements, except for RC pictures which are a little too intensive.  Right now it's limited to 200hz but should be able to reach 800hz (fixed updates). 

 

13 hours ago, Sandor / HARD said:
  • Can't occupy more than 1 channel out of the 4, including sound playback and timing (again for compatibility with any random production)
  • Has to be able to share/multiplex its single "occupied" channel with any random tracker/sound engine (same, for maximized compatibility)

Just wondering what you mean here ? The bass channel is the 4th one in Reharden, right ? does the 4th RMT channel play regular AUDF sound as well as the digi bass?

 

If I understand correctly, you're generating the bass samples on the fly. Wouldn't it have been easier to just use samples or would it have lowered the quality ?

  • Like 1
Link to comment
Share on other sites

12 hours ago, rensoup said:

Thanks for those explanations... The LZSS player which I'm using to replay RMT tunes has the same kind requirements, except for RC pictures which are a little too intensive.  Right now it's limited to 200hz but should be able to reach 800hz (fixed updates). 

 

Just wondering what you mean here ? The bass channel is the 4th one in Reharden, right ? does the 4th RMT channel play regular AUDF sound as well as the digi bass?

 

If I understand correctly, you're generating the bass samples on the fly. Wouldn't it have been easier to just use samples or would it have lowered the quality ?

 

Hi there,

 

Thanks for your questions.

 

Yes, the 4th channel is playing both HardBASS and RMT sounds (drums in this particular tune, but could be anything).

The slight modification I did for the RMT playback code will switch HardBASS on/off on channel #4 depending on whether or not any RMT sound is playing on channel #4 and if any RMT instrument is playing on another channel that's using channel #4 as its filter.

It's very simple and fully automatic. If you play the HardBASS track alone, you'll notice that I didn't even bother playing the shorter bass sounds at the correct lengths, they just play long notes as the modified RMT playback code will do the multiplexing anyways (e.g. muting my long bass notes when RMT drums/etc... are playing)

 

Using samples are a fully valid way of doing bass/etc..., but if you played around with samplers and analog synths, you know they give you a very different experience and different possibilities. (I did a lot of SID coding during the HardSID project)

HardBASS is a cheap analog synth, not a sampler. (like a poor man's SID bass track)

(BTW you get those ring modulation sounding effects for free with HardBASS, comes from a freq limitation - turns into a feature)

 

I hope this helps. I wish you a lot of luck and success with your efforts. I hope it plays out very nicely!

  • Like 2
Link to comment
Share on other sites

Also, don't forget that if you use true samples, that'll cost a lot of memory. Playing a softsynth in the back (either HARDBass, or something else, like a stripped AtariSid6), uses a lot less memory, because it repeats small waves 256 or 512 bytes. And as Sandor says, those waves can be anything. Not just a sawtooth bass, but can contain thirds and fifths to simulate a chord or organ sound. Think the original "Softsynth" program.

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