Discussion:
[music-dsp] Roland D-50 "Filter"
Alen Koebel
2010-01-27 18:21:03 UTC
Permalink
Re-posting - forgot the subject line!

-----------------------------------

My first post here. Be gentle. ;-)

I'm trying to find out how the D-50 (and D-550, D-10,
D-110, D-20 & MT32) simulates a resonant filter. I say
"simulates" not "models" because I doubt there is an
actual discretized model of a filter in the synth
engine. The evidence for this is (a) the fact that
samples (short though they were) cannot be processed
by the "filter" - it "processes" only pulse and saw-
tooth waveforms, (b) a block diagram in the D-50 manual
seen here http://homepage.mac.com/synth_seal/html/d110.html
shows pulse-width controlled waveforms being created,
then processed ("filtered") in some way to add resonance,
then multiplied (ring modulated) by a synchronous sine
wave to get a sawtooth-like waveform. The "filter" block
is where the magic happens. "Magic" is a relative term -
the filter sounds real enough to my ears (I have a D-10)
but doesn't have the silky-smooth quality we associate
with a well-modeled filter.

I've searched the music-dsp archives, as well as the
synth-diy archives and the electro-music.com forums,
but came up dry. General Iternet searches came up with
only one idea but I admit I don't fully understand the
description:

http://www.kvraudio.com/forum/viewtopic.php?p=3747093

Any pointers or ideas? Maybe the above idea is spot on
and I'm just not understanding it, so any help in that
direction would be appreciated too.
Andy Farnell
2010-01-27 20:40:17 UTC
Permalink
Roland advertised the D-series as using "Linear Arithmetic"
synthesis. To my knowledge this is an implementation of the
waveshaping methods. So what you hear as a filter is in fact
a sophisticated form of distortion.

On Wed, 27 Jan 2010 10:21:03 -0800 (PST)
Post by Alen Koebel
Re-posting - forgot the subject line!
-----------------------------------
My first post here. Be gentle. ;-)
I'm trying to find out how the D-50 (and D-550, D-10,
D-110, D-20 & MT32) simulates a resonant filter. I say
"simulates" not "models" because I doubt there is an
actual discretized model of a filter in the synth
engine. The evidence for this is (a) the fact that
samples (short though they were) cannot be processed
by the "filter" - it "processes" only pulse and saw-
tooth waveforms, (b) a block diagram in the D-50 manual
seen here http://homepage.mac.com/synth_seal/html/d110.html
shows pulse-width controlled waveforms being created,
then processed ("filtered") in some way to add resonance,
then multiplied (ring modulated) by a synchronous sine
wave to get a sawtooth-like waveform. The "filter" block
is where the magic happens. "Magic" is a relative term -
the filter sounds real enough to my ears (I have a D-10)
but doesn't have the silky-smooth quality we associate
with a well-modeled filter.
I've searched the music-dsp archives, as well as the
synth-diy archives and the electro-music.com forums,
but came up dry. General Iternet searches came up with
only one idea but I admit I don't fully understand the
http://www.kvraudio.com/forum/viewtopic.php?p=3747093
Any pointers or ideas? Maybe the above idea is spot on
and I'm just not understanding it, so any help in that
direction would be appreciated too.
--
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
-----------------------------------------------------------
Sent from my 3 (http://three.co.uk) mobile broadband
Third world internet for a first world economy.
* 20 bytes/second * 99% packet loss * 60 second latency
All for only £20/month (Odious and predatory terms apply)
sdiedrichsen
2010-01-28 09:36:37 UTC
Permalink
This is a challenging statement. I work in this field for a pretty long time. But it never occured to me, that a waveshaping applied to a rectangular wave resulted in a totally different wave than a scaled version of a rectangular version. No wonder, considering that a rectangular wave has just two values (not looking at anti-aliasing efforts), which gives you just a set ot 2 other values after waveshaping. ;-)
Actually, the Roland Filter can be anything.
Theory #1: It's a true resonating filter, maybe a digital state variable filter.
Theory #2: The rectangular generator is a variation of the BLIT-concept. Instead of firing a set of sinc-impulses into a summer it uses impulse reponses of a resonant filter with subsequent integration. Such a table could grow quite big, since you have a 4D array (resonance, cutoff, sub-sample fraction, index), but it would explain the inconsistent sound of the D-50, especially in the low-end, due to shortened IRs.
Theory #3: It's a simple playback of sampled rectangular waveforms. Unlikely, since you have this symmetric PWM, which points to a rect wave being derived from the sine wave.

However, it was a clever way to put together a sound engine, which created a bunch of nice sounds, especially the combination with samples made it special.

Best,

Steffan
Post by Andy Farnell
Roland advertised the D-series as using "Linear Arithmetic"
synthesis. To my knowledge this is an implementation of the
waveshaping methods. So what you hear as a filter is in fact
a sophisticated form of distortion.
Alen Koebel
2010-01-27 20:52:10 UTC
Permalink
Post by Andy Farnell
Roland advertised the D-series as using "Linear
Arithmetic" synthesis. To my knowledge this is an
implementation of the waveshaping methods. So
what you hear as a filter is in fact a
sophisticated form of distortion. 
Thanks. That's what I guessed. It's the
"sophisticated" aspect that I want to find
out about in detail. Is there a Roland patent
on the exact method? I haven't been able to
find one in searches, but then maybe I'm not
using the right keywords.
Victor NK-X-TODEL918ani
2010-01-27 21:02:58 UTC
Permalink
With distortion methods you can emulate filters (see for instance the
article "Subtractive Synthesis without Filters") and also resonance
(see PAF and Modified FM). Casio Cz-series emulated resonance using a
heterodyne method (which is not too far away from PAF & ModFM).

Victor
Post by Alen Koebel
Post by Andy Farnell
Roland advertised the D-series as using "Linear
Arithmetic" synthesis. To my knowledge this is an
implementation of the waveshaping methods. So
what you hear as a filter is in fact a
sophisticated form of distortion.
Thanks. That's what I guessed. It's the
"sophisticated" aspect that I want to find
out about in detail. Is there a Roland patent
on the exact method? I haven't been able to
find one in searches, but then maybe I'm not
using the right keywords.
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Alen Koebel
2010-01-27 21:33:19 UTC
Permalink
Post by Victor NK-X-TODEL918ani
With distortion methods you can emulate filters (see for
instance the article "Subtractive Synthesis without
Filters") and also resonance (see PAF and Modified FM).
Hi Victor. I've read some of your papers, those I can find
openly on the Internet, at any rate (which excludes
most CMJ papers, of course). I can't say I full under-
stand all of the math, having been out of school far too
long (BSc, Physics, '83). These methods do seem to all
be related; maybe I'll just to have experiment myself
with some code to discover exactly how Roland did it.
Post by Victor NK-X-TODEL918ani
Casio Cz-series emulated resonance using a heterodyne
method (which is not too far away from PAF & ModFM).
I have read the Casio patent. Dry stuff but I understood
that better actually, since it's hardware oriented and
hardware design is what I used to do.
Victor NK-X-TODEL918ani
2010-01-27 21:56:37 UTC
Permalink
The resonance thing is relatively simple to understand. Simply
speaking you have
a modulator M and a sinusoid S and you multiply them together

M * S

to get the resonant sound. The modulator is a complex wave that should
ideally be
bandlimited or nearly bandlimited. It runs at the fundamental frequency.
The sinusoid is tuned to the centre of resonance. With PAF, for
instance, we have a bell-shaped modulator (a Gaussian shape).

To get things right, there should be some synchronisation between the
modulator and sinusoid phases so that they always start together. This
is the CZ trick too, they are syncd so that the when the modulator
'resets', the sinusoid is zero (it's in sine phase).

Also, to sweep smoothly, the trick (and this comes from PAF) is to use
2 sinusoids, tuned to adjacent harmonics of the fundamental around the
centre frequency. The output is then a linear interpolation of these
two carriers, controlled by the position of the centre frequency
relative to these two harmonics.

The two brilliant papers you should read about distortion are Moorer's
DSF paper (available from his site) and LeBrun's waveshaping paper
(not sure if it's freely available). But that 'Subtractive Synthesis
without Filters' (I think it's freely available) is a good overview.

Victor
Post by Alen Koebel
Post by Victor NK-X-TODEL918ani
Casio Cz-series emulated resonance using a heterodyne
method (which is not too far away from PAF & ModFM).
I have read the Casio patent. Dry stuff but I understood
that better actually, since it's hardware oriented and
hardware design is what I used to do.
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Eric Brombaugh
2010-01-28 17:10:35 UTC
Permalink
Post by Victor NK-X-TODEL918ani
The two brilliant papers you should read about distortion are Moorer's
DSF paper (available from his site) and LeBrun's waveshaping paper
(not sure if it's freely available). But that 'Subtractive Synthesis
without Filters' (I think it's freely available) is a good overview.
Moorer's DSF paper _should_ be here (along with some other good stuff):

http://www.jamminpower.com/main/articles.html

and actually appears to be, but downloading it results in a 0-length
file. Anyone have a copy?

'Subtractive Synthesis without Filters' is here:

http://www.eecs.berkeley.edu/~johnw/papers/audioAnecdotes.pdf

Eric
Didier Dambrin
2010-02-16 04:33:29 UTC
Permalink
Hi,

I've always tried to improve spectrograms the way we generally need them,
linear in octave scale, and I recently tried something that proved to work a
little.

Basically you'd take a huge FFT window that you'd need to get good detail at
the bottom of the spectrum, but in order to get more accuracy in time
instead of frequency as you go up, since you're gonna merge more & more
bands as you go up (to go from Hz to octave scale), you'd run an
opening/closing IIR lowpass before processing the FFT.
That is, you process one or more (could be from both directions to get
linear phase) IIRs that are opening linearly in octave until the middle of
the frame, then closing.


That said, it showed to be less useful than combining FFT's of different
lengths. Maybe using Wavelets would also be more useful, I never really
tried.
Reassigned spectrograms also seem to work well, but require to process
neighbors in order to compare phases.
Danijel Domazet
2010-02-17 17:55:50 UTC
Permalink
Hi list,
Here is a tough one :-).

I have a regular analysis/synthesis framework:

time in > hop size shift > window > DFT >
(spectrum modifications) >
iDFT > window >overlapp add > time out

I'd like to make this framework more robust to very harsh spectum
modifications by adding a zero-padding step on the analysis side, like so:

time in > hop size shift > window > zero padd > longer DFT >...

The problem here is the windowing of the zero padded stuff on a
synthesis side. iDFT will give more samples and these have to be taken
into account somehow. Just to overlap-add them isn't working because the
synthesis window isn't applied to zero-padded data, it is too short
since it has to be the same as the input window.

longer iDFT > window > ? > overlapp add > time out

How to apply the synthesis side windowing on the iDFT "tail" data
("tail" being the samples caused by zero padding the input)?

Thanks!

p.s.
To make it easier, lets say hop size iz 1/4 of the frame size, and zero
padding factor is 2 i.e. the number of zeros is equal to number of input
data.


Danijel Domazet
/CEO/
www.LittleEndian.com
Lubomir I. Ivanov
2010-03-04 01:54:53 UTC
Permalink
in my opinion, all time-frequency transformation will have some downsides,
and even if one day there is a close to perfect method, such may be quite
inefficient for a nowaday cpu.
alot is done by combining methods:

-----

here is an interesting read:
http://users.mct.open.ac.uk/tec69/TomC-DMRN.pdf

which is a proposal for a hybrid method in the lines of:
musical signal -> time-frequency transform -> frequency vector ->
spectrogram
in a time-frequency transform for a given time frame the signal is reduced
to frequency components (sinosoids) and then the relative strength of the
components is vectorized (matrix)

-------------
in the fashion of combining methods:
http://en.wikipedia.org/wiki/Gabor-Wigner_transform
again both the gabor and wigner transform have some issues. (the wigner
distribution function produces some pretty results at least)

not sure how to write integrals in an email?
but combining the two for signal x:
Dx(t, f) = Gx(t, f) * Wx(t, f)

----------
further extending the G-W transform read + some info on Fractional Fourier
Transform (doc file):
http://disp.ee.ntu.edu.tw/meeting/%E5%9C%8B%E9%8A%93/FrFT%20&%20LCT/Fractional%20Fourier%20Transform.doc

^ a nice read

----
i don't think there are much matlab / c code examples in the internet for
this though.


----- Original Message -----
From: "Didier Dambrin" <***@skynet.be>
To: "A discussion list for music-related DSP" <music-***@music.columbia.edu>
Sent: Tuesday, February 16, 2010 6:33 AM
Subject: [music-dsp] Spectrograms
Post by Didier Dambrin
Hi,
I've always tried to improve spectrograms the way we generally need them,
linear in octave scale, and I recently tried something that proved to work a
little.
Basically you'd take a huge FFT window that you'd need to get good detail at
the bottom of the spectrum, but in order to get more accuracy in time
instead of frequency as you go up, since you're gonna merge more & more
bands as you go up (to go from Hz to octave scale), you'd run an
opening/closing IIR lowpass before processing the FFT.
That is, you process one or more (could be from both directions to get
linear phase) IIRs that are opening linearly in octave until the middle of
the frame, then closing.
That said, it showed to be less useful than combining FFT's of different
lengths. Maybe using Wavelets would also be more useful, I never really
tried.
Reassigned spectrograms also seem to work well, but require to process
neighbors in order to compare phases.
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Didier Dambrin
2010-03-04 05:43:13 UTC
Permalink
looks interesting, thanks
Post by Lubomir I. Ivanov
in my opinion, all time-frequency transformation will have some downsides,
and even if one day there is a close to perfect method, such may be quite
inefficient for a nowaday cpu.
-----
http://users.mct.open.ac.uk/tec69/TomC-DMRN.pdf
musical signal -> time-frequency transform -> frequency vector ->
spectrogram
in a time-frequency transform for a given time frame the signal is reduced
to frequency components (sinosoids) and then the relative strength of the
components is vectorized (matrix)
-------------
http://en.wikipedia.org/wiki/Gabor-Wigner_transform
again both the gabor and wigner transform have some issues. (the wigner
distribution function produces some pretty results at least)
not sure how to write integrals in an email?
Dx(t, f) = Gx(t, f) * Wx(t, f)
----------
further extending the G-W transform read + some info on Fractional Fourier
http://disp.ee.ntu.edu.tw/meeting/%E5%9C%8B%E9%8A%93/FrFT%20&%20LCT/Fractional%20Fourier%20Transform.doc
^ a nice read
----
i don't think there are much matlab / c code examples in the internet for
this though.
----- Original Message -----
To: "A discussion list for music-related DSP"
Sent: Tuesday, February 16, 2010 6:33 AM
Subject: [music-dsp] Spectrograms
Post by Didier Dambrin
Hi,
I've always tried to improve spectrograms the way we generally need them,
linear in octave scale, and I recently tried something that proved to
work
a
little.
Basically you'd take a huge FFT window that you'd need to get good detail at
the bottom of the spectrum, but in order to get more accuracy in time
instead of frequency as you go up, since you're gonna merge more & more
bands as you go up (to go from Hz to octave scale), you'd run an
opening/closing IIR lowpass before processing the FFT.
That is, you process one or more (could be from both directions to get
linear phase) IIRs that are opening linearly in octave until the middle of
the frame, then closing.
That said, it showed to be less useful than combining FFT's of different
lengths. Maybe using Wavelets would also be more useful, I never really
tried.
Reassigned spectrograms also seem to work well, but require to process
neighbors in order to compare phases.
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Pascal Lemoine
2010-03-08 15:42:39 UTC
Permalink
Post by Didier Dambrin
I've always tried to improve spectrograms the way we generally need them,
linear in octave scale, and I recently tried something that proved to work a
little.
AFAICT you should be interested in "Warped DFT". Look for :
"Warped Discrete-Fourier Transform: Theory and Applications" -
Anamitra Makur & Sanjit K. Mitra - IEEE TRANSACTIONS ON CIRCUITS AND
SYSTEMS - I: FUNDAMENTAL THEORY AND APPLICATIONS, VOL. 48, NO. 9,
SEPTEMBER 2001
"Design and Computation of Warped Time-Frequency Transforms" - Thesis
by Salvatore Caporale - UNIVERSITÀ DI BOLOGNA

You could also envision your problem differently and, provided that
you don't need realtime implementation, look into sparse
decompositions from a redundant dictionary. For example Matching
Pursuit:
http://en.wikipedia.org/wiki/Matching_pursuit
Performing a pursuit from a dictionary of Gabor atoms yields a T/F
representation composed of analytic "grains" ordered by decreasing
energy (the approximation is carried out in the L2 sense).
This is an adaptive method and as such, you won't be "locked" in the
harmonic frequencies inherent with the DFT. It's a modern way to
perform an offline analysis, in comparison to
spectograms/periodograms.

Wavelets are appropriate for 2D signals but for T/F analysis of a 1D
signal they're no good, because wavelets have generally bad T/F
localization. You'd better stay away from them for what you're
after...

just my 2 cents,
Pascal

Alen Koebel
2010-01-28 05:10:50 UTC
Permalink
This post might be inappropriate. Click to display it.
Victor NK-X-TODEL918ani
2010-01-28 07:50:43 UTC
Permalink
It depends on what 'amount of resonance' exactly is. If it's the
bandwidth, then narrowing the modulator shape (which makes it pulse-
like) would widen the resonance region. But if you are mixing two
signals, yes, it could be something like what you suggest.

As for the FSR-1 (I have not looked closely at the patent, but thanks
for remind me), I guess by multiplying cosines together you will get a
pulse-like wave, which gets narrower with higher powers (and thus with
wider resonant region).

The main things about the modulator shape are, I think: to be able to
control it (to change the bandwidth) and to make sure any
discontinuities in the carrier are smoothed out.

There is definitely lots of potential here. I find it useful to use a
computer music language to test and play with these things (in my case
I use Csound, but PD and SC3 will also do the trick)

Victor
Post by Alen Koebel
How do you control the amount of resonance?
On the D-series synthesizers, there are 30
or so settings of resonance from none to
maximum. Is this perhaps just the amplitude
of the resonant M*S component relative to
the amplitude of a non-resonant "base"
waveform summed with it?
Risto Holopainen
2010-01-28 20:48:27 UTC
Permalink
Agreed. I think FM and similar nonlinear techniques can benefit from
putting some memory into them, for instance in the form of applying a
filter to the modulating wave. This can be a way to accommodate for how an
acoustic instrument reacts to changing pitches. The transition is colored
by resonances in the instrument.

And as to Moorer's paper, I just found a copy. Should I post it as an
attachment to the list?


Risto Holopainen
Department of Musicology
University of Oslo
Post by Alen Koebel
My feeling is that distortion still has
huge potential for new sounds, and
possibly even for imitative synthesis of
acoustic instruments. Sure, we've had
commercial products in the past based
on FM/PM and phase distortion from
Yamaha, Casio and a few others (e.g.,
the DK Synergy, which in truth implemented
FM more often than additive in its voices)
and now in many VST soft-synths. But
technology-related limits on past
implementations have tainted the modern
view of how useful it is. Plus, for
researchers physical modeling still seems
to be the siren.
Eric Brombaugh
2010-01-28 21:08:02 UTC
Permalink
Post by Risto Holopainen
And as to Moorer's paper, I just found a copy. Should I post it as an
attachment to the list?
Several folks have responded to me off-list and I've got a copy now so
don't post on my account.

Thanks,

Eric
Ross Bencina
2010-01-28 08:32:32 UTC
Permalink
Post by Alen Koebel
I'm trying to find out how the D-50 (and D-550, D-10,
D-110, D-20 & MT32) simulates a resonant filter.
Any chance you could post some sampled waveforms for the different settings,
say for a low frequency tone with different cutoff frequencies and resonance
amounts...

Even if not, if it's a time domain process you'll probably gain some
intuitive understanding of what's going on by examining the waveforms or
watching them on a real-time scope while changing the parameters

Ross.
Alen Koebel
2010-01-28 16:28:11 UTC
Permalink
This post might be inappropriate. Click to display it.
Alen Koebel
2010-01-28 18:41:25 UTC
Permalink
Post by sdiedrichsen
Actually, the Roland Filter can be anything.
Here are some comments from user reviews of the D-50,
on Harmony Central that might provide some insight:

"The filter has a very unique feeling (reminds somehow
of FM synthesis feedback loop)..."

"Excellent PWM - very clean, not really digital sounding."

"Warm sound, filter is pretty good (see remark above,
though), resonant."

"The filters don't have enough resonance,...I don't find
the sounds that expressive, partly because of the not-
so-very-good filters."

And here's a few concerning D-5/D-10/D-20/D-110 models,
which along with the MT-32 all shared a simpler
(cheaper!) implementation of "LAS":

"The "analog" section has all what analog needs. But it
sounds a little too "clean"."

"Filter section - Low Pass filter with resonance. I don't
know how many decibels the filters are, but they don't
exactly 'bite'..."

"The Oscillators always acts strangely which can be a
problem. (might be a design error - don't know?)
EXAMPLE: This means that they randomly switch upside
down. If you make a dual-partial sound with two
simultanious SAW waveforms they sometimes 'kinda'
phase out each other."
Scott Gravenhorst
2010-01-28 20:11:11 UTC
Permalink
Post by Risto Holopainen
And as to Moorer's paper, I just found a copy. Should I post it as an
attachment to the list?
I'm interested... (having a D-110)


-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.
Loading...