Jump to content
R0ger

New bass approach rediscovered in old song

Recommended Posts

6 hours ago, emkay said:

So you're telling me the SID visualizer is really used for POKEY wave recording? Good grieve...

This visualiser is just a universal oscilloscope video renderer. Works with literally anything to showcase pretty waveforms.

  • Like 1

Share this post


Link to post
Share on other sites
51 minutes ago, VinsCool said:

This visualiser is just a universal oscilloscope video renderer. Works with literally anything to showcase pretty waveforms.

I bet it would render faster and look cooler if someone would do a Mode D double scanline mode of this!

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, Stephen said:

I bet it would render faster and look cooler if someone would do a Mode D double scanline mode of this!

our honorary troll has posted ....

 

I wonder if you drive  your car with flat tires aswell.

Share this post


Link to post
Share on other sites

Here are some first tests. It's just one channel for the bass.

 

The first one is just the bass, 3 octaves bellow standard A distortion. It's very naive approach, simply handle only every 8th IRQ.

The second one plays major chord, so you can see (hear) how it's all perfectly in tune. The bass is moved one octave higher.

The color is changed during every IRQ, even those I skip.

 

IRQ1.xex

IRQ2.xex

  • Like 6

Share this post


Link to post
Share on other sites

Higher than bass ?

Baritone ?

 

To save a channel for music replay. It still seems better to play "softsynth" style waves instead.

A 200Hz tone needs only 400 Updates. Thanks to the POKEY timers,  it shouldn't be a problem to put that to a whole "bass" playing octave. It's also possible to build "modulation" tones there, by hacking into the generator with the specific speed of the frequency. You won't get a clean PW control, but the basses would gain more "energy".  

Share this post


Link to post
Share on other sites
8 hours ago, R0ger said:

Here are some first tests. It's just one channel for the bass.

 

The first one is just the bass, 3 octaves bellow standard A distortion. It's very naive approach, simply handle only every 8th IRQ.

The second one plays major chord, so you can see (hear) how it's all perfectly in tune. The bass is moved one octave higher.

The color is changed during every IRQ, even those I skip.

 

IRQ1.xex 715 B · 12 downloads

IRQ2.xex 745 B · 14 downloads

This is really damn cool! Looking at that PWM through an oscilloscope viewer is very, very satisfying.

Share this post


Link to post
Share on other sites

Some new progress ! I can now somewhat combine this new bass with RMT. At the moment I use simple approach: I expect RMT to play A distortion on channel 1. I then take the frequency a volume, and play this new bass on channel 1 instead. There is some basic PWM, but there is no control over it, and it is not even reset based on notes in RMT. That will come later.

 

I can use E or C bass in RMT .. and then change the instrument to use A before export.

 

I play the notes 2 octaves below the original frequency.

 

I don't use the naive 'skip 7 play 1' approach anymore. I convert every source wavelength into new 16 bit wavelength.

Let's say I get divisor 9F from RMT. That means wavelength $A0, 4 times that is $280. Which means I should do IRQ with FF divisor twice, and then one IRQ with 7F divisor.

There is still one complication. In some cases I could get realy small divisor in the lower byte. For example if I wanted 201 wavelength. I wouldn't be able to serve the IRQ fast enough. So instead of 2xFF+0 I can do FF+80+80. So I actually use table with 3 bytes for every source frequency. This gives me nicely spaced IRQs, with very little CPU overhead.

 

I'm also after all noises and crackling which can occur. One source was I played RMT in VBI, as usual. That leads to very long NMI handler, which delays IRQ too much. So this example calls RMT from main thread, syncing using VCOUNT. Short DLI or VBI handlers are no problem.

I also use shadow registers for all 6 values I use in IRQ bass, and they are updated only on down edge. Changing them directly disregarding the actual phase of the bass was another source of minor crackling. At the moment it should sound rather clear.

 

I suggest turning off channels 2 and 3 in Altirra, and to turn on the audio monitor, to clearly see and hear what's going on.

 

Please note you still need real HW or Altirra. We discussed Atari 800 IRQ timing with Petr Stehlik for like 2 hours this spring, it's rather clear where the problem is. It just wouldn't be easy to fix, and it might break easy portability to old systems like Atari ST. Who knows, maybe one day 🙂

 

The song is just some unfinished idea, not even sure how much original it is. I mean I don't know what song it is, but I still have feeling it is some song 🙂

But it proved useful for this testing. The lowest frequency is about 30Hz. Probably too low. But hey, it's a test.

IRQ.xex

  • Like 7

Share this post


Link to post
Share on other sites
1 minute ago, R0ger said:

 

But it proved useful for this testing. The lowest frequency is about 30Hz. Probably too low. But hey, it's a test.

IRQ.xex 3.16 kB · 2 downloads

Sounds very nice. But the Bass is totally powerless compered to the melodic part in your demonstration.

 

It could be really interesting to have a tracker , using this but RMT misses a lot other features as well.

As it enhances the resolution of the bass range, it will be easier to get the musical part in tune.

My latest achievements with RMT .... If the bass had a better resolution, things would get marvelous.

 

 

 

 

Share this post


Link to post
Share on other sites

If by 'powerless' you mean low volume, it can be, it depends a lot on the audio system you use. Those are rather low frequencies. TV or cheap earphones will not play it well. You need subwoofer or decent earphones.

  • Like 2

Share this post


Link to post
Share on other sites
On 6/20/2019 at 8:31 AM, emkay said:

Because of this feature I was always thinking that POKEY wasn't created to suit any 8 Bit computer. POKEY works well with a CPU as a driver. A 2nd CPU in an Arcade machine driving POKEY, some high tone filter behind it, to get real great sound experience back in the 70s. In the Atari , as a main sound device, well... you know the limits.

Please name which Atar arcade games in the 70s used POKEYs ?

none did sir as it got out only in 1979. Further IMHO, Atari Coin-op never managed to pull very much from POKEY at all. Centipede is just a number of fairly simple sounds. The best they did was with Star Wars...but they used 4 POKEYS and a TI voice synth controlled by a separate CPU. But ven wth 4 POKEYs they didn’t think of creating true stereo but added a simple fake stereo phase shifting set-up.

nah...POKEY was used meagrely by Atari coin op, but then again, how well was it used in the A8 machines in 1983 ?

Share this post


Link to post
Share on other sites
On 7/8/2019 at 10:02 AM, Heaven/TQA said:

sounds good. yeah reminds me Hardbass.

Thanks for mentioning Karolj.

 

I had a listen to this just now and it sounds very nice!

 

If I can give some advice here, to make this into a tool to be used in complex demos and games with screen kernels rather than a standalone demo on its own:

 

Make sure you give an easy option to update the sound during tight screen kernels (no IRQ or DLI). HardBass doesn't dictate how you propagate the sound data into the POKEY and it's very important so that others can use the tool you made. If you can display a HCM or RastaConverter picture while this is playing, that's a very good indication that you have a usable tool on your hand.

Share this post


Link to post
Share on other sites

That's pretty much impossible I'm afraid. So far I can handle simple dlis with severe penalty to timing precision (see irq/nmi thread in programming section). Rasta converter seems out of question atm.

Share this post


Link to post
Share on other sites

You Guys really have too high expectations. I would be happy, if an RMT existed that allows to use the real 16 Bit values for note.

And, believe me: It would be usable with any IRQ and DLI ;)

 

Share this post


Link to post
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.

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