Login / Register 0 items | $0.00 New @ KVR
User avatar
jupiter8
KVRAF
 
9380 posts since 17 Sep, 2002, from Gothenburg Sweden

Postby jupiter8; Fri Sep 04, 2009 3:01 am Roland D50 "filters".

One thing that bothered me to no end since 1987 is why the D50 had filters on the "analog" oscillators and not on the sample oscillator. It seems like such a stupid omission.

I've recently found out the reason. They're not filters at all! According to randomguyontheinternet filters were way to expensive so they "cheated". Apparently they just calculate the oscillators differently according to the "filter" settings and that's why the samples has no filters.

Any idea how this is done ? How do you solve the resonance ? Mixing in a sampled (or whatever) sinewave ? That's not really enough is it ?
LouisG
KVRist
 
66 posts since 28 Jun, 2006, from Bay area, CA

Postby LouisG; Fri Sep 04, 2009 9:33 am

I had a thread on doing faked resonance a little bit ago.. you can use something similar to a the Casio CZ/FOF method. What has been bugging me is how the waveform generators worked, because before you can add the resonance you have to produce a filtered sounding wave. I wrote a routine a little bit ago which inserted halves of sinewaves at various pitches for the discontinuities. This would produce filtered square/saw tones with predictable amounts of high frequencies so that the resonance can track the cutoff reasonably. It doesn't sound as good as my MT-32 though (another LA synth)

But, yeah, if anyone has any information on how the specific Roland implementation worked, I'd love to know! I know there is a diagram of the saw being derived from a square via a multiplication function floating around, but the hurdle imo is producing the "filtered" square in the first place.
OPL2 is forever
WMP
KVRist
 
175 posts since 1 Jul, 2009

Postby WMP; Fri Sep 04, 2009 9:38 am

I always liked the D-50 filter type sweep, and glass voice is one of my favourite all time presets.

I did think how come the D-50 digital filter sounds so nice yet was done on so little dsp..... it must have been down to the implementation you described.
User avatar
Urs
u-he
 
22230 posts since 7 Aug, 2002, from Berlin

Postby Urs; Fri Sep 04, 2009 9:59 am

LouisG wrote:Casio CZ/FOF method

What does FOF mean? Never heard that term... :oops:
User avatar
antto
KVRAF
 
2499 posts since 4 Sep, 2006, from 127.0.0.1

Postby antto; Fri Sep 04, 2009 10:14 am

i want to hear that, i've never heard of that Roland synth
any samples?

btw, just by reading here, i guess a "sawtooth with a resonant LP filter" could be fully synthesized by sine-wave synthesis you know..
you just have to figure the nasty algo, which i guess wouldn't be so nasty
the nasty part will be adding all the sine-waves needed to fill up the spectrum up to Nyquist (which will eat a lot of CPU there)
tho, this might not be a problem if the roland synth was digital (with dedicated DSP processor or something)

still wanna hear it ;]
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr
Rock Hardbuns
KVRAF
 
1718 posts since 3 Sep, 2003

Postby Rock Hardbuns; Fri Sep 04, 2009 10:40 am

http://www.vintagesynth.com/roland/d50.php

I am surprised you haven't heard of it, it's one of the milestones of digital synthesis I reckon. Not quite as famous as the M1 or the DX7, but it's up there.

Edit:
http://www.synthmania.com/Famous%20Sounds.htm
..scroll down a ways for some classic D50
mistertoast
KVRAF
 
3405 posts since 15 Sep, 2002

Postby mistertoast; Fri Sep 04, 2009 10:51 am

Are the d50 transient samples around as downloads somewhere?
Swing is the difference between a drum machine and a sex machine.
MadBrain
KVRian
 
945 posts since 1 Dec, 2004

Postby MadBrain; Fri Sep 04, 2009 11:02 am

From looking at the waveform, it looks it does resonant pulse with exponentially decaying sinewaves, plus a "magic junction" to remove the buzzing noise you'd get if you had a jump.

It looks like phase distortion synthesis at 0 resonance, since it basically turns pulse into sine.

Hypothetical process:

1) Start with cosine wave. Sync the phase to get a positive peak every time you get a positive pulse edge, and a negative peak every time you get a negative pulse edge.

2) Multiply (ring mod) by an exponential or quasi-exponential waveform, the shape of which depends on the resonance.

3) Bias the signal so that the next edge level is 0

4) Generate an extra half sine segment that goes from 1 to 0 at the end to eliminate buzz/edges. The duration of this segment is determined by cutoff. Multiply (ring mod) the incoming signal by this segment.

5) Re-bias the waveform so that the positive and negative segments line up and form a pulse wave.

6) If the waveform is saw wave, ringmod by an extra sine.


This has many steps and convoluted parts so there might be a simpler way. Also note that this process was probably done with only 1 ramp/saw wave oscillator, so the "sync" parts are probably done with multiplications and stuff.
asomers
KVRian
 
646 posts since 17 Feb, 2006, from California

Postby asomers; Fri Sep 04, 2009 11:10 am

Urs wrote:
LouisG wrote:Casio CZ/FOF method

What does FOF mean? Never heard that term... :oops:


FOF = "fonction d'onde formantique''. It's a kind of granular synthesis method for formant voice synthesis. There's info on it in Perry Cook's "Real Sound Synthesis" book and Curtis Roads' "Microsound".
User avatar
antto
KVRAF
 
2499 posts since 4 Sep, 2006, from 127.0.0.1

Postby antto; Fri Sep 04, 2009 12:27 pm

well, i really liked the "Glass voice" preset thing.. really big one
tho, i don't know what to say about it, what i heard was not just a "LP-filtered sawtooth" .. ;]
EDIT: oh, and, um.. i don't know much about the popular hardware synths, since i've never saw one
i never knew about the D-50 :?
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr
Vøltz
KVRer
 
1 post since 13 Mar, 2007, from Mountain West, USA

Postby Vøltz; Sat Mar 31, 2018 8:19 am Re: Roland D50 "filters".

jupiter8 wrote:They're not filters at all! According to randomguyontheinternet filters were way to expensive so they "cheated". Apparently they just calculate the oscillators differently according to the "filter" settings and that's why the samples has no filters.


Physical filters, and/or their costs? No. Roland was able to do poly synths with filters for less than the price of the D-50.

The D-50 partials which utilized TVFs were essentially Roland's 1st-gen DSP algorithms.

To say the filters are fake is a misnomer. They are every bit as much a filter as similarly-functioned filters in Kurzweil's VAST implementations. They are filter functions applied in a digital domain, just like every other function in modern synths.

Unless you're going to say that digital synthesizers don't have filters. They don't have any amps, envelopes or LFO's either, if that is your position.

The reason D-50 didn't apply TVFs to samples is because that level of processing power was not available affordably, and would not be for 3 more years when the K2000 hit the market.

FWIW, I was Roland product specialist in the days of the D-50. It was Roland's attempt to do a fully digital synthesizer to combat the domination of the DX-7 and resulting products which started 4 years previously. Given the popularity of the 50/550 and the number of spinoff products they were able to sell, the development of that technology cannot be considered anything less than a rousing success.
Signature blocked until 5 posts made
User avatar
jupiter8
KVRAF
 
9380 posts since 17 Sep, 2002, from Gothenburg Sweden

Postby jupiter8; Sat Mar 31, 2018 9:20 am Re: Roland D50 "filters".

Vøltz wrote:
jupiter8 wrote:The reason D-50 didn't apply TVFs to samples is because that level of processing power was not available affordably, and would not be for 3 more years when the K2000 hit the market.

Well yeah, but that just takes us back to the start doesn't it? Why would it have processing power for filters on the "analog" oscillators and not the samples?
Last edited by jupiter8 on Sat Mar 31, 2018 9:21 am, edited 1 time in total.
User avatar
jupiter8
KVRAF
 
9380 posts since 17 Sep, 2002, from Gothenburg Sweden

Postby jupiter8; Sat Mar 31, 2018 9:20 am Re: Roland D50 "filters".

bork
quikquak
KVRist
 
375 posts since 6 Aug, 2005, from England

Postby quikquak; Sat Mar 31, 2018 11:11 am Re: Roland D50 "filters".

I sold my D50, I didn’t regret it. Perhaps some of the wave samples simply had prefiltered tables that were looked up depending on filter value? There may have been enough cpu available to mix two lookups together for smoothing.
My reasoning is, a simple oscillator would only need one cycle per coefficient, whereas a whole sample would take up far too much room.
jariseon
KVRer
 
10 posts since 31 Jan, 2015

Postby jariseon; Fri Aug 03, 2018 11:14 am Re: Roland D50 "filters".

Munt implements "classic" partials like this:
https://github.com/munt/munt/blob/master/mt32emu/src/LA32FloatWaveGenerator.cpp#L117

The code looks to be similar to what LouisG and MadBrain explained above: half-cosine interpolated trivial pulse, ring-modulated with a sine in case of a sawtooth. Filter cutoff is simulated with variable sloped half-cosines in the interpolation step, and resonance is added in using a decaying sinusoid.
Next

Moderator: Moderators (Main)

Return to DSP and Plug-in Development