Commodore 64 like Ring Modulation


I have a question on how to use the RingMod effect in order to recreate some sounds from the Commodore 64’s SID chip. Basically what the C64 does (as far as I understood) is taking one voice/oscillator which is a triangle waveform and multiplying it with the value of another voice/oscillator which can be (I guess) any waveform, but in my case a rectangle (C64) or square (ReNoise).

The RingMod effect in ReNoise can be applied to a single track; you can pick one of the following oscillators: sine, triangle, saw, square. The note for modulating can be set dynamically so I can do that too (manually) by looking at the notes from another track. That was the theory :slight_smile: and I guess everyone of you knew that.

Trying that out didn’t quite worked out. I took the ReNoise chip_triangle instrument without any ADSR modulation applied on it and with RingMod it sounds distorted. Also used a plain triangle sample from a C64, applied exact the same ADSR values; same result. In the track I’m using the exact notes and playing them at the exact speed.

Please take a look at the sounds. Am I missing something? Do I need another effect on top of it? Can this be achieved without any additional plugins? Using ReNoise on MacOS. I’d be grateful for any help.

Original C64 sound:

ReNoise (same notes, triangle waveform, without RingMod):

ReNoise (with RingMod applied base note for this snippet is C-3):

The Renoise Ring Mod device works a bit different than the C64 one. The Renoise device uses a static note which you can set for modulation (this could cause your distortion issue). The C64 one uses the same note pitch as the played note. This could be the reason why the C64 ring mod sounds way different than the Renoise device.

But you can try to automate the note pitch of the Renoise ring mod device with the pattern commands (set the same notes as the played notes to the same positions with right click on the note slider of the Renoise ring mod device).

Maybe this does the trick.

In this particular example the note is C-3 in the first 2 seconds of the song and a rectangle is used; so that is already covered in my attempt. But that note has also ADSR and a variable pulse width on C64 and maybe that is the thing that makes the difference. Too bad that RingMod has not the option to pick a track instead of a single note. Btw, when I use RingMod with sine and triangle oscillators I don’t have this distortion. Only with saw and square. Is there a trick / additional effect which can be applied to reduce it somehow?

you need to use a keytracker to tune the ringmod, then you can feed it with notes to determine the ringmod oscillator pitch

1 Like

The RingMod should also have the new sidechain input like the other devices which have them now since the 3.3 update. This could be the solution for using another track as audio input. Because ring modulation from an audio source as modulator also could give interesting results.

Maybe there’s some lowpass/highpass filtering going on in the C64 to prevent the distortion.
Maybe the RingMod does cause a DC offset which can result in a distorted signal. You could try to use a highpass filter at the lowest possible frequency before or after the RingMod to reduce the DC offset. Maybe this helps.

@EatMe Thanks for the example. It’s a really good hint and didn’t know about that LFO feature (sorry, I’m quite new to ReNoise). But still, this is using/depending on some random portions of the other sample as far I understood, so it’s not track dependent.

Which brings me to what @Mastrcode said about using another track as audio input. Could you please describe step by step how to achieve this? For example using RingMod on Track2 and instead using a oscillator rather use Track1. OR use a square as a oscillator but read the notes from Track1 (this way I’ll lose all the effects in Track1 though).

Is it maybe the Routing/Send feature? That I send Track 1 and 2 to a receiver (by default S01) which applies then the RingMod effect?

I was talking about if the RingMod would have also the new version 3.3 includued sidechain feature, which some devices now have, you could use another track’s audio instead of the RingMod’s internal osc, by using the new Sidechain device to feed the sidechain input with that track’s audio as the modulation source. At the moment this is not possible, because the RingMod didn’t get that new sidechain feature. But this would be a good suggestion for the “Ideas & suggestions” Topic.

Well then it becomes basically a multiply module that takes audio input from another track and multiplies it with the signal on the parent track .
Add in somme features like dc offsetting etc…

@gentleclockdivider Exactly that is what I need TRACK2 output = TRACK1 output * TRACK2 output

That is also the definition how it’s done on the Commodore 64 with a difference that the modulated voice should be a triangle and it can be modulated only with a square.

The example above with key tracker produces again distortion. I added a key tracker to both tracks and a formula on the second one, but I can only affect with this the panning, volume and width. And I’m not sure if key tracker is reading only the note, or note + effect…

Hello, just wanted to share this sample to show how the C64 did ring modulation on a example. Waveform is set to triangle, there is a long attack and decoy, and the source is a pulse wave.

Screenshot 2021-04-05 at 23.42.24

Yes, please sidechain support for ringmod device !!! :heart_eyes:

I made some progress here, or maybe just confirmed what everybody else said → we need side chain for ring modulation :slight_smile: I sampled another example from the C64; it’s a simple but legendary sound from one of the tunes from the game Last Ninja. Then I’ve found this link where Mike Clarke, the creator of the Insidious VST, explains how this sound was created.

I’ve managed to recreate it in Renoise and it sounds almost the same. The only difference is that the original sound is “pulsating” slower, because it takes the source from another voice which plays a rectangle with a variable pulse width and Renoise RingMod uses as a source a static rectangle with pulse width set in the middle which forms than a square. Also it’s very important to find the correct pitch in RingMod for every note you play in the pattern to avoid distortion. Luckily you can modify it also from the pattern itself and also use transpose.

I’m surprised that Renoise with all it’s glorious features doesn’t have the option to take the output from one track and inject it as an input into another track where you can apply a Meta->Formula and use it as the output for this track. Then I could program the RingMod by myself :slight_smile:

Or every device which has the Square Oscillator as a parameter should also have a additional parameter to set the pulse width.

Or just put the god damn side chain into RingMod :slight_smile: