{"id":63,"date":"2011-09-26T12:07:21","date_gmt":"2011-09-26T12:07:21","guid":{"rendered":"http:\/\/francisfisher.me.uk\/problem\/?p=63"},"modified":"2012-07-19T18:54:23","modified_gmt":"2012-07-19T18:54:23","slug":"yamaha-fs1r-tutorial","status":"publish","type":"post","link":"https:\/\/francisfisher.me.uk\/problem\/2011\/yamaha-fs1r-tutorial\/","title":{"rendered":"Yamaha FS1R tutorial"},"content":{"rendered":"<p>I found this old tutorial for the Yamaha FS1R fm synthesiser in the wayback machine and have reproduced it here for posterity.<\/p>\n<blockquote>\n<h1>Beginners Guide To The Yamaha FS1R<\/h1>\n<p>\u00a9 2000 R.C.Strange<br \/>\nwritten by R.C.Strange<br \/>\nemail: rcstrange@hotmail.com<br \/>\nwebsite: www.geocities.com\/rcstrange2000<\/p>\n<p>This Word document contains my understanding of the FM\/FS synthesis used by the FS1R. I stress <span style=\"text-decoration: underline;\">my understanding<\/span>, as everything in here I have gleaned from the user manual, front panel and a couple of bits of demo software and have probably misunderstood some of it. If I\u2019ve got anything wrong or missed anything important out, please let me know.<\/p>\n<h2>Disclaimer<\/h2>\n<p>I have no link with Yamaha whatsoever, other than the fact that I have bought one of their synths.<\/p>\n<p>The point in writing this is to try to get a decent understanding of how the FS1R synthesises sound, to allow easier and better programming of sounds.<\/p>\n<p>I start with the bleeding obvious but no doubt get into some complicated stuff pretty quickly. I\u2019ve tried to write it assuming that whoever\u2019s reading it knows very little about the subject, but wants to know about it. The reason for this is that we\u2019ve all been there and there\u2019s nothing worse than someone hiding behind a load of jargon. Jargon is often a sign that the person using it doesn\u2019t understand what they\u2019re on about either.<\/p>\n<p>I\u2019ve tried to put in a few practical examples along the way, as this not only makes it easier to understand, it makes it easier to explain too. So, I\u2019d recommend reading this in front of your FS1R (if you have one). Also, don\u2019t expect to follow everything or understand it immediately \u2013 it\u2019s taken me months to get this far.<\/p>\n<p>Although this information is copyrighted, please feel free to distribute this information as much as you wish if you are an individual \u2013 just as long as my name, email and website are at the top. Any companies or organisations wishing to use all or any part of this text are strictly prohibited from doing so.<\/p>\n<h2>Basics<\/h2>\n<p>The FS1R is a synthesiser. That means it makes up its sounds from scratch, unlike a sampler, which (fundamentally) plays back a digital recording (like a tape recorder), or many other keyboards which, although called synths, are actually a combination of samples and synthesis.<\/p>\n<p>The type of synthesis used is based on Frequency Modulation (FM). Basically, it produces a voltage which varies with time (ie. it goes up and down). When you put this voltage into your amplifier, it gets converted to sound by the loud speakers moving forwards and backwards. All sound is made by this principle \u2013 something vibrates which pushes air about. Therefore, (in theory at least), any sound can be replicated as long as you push the air about in the correct way.<\/p>\n<p>Another thing to know is that sound is made up of lots of different sine waves. If you had all the sine waves that the human ear can hear, all going at the same time, it\u2019d be possible (in theory) to recreate any sound just by changing the volume of each sine wave up and down by the appropriate amount.<\/p>\n<p>FM synthesis tries to recreate this by producing the sine waves required to create a sound. It\u2019d be difficult to produce all sine waves that a human ear can hear, so instead it tries to get round it, getting close to the sound.<\/p>\n<p>&nbsp;<\/p>\n<h2>FM Synthesis<\/h2>\n<p>&nbsp;<\/p>\n<p>To start with, here\u2019s the minimalist approach.<\/p>\n<p>The FS1R is capable of producing a sine wave at a defined frequency. The frequency can be changed in many ways, but most important is that a keyboard attached via the MIDI port can do it by pressing different keys (ie. it can be \u2018played\u2019).<\/p>\n<p>This produces a very simple \u2018whistle\u2019 sound \u2013 not too good if you want to recreate a piano or produce some weird, spacey effects.<\/p>\n<p>So, you add another sine wave. This is a bit better but still quite simple. To get a more complicated sound, you could try using the first one to change the pitch of the second. This is called Frequency Modulation and starts to produce more complicated sounds.<\/p>\n<p>The FS1R is capable of producing 8 of these sine waves (using 8 Oscillators), which can be combined in one of 88 fixed combinations (called Algorithms).<\/p>\n<p>Each Oscillator can have its characteristics changed in various ways. For example, the volume can be changed over time, using the Envelope Generator (abbreviated to EG). This can fade in an Oscillator, hold it at a certain volume, then fade it out again after the key is released. The pitch of the Oscillator can also be changed in much the same way using the Pitch Envelope Generator (PEG).<\/p>\n<p>There are also two Low Frequency Oscillators (LFOs). These are similar to the sound-producing Oscillators, but operate at a lower frequency (hence the name). These can also be used to vary the amplitude and frequency of the Oscillators to produce \u2018tremolo\u2019 and \u2018siren\u2019 effects. The amount of LFO applied to the Oscillators is often set up to be controlled via MIDI using the modulation wheel, so the further the wheel is pushed, the more the LFO varies the amplitude\/pitch.<\/p>\n<p>The output of the Algorithm can then be input to a Filter, which alters the treble and bass characteristics of the sound. The Filter can also be varied using the LFOs and via MIDI controllers.<\/p>\n<p>On most older FM synths, oscillators could only generate sine waves. The FS1R is capable of producing these and other types of waves.<\/p>\n<h2>Noise Noise Noise<\/h2>\n<p>Many sounds have a \u2018noise\u2019 element associated with it, which is made up of lots of random frequencies. For example, a flute sound has the pitch of the note being played but also the sound of the air being blown over the mouth-piece. To help make these types of sound more realistic, each Oscillator also has a Noise-Generator associated with it. The Oscillator\/Noise go to make up what Yamaha call an Operator. Yamaha call the Oscillator a Voiced Operator and the Noise Generator an Unvoiced Operator.<\/p>\n<p>The grouping of Operators (i.e. the Algorithm) and the way their pitch and volume are varied is called a \u2018Voice\u2019. Up to 4 Voices can be combined to make up a \u2018Performance\u2019. Each Voice in a Performance can be input to the effects sections of the FS1R to give the sound a bit more depth and variation.<\/p>\n<p>Note that only the Voiced Operators are linked together in an Algorithm. The Unvoiced Operator outputs are just added together like inputs to a mixing desk (i.e. exactly the same as Algorithm 1 on the FS1R).<\/p>\n<h2>Formants<\/h2>\n<p>The FM method described above is the way that many synths (such as the DX7) generate their sound. What makes the FS1R different is the inclusion of Formant Operators.<\/p>\n<p>A Formant is basically a band pass filter, of which the centre-frequency, amplification and width can be varied with time. When several of these Formants are used within a sound, it can start to sound like a human voice.<\/p>\n<p>Now, this is where the information from Yamaha starts to get woolly. Exactly how the Formant interacts with the Voice\/Noise Operators hasn\u2019t really been described by Yamaha in their manual. I know it\u2019s a bit technical, but if you want to be able to create your own sounds from the lowest level up, you need to know this information. Yes, it\u2019s possible to experiment and come up with some noises, but this is just guess work. A full explanation of this part of the synth wouldn\u2019t go amiss. The user guide details each parameter that can be modified and what settings it can take, but without a bit more explanation about how the parameters interact, they end up just stating the obvious. Take the \u2018form\u2019 parameter under the \u2018voice\/operator\/osc\u2019 menu. The settings for this can be sine, odd1, odd2, res1, res2 or formant. OK, so the first ones are standard waveforms that will be described in most books on synthesisers. The last one, though, is particular to the FS1R. It seems to be fundamental to the Formant Synthesis part of the synth, so an explanation of what it is, what it interacts with, and what interacts with it wouldn\u2019t go amiss. Just because the bods at Yamaha know this stuff doesn\u2019t mean the rest of us do. If they want us to go out and use their synths, they should make this information freely available.<\/p>\n<h2>Try It Out<\/h2>\n<p>Right \u2013 try this out. Initialise a Performance on the FS1R and set it up to only consist of Part 1. Initialise the Voice associated with this Part. Don\u2019t worry about losing the Performance and Voice \u2013 as long as you don\u2019t store them, they will be restored when you select a new Performance (you could always do a MIDI dump to backup the FS1R if you\u2019re worried).<\/p>\n<p>Playing this Performance should now produce a sine wave. This is because the initialised Voice has only one Voiced Operator active which is set up to produce (surprise, surprise), a sine wave. The Algorithm used is number 1, which just mixes the outputs of all Operators together \u2013 no Frequency Modulation takes place.<\/p>\n<p>Try adding another Voiced Operator to fatten the sound up a bit. To do this, select Voiced Operator 2 and turn its \u2018output\u2019 parameter up. Set its frequency to be the twice the first Operator. You should now be able to hear 2 sine waves. Adding more Voiced Operators will fatten up the sound.<\/p>\n<p>Next, let\u2019s make some noise. Turn off all the Voiced Operators by setting their \u2018output\u2019 parameters to 0. Then select Unvoiced Operator 1 and turn its \u2018output\u2019 parameter up. This should now produce a sound like a radio does when it\u2019s not tuned in to a station. This is caused by lots of sine waves being generated at lots of differing frequencies.<\/p>\n<p>By altering the \u2018frequency\u2019, \u2018bandwidth\u2019 and \u2018skirt\u2019 parameters, the characteristics of the noise can be altered. Changing the \u2018resonance\u2019 parameter will exaggerate the centre frequency. Increasing the resonance and decreasing the bandwidth will make the range of frequencies produced less and less until, at its maximum value, it will filter through just one frequency, so a sine wave is produced (useful if you run out of Voiced Operators).<\/p>\n<p>This is all very good, but what about these bleeding formants?<\/p>\n<p>Well\u2026 it seems that the Voiced Operators act as formants when the \u2018wave\u2019 parameter is set to \u2018frmt\u2019. As the Voiced\/Unvoiced Operators form a \u2018formant pair\u2019, the Unvoiced Operator gets \u2018formanted\u2019 by the Voiced one.<\/p>\n<p>If the Operators have their \u2018fseq switch\u2019 set to on, they\u2019ll formant according the current fseq set in the \u2018performance\/common\/fseq\u2019 menu (as long as the fseq is assigned to part 1 of the performance in this menu).<\/p>\n<p>There\u2019s also an \u2018fseq track\u2019 number parameter that determines the fseq track to use for each Operator. Apparently, fseqs are made up of 8 tracks (like an 8-track tape recorder). Each track contains information on how the frequency, volume and width for one formant changes when the fseq is played. Each Operator then has a track assigned to it. Usually, track 1 is assigned to Operator 1, track 2 to Operator 2, etc, but this doesn\u2019t have to be the case. All Operators could have track 1 assigned to them, or Operator 8 could have track 8 assigned, Operator 2 track 7, etc. Each fseq track can be assigned to more than one Operator, but each Operator can only have one track assigned to it.<\/p>\n<p>Try setting all Voiced Operator volumes up, set them to be \u2018fmnt\u2019s using the \u2018Form\u2019 parameter and set their \u2018Fseq Switch\u2019 to \u2018on\u2019. Turn all Unvoiced Operator volumes up, set their \u2018FreqMode\u2019 to \u2018linkF0\u2019 and also set their \u2018Fseq Switch\u2019 to \u2018on\u2019. Make sure Algorithm 1 is selected.<\/p>\n<p>This should now let you hear all fseqs when they are played. Some sound better than others. I think this is because some fseqs need to be used with particular types of sounds (eg. Drums need more noise, vocal effects need more FM).<\/p>\n<h2>Algorithm<\/h2>\n<p>At last. You\u2019ve set up a Voice from scratch to produce an fseq. If you\u2019ve followed what was described in the previous section, you\u2019ll have 8 Unvoiced Operators being formanted by the 8 Voiced ones, the outputs of which are all mixed together to produce the sound you hear.<\/p>\n<p>Remember, though, the FS1R is capable of FM synthesis \u2013 i.e. one Operator modulating another. The above example used Algorithm 1, which just mixes the outputs of all the Operators together. Instead, a different Algorithm could be used. Number 6, for example, modulates Operator 2 using Operator 1, and modulates Operator 4 using Operator 3. So, Operators 2 and 4 could be used to formant Operators 1 and 3.<\/p>\n<p>Let\u2019s try this out. Re-initialise the current Performance and Voice and select Algorithm 6. Now, set the \u2018output\u2019 parameters for Voiced Operators 1..4 to their maximum value. As all Operators are producing sine waves, a basic sort of sound should come out which probably sounds much like an old 60\u2019s organ. Now, try setting the wave forms of Operators 2 and 4 to \u2018frmt\u2019 (using the \u2018form\u2019 parameter in \u2018Voice\/operator\/Osc\u2019) and turn their \u2018fseq switch\u2019 parameters to \u2018on\u2019. You will also need to make sure the \u2018Performance\/common\/fseq\u2019 parameter is set to Part 1, as before, and that the selected Fseq is valid,e.g. \u2018Pre&gt;01\u2019 (my FS1R defaults to an internal Fseq, of which I have none. This means no Fseq is played).<\/p>\n<p>This produces some weird sounds, some of which nearly sound like voices. Some don\u2019t produce sound at all (eg. The drum loops) \u2013 typically these are the ones that need some noise in order to sound properly.<\/p>\n<h2>Formant Sequences (Fseqs)<\/h2>\n<p>Up until now, the fseqs have probably been playing from start to finish (the FS1R seems to change the \u2018start\u2019 and \u2018end\u2019 parameters of the fseq itself sometimes). Found any that you\u2019d ever seriously use in a recording? Me neither. However, with a bit of messing around, it\u2019s possible to change all that.<\/p>\n<p>Fseqs can be played in a number of different ways. The most obvious is starting at the beginning and running until the end. The point at which to start and end the fseq can be altered and fseqs can also be looped, much like looping a sample. If the start point is set to be higher than the end point, the fseq will play backwards. This gives the opportunity to create all sorts of weird sounds, e.g. playing a short part of a sequence, looping it or reversing it.<\/p>\n<p>The speed of an fseq can be changed, so slowing one right down when applied to a synth pad sound may give it that \u2018spacey\u2019 quality where it\u2019s continuously changing. This can be used in conjunction with the LFOs and EGs to produce some great pad sounds. Add a few effects to this and you\u2019ll think you\u2019ve been transported onto the 2001 film set.<\/p>\n<p>The speed can also be synced to a MIDI clock \u2013 turn the speed down past 0% to do this - then start your sequencer and play a few notes. If the selected fseq has a rhythm to it, it should be in time with the sequencer.<\/p>\n<p>All the above is done in \u2018fseq\u2019 mode. There is also a \u2018scratch\u2019 mode, whereby the fseq can be played by moving the \u2018Format\u2019 controller on the front panel. Rotate it one way and it plays forwards as you rotate it, rotate it the other way and it\u2019ll play backwards, a bit like pushing a record round on a record-deck (hence the \u2018scratch\u2019 name).<\/p>\n<h2>Changing Formants \u2013 Do It Yourself<\/h2>\n<p>It probably hasn\u2019t escaped your attention that there is a \u2018Formant\u2019 knob stuck on the front of the FS1R. Whilst this can be configured to control many parameters, a lot of the preset Performances use it to control the Formant Operators.<\/p>\n<p>Basically, it allows you to change 5 of the \u2018Formant\u2019 parameters at the same time using one controller \u2013 especially useful for live work. For example, the centre frequency of Voiced Operators 1..5 can all be assigned to the one controller, or width, centre frequency and volume for Unvoiced Operator 1, and frequency and width for Voiced Operator 1, etc, etc.<\/p>\n<p>How much effect turning the knob has can also be set up \u2013 positive values increase the selected Formant parameters when the knob is turned clockwise, negative values increase the parameters when it is turned anti-clockwise.<\/p>\n<p>This can be used on its own to control the sound (for yet more slowly varying pad sounds, this time with you varying the formants rather than the fseq), or in conjunction with the fseqs.<\/p>\n<h2>Goodbye<\/h2>\n<p>Now you\u2019re on your own. If you followed it this far, you know everything you need in order to create sounds that are really different to the usual ones you get in most synths.<\/p>\n<p>Those of you that gave up and sold your FS1R \u2013 you mugs! You don\u2019t know what you\u2019re missing.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>I found this old tutorial for the Yamaha FS1R fm synthesiser in the wayback machine and have reproduced it here for posterity. Beginners Guide To The Yamaha FS1R \u00a9 2000 R.C.Strange written by R.C.Strange email: rcstrange@hotmail.com website: www.geocities.com\/rcstrange2000 This Word document contains my understanding of the FM\/FS synthesis used by the FS1R. I stress my [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/posts\/63"}],"collection":[{"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/comments?post=63"}],"version-history":[{"count":5,"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/posts\/63\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/posts\/63\/revisions\/162"}],"wp:attachment":[{"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/media?parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/categories?post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/francisfisher.me.uk\/problem\/wp-json\/wp\/v2\/tags?post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}