Music 307

Lab 4:  FM synthesis, analysis

When the Yamaha DX7 FM synthesizer appeared in 1983, it took the world by storm—the DX7 was by far world's most successful synthesizer up to that point (and by number of units sold, probably still is!).  Although it is now an "ancient" synthesizer, there are probably thousands of them still in use throughout the world.  The DX7 can make a wide variety of sounds, but it is notoriously difficult to learn how to program it.  This is because FM is an inherently non-linear synthesis technique, and also because the parameters of synthesis are too hard to manipulate using the buttons and tiny display on the synth. Initially, not only was FM difficult to understand, but it was supremely difficult to edit all the parameters using using the tiny LCD display that is on those old synthesizers. For both of these reasons, to create new voices on the DX7 was beyond the reach of most musicians.

Within a few years, some programmers figured out how to make the process more tractable by putting all the synthesizer parameters on a computer screen at once (including graphical envelopes). This kind of graphical "patch editor" soon became the industry standard. The first graphical patch editor ever created was for the DX7, written by David Zicarelli (founder of Cycling74) on the Macintosh.  It was a major step in "virtual interfaces" to music equipment in general, and it was the prototype for Galaxy, Steinberg, and many others that later became common. In this day and age, the idea of a "patch editor" is mostly moot, since almost everyone uses laptops to make sounds, rather than a dedicated hardware synthesizer. But the knowledge of how synthesis works is every bit as important now as it was in 1983.

Note that when you do this assignment, you are not editing sounds, as you do in a sound editor.  You are instead editing the parameters of synthesis, which change the sounds the virtual synthsizer (in this case an MSP patch) generates.


PART 1 (synthesis):
Make five new sounds using this Max/MSP patch: FM_synthesis template.txt (download this Max patch by clicking on the link, then copy it and use "New from Clipboard" in the File menu of Max). This patch has some extra information in it about the presets. It also has a editable subpatch that is called "p simpleFMsubpatch."
The patch I showed in class is FM_simplified.txt -- this is a good patch to help you understand FM, but it's not for doing the assignment!

You can test the sounds by clicking on a preset, and then clicking the button to play the sound just one once, or click notes on the "virtual keyboard," to play different carrier frequencies. Or you can use a real MIDI keyboard if you have one. Note that this patch also lets you control the HARMONICITY with the mod wheel of your MIDI keyboard if you have one. The presets are there to get you started, but I want you to make your own sounds. Also note that you can save your own presets -- just use "shift-click" on the empty presets to remember all your settings, envelopes, etc.

For documentation on this patch, click here: FM synthesis tutorial or use the Help menu in Max and go to [Reference/ MSP Tutorials: Tutorial 5: FM synthesis]. Note that the FM patch I posted for you above is essentially the same as Tutorial 5, with some added presets (the first 7 are the same), displays, and a lot of added comments! Also, the [simpleFM~] abstraction has been changed to a subpatch called "simpleFMsubpatch" so that you can edit it if you want. Feel free to use either my patch or the Tutorial patch as your starting point, then do a "Save As..." to make your own version.

PART 2 (analysis):
Make a movie of the changing spectrum through time, and use this movie to explain something about the nature of the sounds you created. Also explain in words why it sounds the way it does (in a separate text file).

To do this, use a screen capture method. On the Mac it's very easy -- you just use Quicktime and select "New Screen Recording" in the File menu. You can then get a very nice movie of your screen, including the Max patch, spectral display etc in this way. I'm sure there are similar utilities in Windows, for example Powerpoint should allow you to record your screen activity.

NOTE: You can rearrange windows, Max patch etc before you play the sound, to optimize the view of movie you make, so that we can see all the relevant information you wish us to see.

Note also that you can change the frequency range in the spectral display in MSP. Select the spectrascope~ object and open the inspector. This lets you set all kinds of parameters. In this case, you'd want to edit the "Lo and High Domain Display" field. It usually defaults to the Nyquist frequency (half the sampling rate), but you can make the upper limit smaller, say 10,000 Hz to get more detail in the spectrum. It's up to you whether you want to change this.

NOTE: Quicktime will record audio from the laptop speaker via the internal microphone on Apple devices. Normally if you turn the speaker volume down a bit and don’t make a lot of extraneous noise, this method will be tolerable. There is a version of quicktime for windows here: download quicktime, or I'm sure there are other alternatives you may prefer (if you have a way of recording audio internally, the result will be better).

.What you hand in:

5 short movies (of the screen), each one showing the Max patch with its parameters, along with the changing spectrum and the accompanying audio. Each movie should just last as long as each sound. That means there will be five different short sounds generated by the FM patch with different parameters.

—One writeup with 5 sections, one for each movie; each one should explain briefly how you made the sounds, and why they sound the way they do (and look the way they do in terms of the changing spectrum).

Put these 5 movies and one text document in a folder with your name on it and then make a zip file that includes everything you did. Upload the zip file to the dropbox for this assignment.

Note: for all lab assignments, you must HAND IN A WRITEUP DESCRIBING YOUR WORK (musical materials, tracks, problems (if any), strategy, etc.) You won't get a grade if there is no writeup!

Here's an example of a simple video that shows the Max patch as well as the waterfall spectral display using sndpeek --3D waterfall display of spectrum in the same video. It shows the harmonicity going linearly from 0 to 0.5 in 5 seconds (which means the modulator goes from 0 to 220 Hz; the carrier remains at 440 during the entire sound). The entire sound lasts for 15 secs, so that allows you to see the spread of the partials increasing for the first 5 secs, then the spectrum persists until the end with the modulator fixed at 220 Hz. At the same time, the modulation index ramps down to zero at about 10 secs, so that the timbre at that point collapses to a simple sinusoid (just before the sound fades out), because the amount of modulation has dropped to zero. It's not a fabulous sound, but it shows what your videos should look like, and how you should be able to explain what's happening with some very specific text explaining why each example sounds/behaves the way it does.