Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

DX7 Harmonica

Post any examples or modules that you want to share here

Re: DX7 Harmonica

Postby Spogg » Sat Jul 25, 2015 12:53 pm

Hey tulamide! Please don't be upset!
I think the issue is with Yamaha's crazy naming system -bound to cause confusion. It's like the old Moog name for envelope was 'contour'. Also standard pitch was referred to as '8ft' which is derived from organ pipe lengths. This is even used in the DX7 manual.
Your English is wonderful BTW, about 100000 times better than my German!

Lange leben und gedeihen :D

Spogg
User avatar
Spogg
 
Posts: 3358
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: DX7 Harmonica

Postby martinvicanek » Sat Jul 25, 2015 1:11 pm

Thanks, tulamide, I particularly like the very first note of your mp3. Analysis of that shows how complex a beast the upright bass is!
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: DX7 Harmonica

Postby tulamide » Sat Jul 25, 2015 3:27 pm

Spogg wrote:Lange leben und gedeihen :D

:mrgreen: Ich werde mich bemühen, thank you!

After all these years, Google translate is still so funny. And as a Spogg as you are, I will now teach you the only sentence you will ever need in German: "Lebe lang und in Frieden!" (The translation was understandable as LLAP, but this is the translation, we really use.) :D
"There lies the dog buried" (German saying translated literally)
tulamide
 
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: DX7 Harmonica

Postby tulamide » Sun Jul 26, 2015 1:19 pm

Ok, I think I need some help getting the basics right.

This is, as probably for most all, a reasonable description for me:
fm tone generation.gif
fm tone generation.gif (4.94 KiB) Viewed 28315 times

Correct me, if I'm wrong. Two sine waves, slightly different in either frequency or phase are multiplied for the resulting signal. In FS I would take two sines, feed them with, let's say, 440Hz and 444Hz and multiply their outputs. Correct?

I'm asking because for the operator of the DX7, there's something in the diagram that I don't understand. Have a look:
dx7 operator.gif
dx7 operator.gif (5.27 KiB) Viewed 28315 times

The pitch is a frequency, for example 440Hz. But the modulation data is the signal as it is outputted by the prior operator, and therefore has a range of -1 to +1. In what relation do both stand? The combination block has a plus sign. Does it mean, instead of multiplying, the data is to be summed? How would that make sense?
For the frequency I could use 0 to +1, where 0 is 0Hz and +1 Nyquist. But (Nyquist * -1) doesn't make sense and (1 - 1) would be a drastic change from Nyquist to 0Hz!

I really don't know how they combined frequency and time domain. Or where is the error in my thoughts?

And a confirmation for the following would be nice:
envelope.gif
envelope.gif (8.35 KiB) Viewed 28315 times

From this diagram it seems, the envelope of an operator is a standard ADSR. Is that right? Does anyone know what the total length of the envelope was?
"There lies the dog buried" (German saying translated literally)
tulamide
 
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: DX7 Harmonica

Postby Spogg » Sun Jul 26, 2015 2:04 pm

The Yamaha block diagram is misleading :o

As in Martin's original, there is no addition involved. The modulation input is actually a phase input. This gives the effect of changing the frequency while the moduation input is changing. If you put dc in there you would get a fixed phase, based on the DC value. If you put ac in, the signal out will relate to the modulation amplitude and frequency (and wave shape). In this way Yamaha's name for the process was misleading :o it's actually Phase modulation or Phase distortion as Casio called it (I guess Casio wanted to seem different for commercial reasons). There is an envelope for each operator so the amount of deviation from the centre frequency of the following operator can be controlled dynamically.
This mimics real-world instruments. When an object is energised (hit, plucked) it will flex back and forth at its fundamental frequency but any harmonics will be affected by the tension wave in the object; a more tense object will produce higher harmonics. So, in such a scheme, the harmonics will vary +/- in frequency around the fundamental.
This is why Phase Modulation is so good at re-creating more authentic emulations of real physical sounds. Of course, with the DX7 system, one can do much more than emulate real instruments and that's what made it so successful an instrument in the 80s. It pre-dated sampling which can produce the sound of anything you want of course.

The envelope generator isn't a conventional ADSR and the image of it is misleading :o .
When I first got mine it was a big confusion for me.
The env is actually very good and flexible but not easy to visualise or program. Each step of the env can be set for rate, value and shape. The final step is the sustain phase, leading to a single release phase. One of the good features of the DX7 env was that you could set level 1 at zero and by setting the rate for that stage you could implement a delay, determined by the rate setting. There was a bug in the implementation so the env didn't repeatably execute the correct time and Yamaha were aware of it but didn't correct it because the prototype was made in hardware and it would have meant a major delay in release as well as cost. However, it worked well enough to be useful. I don't know how the rate setting related precisely to time so I can't say what the maximum length of an the env would be. I do recall being able to set a very long overall period though, for long fades etc.

I do hope this has helped.

Cheers

Spogg
User avatar
Spogg
 
Posts: 3358
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: DX7 Harmonica

Postby tulamide » Sun Jul 26, 2015 10:49 pm

Thanks a lot, Spogg!

Your descriptions help me quite a bit. But although I now understand the theory, I still have difficulties. The output of an operator still are amplitudes in the range -1 to +1, while pitch is still a frequency. How exactly is a phase calculated from those two and then the differences applied? And what differences exactly?

It would all be so much easier if the modulator signal were to be mixed in with the osc output, rather than the pitch input. :oops:
"There lies the dog buried" (German saying translated literally)
tulamide
 
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: DX7 Harmonica

Postby Spogg » Mon Jul 27, 2015 12:33 pm

tulamide wrote:Thanks a lot, Spogg!

Your descriptions help me quite a bit. But although I now understand the theory, I still have difficulties. The output of an operator still are amplitudes in the range -1 to +1, while pitch is still a frequency. How exactly is a phase calculated from those two and then the differences applied? And what differences exactly?

It would all be so much easier if the modulator signal were to be mixed in with the osc output, rather than the pitch input. :oops:


Thanks for the thanks :D

I'm finding it tricky to explain more but I'll try.

We can say that the range is -1 to 1 but internally this is arbitrary, as in normal FS schematics, the only important range of -1 to 1 is for the output to the soundcard. Whatever.
The oscillator inside the Operator, if the modulation input is zero, creates a sine wave at a constant output level. There are 2 factors that determine what can happen to its frequency:
(1) The base or fundamental frequency is taken EITHER from the MIDI pitch value from the keyboard OR is set to a fixed value determined by the preset parameter settings (fixed frequency could be useful for LFO function or ring modulation type effects if set in the audio range).
(2) The modulation input can be from any Operator's output, including its own. The routing is determined by the Algorithm (patching of interconnections) chosen. Since the output from any Operator module is controlled by its envelope inside, the level into the following Operator's modulation input will vary.

In practice, and for musically useful results, the modulation amplitudes will be quite low relative to the osc output levels internally (e.g.-1 to 1).

True FM is not very musical. Imagine an LFO running at 1 Hz being used to modulate frequency. You want the frequency to change by =/- 1 semitone. So you set a level for the LFO that sounds about right for A=440 hz freq range approx 419 to 462 or =/- 22 Hz. Then if you drop down 2 octaves for A=110 Hz the pitch range produced by the LFO output would be much greater at approx 88 to 132 Hz. You may also see that a symetrical bipolar LFO would need to be slightly non-linear in shape to achieve a correctly centred pitch.

I find the easiest way of thinking about phase modulation is imagining a wave table that describes a sine wave. Absolute phase would be, say, at what point the table starts to be read out from. The frequency would be determined by the clock rate and number of samples in the table. If we then add or subtract values dynamically to the index counter for the table we are able to shift the phase around. However, while we are adding values a complete cycle takes a bit longer to complete so the pitch drops. If we subtract numbers the wave is finished sooner so the pitch is raised. In this way, if the addition or subtraction stops, the frequency will again be that determind by the clock rate and the number of samples in the table. As a result of this method the "centre" pitch is always centred no matter what the absolute musical pitch is. Therefore it's a more musical method than actual true FM.

Phew, I hope that helps a bit. If you're into the maths try this:

https://en.wikipedia.org/wiki/Talk:Phase_modulation

Cheers

Spogg
User avatar
Spogg
 
Posts: 3358
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: DX7 Harmonica

Postby BobF » Mon Jul 27, 2015 4:18 pm

DX7.rar
(1.39 MiB) Downloaded 1357 times

dx7-man.rar
(1.97 MiB) Downloaded 1384 times

Hello tulamide , martinvicanek, spogg, etc.

Here are zipped the DX7 operators manual, service manual, and schematic.

Hope this helps out some more.

Later then, BobF.....
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

Re: DX7 Harmonica

Postby Spogg » Mon Jul 27, 2015 6:06 pm

Hey Bob! I didn't realise it was possible to get hold of that stuff. Brill!

For anyone seriously trying to emulate the old boy there is some extremely useful stuff in there. For example I never knew the 6 Operators were just one that was multiplexed.

It's interesting to me that Yamaha don't really reveal exactly what's going on with the Phase Modulation but talk in rather vague and inaccurate terms about FM. The term for the block "Phase Accumulator" gives it away though; adding and subtracting from the sine wave table index position to get "FM" that is really PM.

Took me back to the days when CPUs were used to control hardware which did the fast and furious work for any system. Real-time audio generation by CPUs was next to impossible in the early days. I guess that in Flowstone we can have the slower Green controlling the fast stream stuff but that's only an analogy.

Anyways Bob, many thanks for that :D

Spogg
User avatar
Spogg
 
Posts: 3358
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: DX7 Harmonica

Postby BobF » Mon Jul 27, 2015 8:42 pm

Hello again all,

A REALLY good book on all this is, ""Fm Theory and Applications By Musicians for Musicians" .

Get it here at this link, http://www.burnkit2600.com/manuals/fm_t ... ations.pdf

VERY good reading on the subject.

Later, BobF.....
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

PreviousNext

Return to User Examples

Who is online

Users browsing this forum: No registered users and 56 guests