Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > Flangering effect with noise waveform
2009-06-06 18:12
Conrad

Registered: Nov 2006
Posts: 849
Flangering effect with noise waveform

I've been testing with some flangering effects recently and have noticed a problem that noise waveform generators can't be reset in order to produce the exact same signals each time so that two voices produce the matching signals at slightly offset frequencies to produce the flanger effect appropriately.

The effect obviously works with triangle, saw and pulse since they are all clean signals, where noise is random signals but are not a constant set after a warm reset of the c64. I've been comparing this with the recent release of reSid floating point and Dag Lem's older and not exactly accurate reSid.

This obviously occurs due to analogue signals from the SID chip, but still, is there a way of resetting the noise waveform in a way that it will produce the same constant signals in order to prevent noise+flangering problems during music playing for example?

If you guys don't know what I'm on about, test some SIDs out that use flangering with noise waveforms (like Galaxy Bounce (Jammer)) and compare it playing with reSid-fp (or a real C64) and the old reSid version (that is used in GoatTracker still).
2009-06-06 19:24
Mace

Registered: May 2002
Posts: 1799
Err... the thing is, noise is exactly that: noise.
It's random, you can't sync or match it.

You say so yourself.
And if it's random, you can't reset it.
Because it will just be different again.
2009-06-06 19:50
Hein

Registered: Apr 2004
Posts: 954
I think you have to reset the clock.
2009-06-06 19:52
WVL

Registered: Mar 2002
Posts: 902
IIRC, the noise isnt really noise at all, but some sort of fixed pattern being shifted all the time, so basically I think you CAN reset it.

Maybe I can find that info again somewhere?
2009-06-06 20:06
Angel of Death

Registered: Apr 2008
Posts: 211
What I think you are talking about is, actually, called phasing. eg. Two similar waveforms next to eachother a little bit time-shifted, creating an effect through cancelling and enhancing of soundwaves.
The SID musician TRON experimented with it in the early days.
Here's his experiment in the HVSC:
MUSICIANS\T\Tron_Beekveld_Erwin\Hawaiian_Punch.sid

It was succesfull in a way. He found out that after a power-down of the SID chip its randomizer, which is based on mucking about with some timers, most probably didn't use enough mucking about. Sometimes, which could be shown on an oscilloscope, it generated exactly the same noisepattern a few times in a row.
Heck. Even the RND function in BASIC blurted out the same sequences with a small enough seed. (say about 1 to 50)

However. We haven't tested it thoroughly with ReSID emulation. (no idea if it works that way)
But with a HARDSID it works like a charm almost every time!

And perhaps it didn't work that way at all and maybe he was just lucky... :)
2009-06-06 20:12
Ninja

Registered: Jan 2002
Posts: 411
Maybe this article can help you?

http://www.dekadence64.org/sidwav.txt

(It is based on this one)
2009-06-06 20:23
chatGPZ

Registered: Dec 2001
Posts: 11386
the noise waveform is indeed generated by a rather predictable LFSR =) (read what ninja linked). and yes, it does work in resid/vice :)
2009-06-06 21:14
Conrad

Registered: Nov 2006
Posts: 849
Okay, just been reading on SounDemon's document Ninja posted and done a little experiment with this... looks as though the technique does work as I expected! :) Thanks a lot guys! :)

I think this method should be put into music routines so that it will allow phasing (thanks for correcting me Angel of Death ;)) effects with the noise waveform ANYWHERE in the music when playing, i.e. on hard-restart, use $f1, $09, then whatever waveform including noise.
2009-06-06 21:40
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: Okay, just been reading on SounDemon's document Ninja posted and done a little experiment with this... looks as though the technique does work as I expected! :) Thanks a lot guys! :)

I think this method should be put into music routines so that it will allow phasing (thanks for correcting me Angel of Death ;)) effects with the noise waveform ANYWHERE in the music when playing, i.e. on hard-restart, use $f1, $09, then whatever waveform including noise.


Maybe I'm wrong. But is it the feature of initializing the noise random oscillator ? If so, it was implemented in the hard restart of GT-Editor (1992).
2009-06-06 23:12
Conrad

Registered: Nov 2006
Posts: 849
Hello Geir. Just been testing some code as such following...

ldx #$00                  ;voice number index (0, 7 or  $e) 
ldy current_waveform,x    ;$81, $41, $21, $11 etc.
lda #$f1
sta $d404,x
eor #$f8                  ; a = ($f1 xor $f8) = $09
sta $d404,x
eor #$f8                  ; a = ($09 xor $f8) = $f1
sta $d404,x
eor #$f8
sta $d404,x
eor #$f8
sta $d404,x
eor #$f8
sta $d404,x
eor #$f8
sta $d404,x
eor #$f8
sta $d404,x
tya                  ; a = final waveform
sta $d404,x

The $f1, $09 thing had to be done four times from how it was tested with reSid-fp. Also, raster-time between each voice doesn't affect it. I did ~16 rasterline delay between each voice separately and the phase effect still actually works. :)

Code looks a bit bulky I know, but is this concept similar to what you did in your routine?
2009-06-07 07:46
Angel of Death

Registered: Apr 2008
Posts: 211
Jeeez...
You guys are terrible!
Where are the days of: Sometimes this works and we don't know why. Let's start it up and hope for the best!
All this rocketscience makes it so... predictable.

Where is the fun in that? ;))

But I'd love to hear some seventies phasing disco tunes with your newfound trick in the future! :)
 
... 3 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
MWR/Visdom
Hellcat
GI-Joe/MYD!
Magic/Nah-Kolor
psych
t0m3000/hf^boom!^ibx
A3/AFL
Frostbyte/Artline De..
LightSide
Raf/Vulture Design
Airwolf/F4CG
katon/Lepsi De
sebalozlepsi
nameless
Guests online: 92
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 X-Mas Demo 2024  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.059 sec.