diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..141dc27 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Any and all HTML and PDF files should be left out of the Git index +*.html +*.pdf diff --git a/ADDSynth.adoc b/ADDSynth.adoc new file mode 100644 index 0000000..ccdc078 --- /dev/null +++ b/ADDSynth.adoc @@ -0,0 +1,42 @@ +=== ADDSynth + +image::imgs/add-synth.png[] + +ADDSynth is ZynAddSubFX's additive synthesizer. + +This is the most common synth of choice, and you should use it any time you need +more than one voice, modulation, or a simple, one-oscillator patch. + +It features 8 voices, +each of which can be toggled using the power button in the top-left corner of the ADDSynth panel +or using the voice grid below the ADDSynth panel button. + +This section is meant to be an intuitive explanation of various sections of ADDSynth. +If you haven't tried to use ADDSynth practically, please consult the tutorials. + +==== Editing a voice -> VOICE tabs + +So how do you actually start editing a voice? + +Usually, you'll first hop into the <> and make your voice have the desired timbre! +As you could expect, this is done via the "Oscillator" tab. + +Your voice might additionally require some modulation or a bit of unison, in which case, we'll move onto the "Modulation" and "Mod-Osc" tabs! + +In "Modulation", you can set add unsion, which is great for choirs or harmonic-rich sounds, or make your sound crazy using frequency, phase, ring or some other type of modulation. In case you want to change the modulating oscillator, you can do so in <> or by using one of the previous voices to modulate the current voice (e.g. voice 3 can be modulated by voices 1 and 2)! +This is done by setting the dropdown displaying "Normal" to the desired oscillator. + +Once you have your desired sound, we move onto the "Voice" tab, where you can edit +the <>. <>, +as well as the optional <>. + +==== Editing global parameters + +Now, once you've made each voice sound like how you want them, let's make the final sound! + +First, you might want to go to the "Voice list" tab and adjust the voice levels! +Additionally, you can enable anti-aliasing and set panning, detune and MIDI CC vibrato depth. + +After that, apply the finishing touches by going to "Global" and "Resonance" tabs and making changes to +the <> and <>, +as well as the optional <> and <>. diff --git a/Glossary.adoc b/Glossary.adoc index 699d0e8..cb4de41 100644 --- a/Glossary.adoc +++ b/Glossary.adoc @@ -1,5 +1,22 @@ // Here goes all the term definitions the user might need to reference while reading the manual. -// We need to figure out a way to sort the items here alphabetically -// https://github.com/zynaddsubfx/user-manual/issues/6 -NOTE: Here by glossary! \ No newline at end of file +// Filter, sync, distortion, fade, pan +// FM, AM, Bandwith, Additive/Subtractive synthesis, Envelope and Harmonic + +// Ideally they're more naturally introduced in the text + +[glossary] +ADSR:: Short for "Attack-Decay-Sustain-Release", the most common type of envelope. +Key:: A possible input to Zyn-Fusion, with a specific notation (eg. A4, G#2, etc). Practically, it's the same thing as a note. +LFO:: Short for "Low Frequency Oscillator", it's a periodic envelope used for looping and constant changes to your sound. +Patch:: A configuration of ZynAddSubFX the user makes or loads up. You can create patches for drums, strings, pads, or something entirely different! +Portamento:: A pitch slide from one note to another. +Preset:: A ready-made, reusable patch. ZynAddSubFX comes with a bunch of presets you can use! +Timbre:: The percieved quality of a sound. Different oscillators produce different timbres. +VU meter:: A meter that displays the average level of an audio signal. +Voice:: A single instance of sound a synth can produce. If you are limited to three voices, you can only play three notes at one time and expect to hear them in the final sound. +Zyn-Fusion:: The modern descendant of ZynAddSubFX, introducing a new GUI and many other improvements. +Zyn:: A shorthand for Zyn-Fusion. +ZynAddSubFX:: The synthesis engine behind Zyn-Fusion, originally created by Paul Nasca Octavian. + +// TODO: Key/Note? https://github.com/zynaddsubfx/user-manual/pull/22#discussion_r1717669181 diff --git a/IntroTutorial-HiHatSynthesis.adoc b/IntroTutorial-HiHatSynthesis.adoc index e27a53a..65ecc8d 100644 --- a/IntroTutorial-HiHatSynthesis.adoc +++ b/IntroTutorial-HiHatSynthesis.adoc @@ -1,5 +1,6 @@ -== Intro Tutorial 3: Hi-Hat Synthesis -=== Goals +[[tut3]] +=== Tutorial 3: Hi-Hat Synthesis + In the previous sections you learned how to use the ADDsynth to create a kick drum and snare drum. Let's round out a ver basic drum kit with a hi-hat cymbal! Many of the steps of this project are identical to the steps we took in our previous projects, but with different values. @@ -8,31 +9,30 @@ Hopefully you have begun to feel comfortable enough with the general layout of Z When you're finished with this project you'll know to: -- synthesize a custom snare hi-hat cymbal using ADDsynth and *envelopes* and *filters* -- use modulator unison settings +- synthesize a custom snare hi-hat cymbal using ADDsynth and *envelopes* and *filters* and +- use modulator unison settings. .Prerequisites -WARNING: This tutorial assumes that you have completed Project 2: Snare Drum Synthesis +WARNING: This tutorial assumes that you have completed <> -===== Open your previous Ardour session -Launch the Ardour session you used for Project 2. +.Open your previous Ardour session +Launch the Ardour session you used for <>. -===== Add a new midi track -* Create a new Zyn-Fusion midi track for our synthesizer -** `Shift + Ctrl + N` -*** *Name:* HiHat -*** *Instrument:* ZynAddSubFx -*** Click `Add and Close` +.Add a new MIDI track +* Create a new Zyn-Fusion MIDI track for our synthesizer, using `Shift + Ctrl + N` +** *Name:* HiHat +** *Instrument:* ZynAddSubFX +** Click `Add and Close` -===== Open the piano roll +.Open the piano roll Expand the track itself by clicking on the lower edge and dragging it down until you see the "piano roll" similar to the picture below. -===== Draw your midi area +.Draw your MIDI area Enable draw mode by clicking on the pencil icon. -- Draw a midi area that is 1 *beat* / 4 *measures* long (it should be the same length as your existing kick and snare midi areas). +- Draw a MIDI area that is 1 *beat* / 4 *measures* long (it should be the same length as your existing kick and snare MIDI areas). -===== Draw your midi pattern +.Draw your MIDI pattern I'm just going to place a simple 4/4 pattern. You can do anything you like, but don't get too crazy yet, it's going to be repeating behind you while you sculpt the sound. image::screenshots/ardour-midi-4-4-with-snare-and-hihat.png[] @@ -40,26 +40,26 @@ image::screenshots/ardour-midi-4-4-with-snare-and-hihat.png[] .Info NOTE: This tutorial uses note C4 as our starting note. -===== Loop your midi pattern -Now we're going to tell Ardour to loop this specific region whenever we tell it to play. Right click on your midi area, select "play", and "loop region". +.Loop your MIDI pattern +Now we're going to tell Ardour to loop this specific region whenever we tell it to play. Right click on your MIDI area, select "play", and "loop region". -You should now here your pattern being played with your kick drum and the default Addsynth sound. +You should now here your pattern being played with your kick drum and the default Addsynth sound. .Tip NOTE: You can listen to any track in _solo_ mode by clicking on the `S` button on the specific track. This will mute all instruments but the track you select and can be useful when modifying individual sounds. image::screenshots/ardour-solo-track.png[] -===== Launch Zyn-Fusion +.Launch Zyn-Fusion * Select your `Synth` track and then *double-click* on the ZynAddSubFX button (circled in red below) -===== Launch ADDsynth -Launch the ADDsynth by selecting the `ADD` button. +.Launch ADDsynth +Launch the ADDsynth by selecting the `ADD` button. .What Key am I in? NOTE: We use note `C4` as our starting point. -===== Change the Oscillator type +.Change the Oscillator type Up to this point we've been using the default sine wave oscillator to generate our tones, but Zyn-Fusion is capable of generating many different types of waves. Each type has unique sound characteristics that we'll dig into later. For this project we're going to use a *Pulse* wave. @@ -70,7 +70,7 @@ For this project we're going to use a *Pulse* wave. image::screenshots/osc-base-function-pulse.png[] -===== Adjust the Modulation +.Adjust the Modulation Now we're going to adjust how the signal is *modulated*. It's ok if you don't know what that means yet, for now think of "modulation" as "changing" a wave. One of the unique characteristics of cymbals is the "rattle" or "crash" that can often sound like multiple clanging sounds overlapping. We're going to accomplish this goal by increasing the *unison*. @@ -95,14 +95,14 @@ Now let's disable the default *vibrato* settings. image::screenshots/mod-unison.png[] -===== Modify the global frequency +.Modify the global frequency Let's detune the frequency a bit again, this time at the global level. * Navigate to `Global >> Frequency >> General` ** Adjust `BW >> 90` *** How does the sound change when you adjust the frequency? -===== Modify the global filter +.Modify the global filter Now it's time to play with filters where we will adjust, well, how the sound is filtered. For starters, let's change from the default lowpass filter to a high-pass filter. @@ -119,22 +119,21 @@ Now let's adjust the cutoff frequency. ** `Filter >> Cutoff >> 14300 Hz` *** 14300 is an approximate number, anything close should be fine. - -===== Modify the amplitude envelope +.Modify the amplitude envelope Listen to that! Believe it or not, we're almost finished. Let's try minimizing the sustain value to shorten the length of our note, I feel like it's dragging on far too long. * Navigate to `Global >> Amplitude >> Envelope` ** Modify `S.VAL >> 0` -That's an interesting sound now isn't it? What happens if we modify the *decay*? +That's an interesting sound now, isn't it? What happens if we modify the *decay*? * Navigate to `Global >> Amplitude >> Envelope` ** `Amplitude >> Envelope >> D.DT >> 30` .Tip -NOTE: If the hi-hat seems hard to hear when playing with your kick and snare, try increasing the `global >> amplitude >> volume` of the hi-hat. +NOTE: If the hi-hat seems hard to hear when playing with your kick and snare, try increasing the `GLOBAL >> AMPLITUDE >> VOL` of the hi-hat. -==== Save your instrument +.Save your instrument Congratulations, you've crafted a hi-hat cymbal - starting with a single sin wave and using additive synthesis! Now would be a great time to save your Zyn-fusion instrument and Ardour session. @@ -142,7 +141,7 @@ Now would be a great time to save your Zyn-fusion instrument and Ardour session. * Navigate to `File >> Save instrument` * Choose a directory and name your file before selecting `Enter` -==== Save your Ardour session +.Save your Ardour session * Navigate to your Ardour window * `Ctrl + S` diff --git a/IntroTutorial-KickDrumSynthesis.adoc b/IntroTutorial-KickDrumSynthesis.adoc index 8caaa32..d6fdb29 100644 --- a/IntroTutorial-KickDrumSynthesis.adoc +++ b/IntroTutorial-KickDrumSynthesis.adoc @@ -1,72 +1,77 @@ -== Intro Tutorial 1: Kick Drum Synthesis +[[tut1]] +=== Tutorial 1: Kick Drum Synthesis -=== Goals In the previous section you learned how to load and use existing patches, but the real power of ZynAddSubFX is the ability to create new sounds and adjust existing sounds to harmonize with the rest of the instruments. Now that you know how to load and use existing patches, let’s take a look at how to build new patches. -When you're finished with this project you'll know to: +When you're finished with this project you'll know how to: -- use the Ardour piano roll to write a basic midi pattern -- use Ardour to loop a basic midi pattern -- synthesize a custom kick drum using ADDsynth and *envelopes*, *filters*, *and LFOs* +- use the Ardour piano roll to write a basic MIDI pattern, +- use Ardour to loop a basic MIDI pattern and +- synthesize a custom kick drum using ADDsynth and *envelopes*, *filters*, *and LFOs*. .Prerequisites -WARNING: This tutorial assumes that you have completed the Quick Start guide _or understand the content presented within it._ +WARNING: This tutorial assumes that you have completed the Quick Start guide _or understand the content presented within it_. -===== Open your previous Ardour session -Launch the Ardour session you created for the Quick Start guide. +.Open your previous Ardour session +// Links to Introduction.adoc:Quick start +Launch the Ardour session you created for the <>. -===== Add a new midi track -* Create a new Zyn-Fusion midi track for our synthesizer -** `Shift + Ctrl + N` -*** *Name:* Kick -*** *Instrument:* ZynAddSubFx -*** Click `Add and Close` +.Add a new MIDI track +* Create a new Zyn-Fusion MIDI track for our synthesizer, using `Shift + Ctrl + N` +** *Name:* Kick +** *Instrument:* ZynAddSubFX +** Click `Add and Close` image::screenshots/ardour-new-track.png[] -===== Open the piano roll +.Open the piano roll Expand the track itself by clicking on the lower edge and dragging it down until you see the "piano roll" similar to the picture below. image::screenshots/ardour-open-piano-roll.png[] -===== Draw your midi area +.Draw your MIDI area - Enable draw mode. image::screenshots/ardour-enable-draw-mode.png[] -- Draw a midi area that is 1 *beat* / 4 *measures* long. Don't worry if you don't know what that means, you can just draw from the `1` to the `2` following the `Bars:Beats` bar. See the image below. +- Draw a MIDI area that is 1 *beat* / 4 *measures* long. Don't worry if you don't know what that means, you can just draw from the `1` to the `2` following the `Bars:Beats` bar. See the image below. image::screenshots/ardour-draw-midi-area.png[] -===== Draw your midi pattern +.Draw your MIDI pattern I'm just going to place a simple 4/4 pattern. You can do anything you like, but don't get too crazy yet, it's going to be repeating behind you while you sculpt the sound. image::screenshots/ardour-midi-4-4-pattern.png[] -This tutorial uses note A4 as our starting note. You can press the `Y` key on your QWERTY keyboard to hear it. +This tutorial uses note A4 as our starting note. -===== Loop your midi pattern +You can press the `Y` key on your QWERTY keyboard to hear it. + +NOTE: If you are not using a QWERTY keyboard, you can set the keyboard layout by going to the "Edit" dropdown menu and selecting "Preferences" > "MIDI" > "Virtual Keyboard Layout". + +.Loop your MIDI pattern Now we're going to tell Ardour to loop this specific region whenever we tell it to play. Right click on your midi area, select "play", and "loop region". image::screenshots/ardour-loop-region.png[] -You should now here your pattern being played using the default Zyn-fusion synthesizer. Let's transform it into a kick drum. +You should now hear your pattern being played using the default Zyn-fusion synthesizer. Let's transform it into a kick drum. -===== Launch Zyn-Fusion +.Launch Zyn-Fusion * Select your `Synth` track and then *double-click* on the ZynAddSubFX button (circled in red below) image::screenshots/ardour-launch-zyn-fusion.png[] -===== Launch ADDsynth -Launch the ADDsynth by selecting the `ADD` button. +.Launch ADDsynth +Launch the ADDsynth by selecting the `ADD` button. image::screenshots/launch-ADDsynth.png[] .What Key am I in? NOTE: We use note `A4` as our starting point. You can press the `Y` key on your QWERTY keyboard to hear this note. -===== Lower the octave -By the the repetive beeping has probably started to bother anyone within listening distance, yourself included. Let's drop it a bit and get it closer to the sound we're looking for. +.Lower the octave +If you recall from the <<_draw_your_midi_pattern,"Draw your MIDI pattern" section>>, we're in the fourth octave. +Let's drop it a bit and get it closer to the sound we're looking for. * Navigate to Global >> Frequency * Adjust the General >> Octave to `-3` @@ -75,19 +80,18 @@ By the the repetive beeping has probably started to bother anyone within listeni image::screenshots/global-freq.png[] -_Note that the image above shows a different octave but is for demonstration purposes only; set it to the `-3` value described in these steps please._ +_Note that the image above shows a different octave but is for demonstration purposes only; set it to the `-3` value described in these steps._ -===== Modify your amplitude envelope +.Modify your amplitude envelope Very briefly, envelopes allow us to define how a note behaves over its lifetime. We use an acronymn full of jargon when discussing this behavior - *ADSR*. -.ADSR NOTE: ADSR stands for Attack, Decay, Sustain, Release. You don't need to worry about these terms if you don't already know them, we'll cover them in more detail later. We're going to shorten the *Release* of the Global amplitude envelope, or in simpler terms, let's make the note "shorter". -* Adjust `R.DT` to `63`. +* Adjust `R.DT` to `63`. ** What do you notice about how the sound has changed? ** Can you hear a new `clicking` sound? @@ -98,7 +102,7 @@ By now it should be resembling something approaching the sound of a kick drum. .TIP NOTE: Notice the area outlined in yellow below, it will display the value of the knobs/dials you manipulate. -===== Modify your frequency envelope +.Modify your frequency envelope Now lets adjust the frequency of our sound a bit to give it a bit more "bounce" by adjusting the *Attack Value*. * Adjust `A.VAL` to `107` @@ -111,15 +115,13 @@ It's getting closer! Let's add a little more depth to the sound by extending the image::screenshots/global-freq-env-attack.png[] -It sounds more like a drum now but not quite the _deep_ sound we're looking for in a kick. +It sounds more like a drum now but not quite the _deep_ sound we're looking for in a kick. .Quiz Time NOTE: Knowing what you've learned so far, how you attempt to literally _drop the bass_ at this point? Take some time to think about it, I'm not in a rush. Seriously, I'll grab a cup of coffee while you think it over. -... - There's likely an inifinite number of ways to approach this, but let's stick to a simple method we employed earlier - lowering the octave! * Adjust `Octave` to `-4` @@ -131,7 +133,7 @@ Ah, now that's starting to sound like a decent kick drum! .TIP NOTE: The volume of your kick may seem a bit low after dropping the octave to -4. You can always increase it a bit using the `Global >> Amplitude >> Vol` knob. -===== Make the sound more dynamic by adding a second voice +.Make the sound more dynamic by adding a second voice You can think of each *voice* as another layer that gets applied when crafting you sound. More layers result in more complexity but the potential of a richer fuller sound with more natural harmonics. Let's try adding a second voice and see how it affects our kick drum. @@ -140,14 +142,14 @@ Let's try adding a second voice and see how it affects our kick drum. image::screenshots/navigate-vce2.png[] -* Enable `VCE 2` by clicking on the power button. +* Enable `VCE 2` by clicking on the power button. ** Try enabling/disabling it a few times and listen to the difference. ** What do you notice about how the sound changes when the second voice is enabled? image::screenshots/enable-vce2.png[] -===== Add some noise -One thing you may have noticed by now is that every single hit sounds _identical_. This isn't necessarily a bad thing, but it can lead to boring sounds. +.Add some noise +One thing you may have noticed by now is that every single hit sounds _identical_. This isn't necessarily a bad thing, but it can lead to boring sounds. Let's try adding some *noise* to this voice so that every hit will include a bit of randomness. @@ -157,12 +159,12 @@ Let's try adding some *noise* to this voice so that every hit will include a bit image::screenshots/mod-pink-noise.png[] -===== Apply a filter +.Apply a filter Now we have too much noise drowing out our primary kick sound. We can use *filters* to filter out specific frequency ranges. In this case, let's use the default *lowpass* filter (lp2) to remove most of the high pitched sound that is drowing out our kick drum. -The goal is to leave just enough of the noise underneath the primary kick sound to add more depth and a bit of variety to each hit. +The goal is to leave just enough of the noise underneath the primary kick sound to add more depth and a bit of variety to each hit. * Navigate to the `VCE 2 >> Filter` * Enable the filter @@ -185,7 +187,7 @@ image::screenshots/vce2-filter-q.png[] .TIP NOTE: You can temporarily disable `VCE 1` so that you can listen to `VCE 2` in isolation to get a clearer picture of what it's adding. To disable a voice you can simply use the `+/-` button to navigate to the voice and then click the power button so that it's greyed out. (The opposite of how you added `VCE 2` above) -==== Save your instrument +.Save your instrument Congratulations, you've crafted a kick drum - starting with a single sin wave and using additive synthesis! Now would be a great time to save your Zyn-fusion instrument and Ardour session. @@ -195,7 +197,7 @@ Now would be a great time to save your Zyn-fusion instrument and Ardour session. image::screenshots/save-instrument.png[] -==== Save your Ardour session +.Save your Ardour session * Navigate to your Ardour window * `Ctrl + S` diff --git a/IntroTutorial-SnareDrumSynthesis.adoc b/IntroTutorial-SnareDrumSynthesis.adoc index 7bce616..c07bdd4 100644 --- a/IntroTutorial-SnareDrumSynthesis.adoc +++ b/IntroTutorial-SnareDrumSynthesis.adoc @@ -1,37 +1,38 @@ -== Intro Tutorial 2: Snare Drum Synthesis -=== Goals +[[tut2]] +=== Tutorial 2: Snare Drum Synthesis + In the previous section you learned how to use the ADDsynth to create a kick drum. Let's build on what you learned to create a simple snare drum. Many of the steps of this project are identical to the steps we took in our first project to create our kick drum, but with different values. Hopefully you have begun to feel comfortable enough with the general layout of Zyn-fusion to follow along with this project without us posting similar screenshots with slightly different values. -When you're finished with this project you'll know to: - -- synthesize a custom snare drum using ADDsynth and *envelopes* and *filters* +When you're finished with this project you'll know how to +synthesize a custom snare drum using ADDsynth and *envelopes* and *filters*. .Prerequisites -WARNING: This tutorial assumes that you have completed Project 1: Kick Drum Synthesis +WARNING: This tutorial assumes that you have completed <> -===== Open your previous Ardour session -Launch the Ardour session you used for Project 1. +.Open your previous Ardour session +Launch the Ardour session you used for the <>. -===== Add a new midi track -* Create a new Zyn-Fusion midi track for our synthesizer -** `Shift + Ctrl + N` -*** *Name:* Snare -*** *Instrument:* ZynAddSubFx -*** Click `Add and Close` +.Add a new MIDI track +* Create a new Zyn-Fusion MIDI track for our synthesizer, using `Shift + Ctrl + N` +** *Name:* Snare +** *Instrument:* ZynAddSubFX +** Click `Add and Close` -===== Open the piano roll +.Open the piano roll Expand the track itself by clicking on the lower edge and dragging it down until you see the "piano roll" similar to the picture below. -===== Draw your midi area +.Draw your MIDI area Enable draw mode by clicking on the pencil icon. -- Draw a midi area that is 1 *beat* / 4 *measures* long. Don't worry if you don't know what that means, you can just draw from the `1` to the `2` following the `Bars:Beats` bar. See the image below. +- Draw a MIDI area that is 1 *beat* / 4 *measures* long. Don't worry if you don't know what that means, you can just draw from the `1` to the `2` following the `Bars:Beats` bar. +// See the image below. +// TODO: No image here! -===== Draw your midi pattern +.Draw your MIDI pattern I'm just going to place a simple 4/4 pattern. You can do anything you like, but don't get too crazy yet, it's going to be repeating behind you while you sculpt the sound. image::screenshots/ardour-midi-4-4-with-snare.png[] @@ -39,38 +40,38 @@ image::screenshots/ardour-midi-4-4-with-snare.png[] .Info NOTE: This tutorial uses note C4 as our starting note. -===== Loop your midi pattern -Now we're going to tell Ardour to loop this specific region whenever we tell it to play. Right click on your midi area, select "play", and "loop region". +.Loop your MIDI pattern +Now we're going to tell Ardour to loop this specific region whenever we tell it to play. Right click on your MIDI area, select "play", and "loop region". -You should now here your pattern being played with your kick drum and the default Addsynth sound. +You should now here your pattern being played with your kick drum and the default Addsynth sound. .Tip NOTE: You can mute the kick drum at any time by selecting the `M` button on the Ardour kick track. image::screenshots/ardour-mute-kick-track.png[] -===== Launch Zyn-Fusion +.Launch Zyn-Fusion * Select your `Synth` track and then *double-click* on the ZynAddSubFX button (circled in red below) -===== Launch ADDsynth -Launch the ADDsynth by selecting the `ADD` button. +.Launch ADDsynth +Launch the ADDsynth by selecting the `ADD` button. .What Key am I in? NOTE: We use note `C4` as our starting point. -===== Raise the volume +.Raise the volume Snares are meant to be heard, let's turn ours all the way up. * Navigate to `Global >> Amplitude` ** Adjust `Volume` to 100% -===== Open up the global filter +.Open up the global filter A snare generates a wide range of frequncies so let's open the global filter all the way up to let all frequencies through. * Navigate to `Global >> Filter` ** Adjust the `General >> Cutoff` to 100% -===== Modify your amplitude envelope +.Modify your amplitude envelope We're going to shorten the *Release*, *Sustain*, and *Decay* of the amplitude envelope for voice 1, or in simpler terms, let's make the note have a "shorter" more percussive sound. * Navigate to `VCE1 >> Voice >> Amplitude >> Envelope` @@ -78,13 +79,13 @@ We're going to shorten the *Release*, *Sustain*, and *Decay* of the amplitude en ** Adjust `R.DT` and `S.DT` to `0`. ** Adjust the `D.DT` to `32` -===== Lower the octave +.Lower the octave Now that we have a short percussive sound, let's lower the octave of `VCE 1` so that it's something closer to the hit of a snare drum. * Navigate to `VCE1 >> Voice >> Frequency` ** Adjust the `Octave` to `-2` -===== Modify your frequency envelope +.Modify your frequency envelope Now lets adjust the frequency of our sound a bit to give it a bit more "bounce" by adjusting the *Attack Value*. * Navigate to `VCE1 >> Voice >> Amplitude >> Envelope` @@ -95,13 +96,13 @@ Let's add a little more length to the sound by extending the *Attack Decay* time * Navigate to `VCE1 >> Voice >> Amplitude >> Envelope` ** Adjust `A.DT` to `25` -===== Use a second voice to add the snare "sizzle" +.Use a second voice to add the snare "sizzle" Now that we've got a basic _thwacking_ percussive sound that is similar to a snare drum it's time to add the _sizzle_ that is created by the metallic snare wires. * Navigate to `VCE 2` by clicking the `+` beside `VCE 1` -* Enable `VCE 2` by clicking on the power button. +* Enable `VCE 2` by clicking on the power button. -===== Enable noise modulation +.Enable noise modulation We're going to add some noise much like we did when creating our kick drum previously, only this time we're going to use `white` noise instead of `pink`. .Tip @@ -115,18 +116,17 @@ Now you may notice that the noise is too loud compared to the smack of our drum. * Lower the volume of this voice ** Navigate to `VCE 2 >> Amplitude >> General >> Vol` ** Adjust `Vol` to `100` -*** Note that this means the actual value of 100, not 100%. +*** Note that this means the actual value of 100, not 100%. -===== Enable amplitude envelope +.Enable amplitude envelope Now that we've set a decent volume between the _thwack_ and the _sizzle_ of the sound, let's adjust the amplitude of the noise generated by VC2 to match that of VCE1. - * Navigate to `VCE1 >> Voice >> Amplitude >> Envelope` ** Enable it by pressing the grayed out power button until it lights up. ** Adjust `R.DT` and `S.DT` to `0`. ** Adjust the `D.DT` to `32` -==== Save your instrument +.Save your instrument Congratulations, you've crafted a snare drum - starting with a single sin wave and using additive synthesis! Now would be a great time to save your Zyn-fusion instrument and Ardour session. @@ -134,7 +134,7 @@ Now would be a great time to save your Zyn-fusion instrument and Ardour session. * Navigate to `File >> Save instrument` * Choose a directory and name your file before selecting `Enter` -==== Save your Ardour session +.Save your Ardour session * Navigate to your Ardour window * `Ctrl + S` diff --git a/Introduction.adoc b/Introduction.adoc index 8751627..147cf0f 100644 --- a/Introduction.adoc +++ b/Introduction.adoc @@ -1,33 +1,33 @@ -//// -I'd say this section is a good place to give a very sparse high level idea of -what the synth is about, provide links to subsections, and provide a quickstart -//// +This section aims to introduce the user to Zyn-Fusion, using a few brief sentences and tutorials. ZynAddSubFX is a powerful multi-platform open-source software sound synthesizer. Zyn provides a variety of sound creation options including 3 core synthesis -engines, 10+ filter options, lfos/envelopes for modulation, microtonal support, +engines, 10+ filter options, LFOs/envelopes for modulation, microtonal support, multi-parameter automation support, as well as many other features. Zyn can be run both as a standalone application as well as a VST/LV2/DSSI plugin within your favorite DAW. -ZynAddSubFX can be controlled through multiple interfaces, though this manual -will focus on the new and powerful Zyn-Fusion interface. === About the User Manual +// TODO: This manual aims to teach the user... +// Do this when everything else is finished + The Manual was divided into several sections: -Introduction:: is the first part of the Manual, we're starting with a few simple tutorials to get the user hands-on with the synthesizer as fast as possible. -Basic:: is the second part where we start to cover everything from top to bottom. If you're fairly new to Zyn-Fusion ,this part should provide you with a comprehensive, yet not overwhelming instruction. -Advanced:: the third part, where we go into more detail and cover things that were skipped in the previous part. More advanced users should benefit from this part, adding depth to their understanding of the synthesizer. For newcomers, this part might be too confusing. -Glossary:: this part is a glossary appendix with various terms indexed alphabetically -Routing Diagrams:: the last part is a set are signal routing diagrams that should let you gain a deep understanding of the inner workings of the synthesizer. +Introduction:: We're starting with a few simple tutorials to get the user hands-on with the synthesizer as fast as possible. +Basic:: We start to cover everything from top to bottom. If you're fairly new to Zyn-Fusion, this part should provide you with a comprehensive, yet not overwhelming instruction. +Advanced:: We go into more detail and cover things that were skipped in the previous part. More advanced users should benefit from this part, adding depth to their understanding of the synthesizer. For newcomers, this part might be too confusing. +Glossary:: A glossary appendix with various terms indexed alphabetically +Routing Diagrams:: Signal routing diagrams that should let you gain a deep understanding of the inner workings of the synthesizer. + +Even though ZynAddSubFX can be used as a standalone tool, the manual utilizes Ardour, primarily for it's session handling, ensuring that we can save and return to our progress at any time. === Quick start -link:QuickStart.adoc[Quick Start Guide ] +include::QuickStart.adoc[] //// -XXX Each one of these bullet points should be expanded upon somewhere else IMO +TODO: Each one of these bullet points should be expanded upon somewhere else IMO * Zyn-Fusion is actually three synthesizers in one box - they can play together * multitimbral: can play multiple patches at once using different MIDI channels, or simply layer then together for complex sounds @@ -35,6 +35,3 @@ XXX Each one of these bullet points should be expanded upon somewhere else IMO * Built in effects * 16 macro slots for automation or live control - everything can be automated (unlike the old ZynAddSubFX interface) //// - -=== Tutorial One: Kick Drum Synthesis -link:IntroTutorial-KickDrumSynthesis.adoc[Intro Tutorial - Kick Drum Synthesis] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..45e5050 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +# The AsciiDoc compiler. You could also pass "asciidoc". +C=asciidoctor + +html: + $(C) \ + -a toc \ + -a toclevels=4 \ + -a icons=font \ + -a setclinks \ + -a sectnums \ + -a sectnumlevels=4 \ + Manual.adoc diff --git a/Manual.adoc b/Manual.adoc index 8bf3549..c8dfbce 100644 --- a/Manual.adoc +++ b/Manual.adoc @@ -1,43 +1,54 @@ +//// +TODO: + +- A section on automabatable params +- Use "preset" instead of "patch", to match the UI. +//// + = Zyn-Fusion User Manual -:icons: font == Introduction + include::Introduction.adoc[] -== Basic Topics +== Tutorial -=== User Interface -include::UserInterface.adoc[] +These tutorials are meant to serve as an interactive introduction to Zyn-Fusion. +We heavily encourage going through these before anything else below, +as this will give you a good understanding of Zyn-Fusion, from a practical perspective. + +include::IntroTutorial-KickDrumSynthesis.adoc[] -=== Synthesizer Modules -include::SynthesizerModules.adoc[] +include::IntroTutorial-SnareDrumSynthesis.adoc[] -=== Synthesis Engines +include::IntroTutorial-HiHatSynthesis.adoc[] -==== ADDsynth -include::ADDsynth.adoc[] +// TODO: We could add a supersaw and a square lead, both excelent way to learn about PADSynth and portamento. -==== SUBsynth -include::SUBsynth.adoc[] +== User Interface Conventions -==== PADsynth -include::PADsynth.adoc[] +include::UserInterfaceConv.adoc[] -=== Part Settings -include::PartSettings.adoc[] +== User Interface -=== Kits -include::Kits.adoc[] +include::UserInterface.adoc[] + +== Synthesis + +include::Synthesis.adoc[] -=== Presets and Banks -include::PresetsAndBanks.adoc[] +include::ADDSynth.adoc[] -=== Settings -include::Settings.adoc[] +include::SUBSynth.adoc[] + +include::PADSynth.adoc[] == Glossary + include::Glossary.adoc[] -== Advanced Topics +// == Advanced Topics +// To each of these, add an INFO block that says +// "This is considered an advanced topic. Be sure you understand all the previous topics before proceeding." // Once we have eveything written, we'll put here stuff that's unnecessarily detailed and would trip up new users diff --git a/PADSynth.adoc b/PADSynth.adoc new file mode 100644 index 0000000..8d60f1c --- /dev/null +++ b/PADSynth.adoc @@ -0,0 +1,24 @@ +=== PADSynth + +image::imgs/pad-synth.png[] + +PADSynth is a very unique synthesis engine. +It works by taking a sound you've made with the <> +and then spreading that sound across a wide harmonic range, +which leaves you with a harmonically rich variant of the original sound you made. + +This synth requires hiting the "Apply" button each time you make a change, +to save the wave of the sound. + +After editing your oscillator, and adding resonance if necessary, +we can move onto the main part of the PADSynth interface, which is the "Harmonic structure" tab. + +Here, you can change the harmonic distribution curve, bandwidth and saved wave properties. +You'll mainly be messing with bandwidth and the curve, however! + +After editing the timbre of your sound, you can move onto the "Envelope & LFOs" tab, where you can once again edit +the <> and <>, +as well as the optional <> and <>. + +// TODO: Signal routing diagram +// TODO: Tutorials diff --git a/PADsynth.adoc b/PADsynth.adoc deleted file mode 100644 index c075478..0000000 --- a/PADsynth.adoc +++ /dev/null @@ -1,3 +0,0 @@ -image::imgs/pad-synth.png[] -* what is padsynth and why it's named this way? -* signal routing diagram diff --git a/QuickStart.adoc b/QuickStart.adoc index d557fc5..4dcf2e4 100644 --- a/QuickStart.adoc +++ b/QuickStart.adoc @@ -1,4 +1,3 @@ -=== Goals *This quick-start will guide you through the process of using Ardour to launch Zyn-Fusion and then using Zyn-Fusion to open an existing patch and modify it.* Don't worry if some or most of these terms are unfamiliar, we'll cover them soon but for now we want to get you having fun making sounds! @@ -14,57 +13,57 @@ When you're finished with this project you'll learn some fundamentals such as: .Prerequisites WARNING: This guide expects that you are starting with a working installation of Ardour and Zyn-Fusion; at a minimum you should be able to play and hear the Ardour metronome to confirm that your audio is routed properly. -==== Create your Ardour session -.If Zyn-Fusion can be used as a standalone tool why are we using it with Ardour? -NOTE: We're choosing to use Ardour primarily for it's session handling, ensuring that we can save and return to our progress at any time. +.Create your Ardour session -===== Start a new session +.Start a new session * Launch Ardour and create a new session using the _Empty Template_ ** I named mine *QuickStart* but you can choose any name you'd like -===== Add your first track -* Create a new Zyn-Fusion midi track for our synthesizer -** `Shift + Ctrl + N` -*** *Name:* Synth -*** *Instrument:* ZynAddSubFx -*** Click `Add and Close` +.Add your first track +* Create a new Zyn-Fusion MIDI track for our synthesizer, using `Shift + Ctrl + N` +** *Name:* Synth +** *Instrument:* ZynAddSubFX +** Click `Add and Close` image::screenshots/ardour-new-track.png[] -===== Save your Ardour session +.Save your Ardour session * Save your Ardour session so the work you just did is saved. ** `Ctrl + S` -===== Launch Zyn-Fusion +.Launch Zyn-Fusion * Select your `Synth` track and then *double-click* on the ZynAddSubFX button (circled in red below) image::screenshots/ardour-launch-zyn-fusion.png[] -===== Play the default ADDsynth +.Play the default ADDsynth + The ADDsynth is an additive synthesizer. It's totally fine if you don't know what that means yet. -You can launch it by selecting the `ADD` button. Try launching it and then playing a few notes by pressing some keys on your keyboard. You should see the corresponding key light up on the virtual keyboard. Listen to the default sound or "voice" of the ADDsynth. +You can launch it by selecting the `ADD` button. Try launching it and then playing a few notes by pressing some keys on your keyboard. You should see the corresponding key light up on the virtual keyboard. Listen to the default sound or "voice" of the ADDsynth. image::screenshots/launch-ADDsynth.png[] -Next try playing around with the virtual keyboard at the bottom of the window. +Next try playing around with the virtual keyboard at the bottom of the window, using your mouse. -image::imgs/virtual-keyboard.png[] +image::imgs/footer.png[] -===== Open an existing patch +// TODO: Patch is never used in Zyn. Instrument is the perfered term. +.Open an existing patch .What is a patch? NOTE: For now think of a patch as a saved Zyn-Fusion configuration. Once you create a sound you like, you can save the configuration as a _patch_ which can be shared or reloaded to recreate this sound in the future. -Now that you've heard what the default ADDsynth sounds like, let's load up one of the built-in patches. +Now that you've heard what the default ADDsynth sounds like, let's load up one of the built-in patches. Click on the "Browser" button to browse the default patches; I'm going to select the `FM Bass 2` preset but you're welcome to pick any preset you like the sound of. image::screenshots/browser.png[] -Play the synth using your keyboard or the virtual keyboard. +Play the synth using your keyboard or the virtual keyboard. + +.Modify an existing patch -===== Modify an existing patch Now let's try experimenting with some knobs and dials to see how you can modify the sound. Try modifying the: @@ -81,7 +80,8 @@ image::screenshots/global-freq.png[] image::screenshots/voice-freq.png[] -===== Save a patch +.Save a patch + Let's save your modifications as a custom instrument so you can reload it at any time. Click on the `File` drop down that is to the right of the Zyn logo and select `Save Instrument`. @@ -92,12 +92,14 @@ Navigate to a directory you want to save the patch in and type a file name befor image::screenshots/file-manager.png[] -===== Close and relaunch Ardour +.Close and relaunch Ardour + Now that you've saved your patch, let's imagine you just closed everything and forgot to save, in fact, go ahead and close Ardour without saving. Now reopen Ardour and select your session. If you've followed this guide closely then your session should resume right _after_ you added your Zyn-Fusion track, but _before_ you modified any patches. Luckily, you saved your patch before you closed your last session. -===== Load your saved instrument +.Load your saved instrument + Relaunch Zyn-Fusion from your Ardour session and load your saved instrument. Click on the `File` drop down that is to the right of the Zyn logo and select `Load Instrument`. @@ -111,4 +113,3 @@ image::screenshots/file-manager.png[] Once you've loaded your instrument the synthesizer should play the sounds you saved. Congratulations, you've synthesized your first custom sound! - diff --git a/README.md b/README.md index 81858bb..5ba3d42 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,27 @@ # Zyn-Fusion User Manual -User manual (this may or may not get merged into zynaddsubfx/zynaddsubfx's doc dir) This repository contains the user manual for Zyn-Fusion (ZynAddSubFX). -## Tools of the trade +This may or may not get merged into zynaddsubfx/zynaddsubfx's doc dir. -The Manual is in `AsciiDoc` format https://powerman.name/doc/asciidoc +## Tools of the trade -For a powerful editor with live preview for Linux, check `AsciidocFX` https://github.com/asciidocfx/AsciidocFX +The Manual is in [`AsciiDoc` format](https://powerman.name/doc/asciidoc). +For a powerful editor with live preview for Linux, check [`AsciidocFX`](https://github.com/asciidocfx/AsciidocFX). +If you need a different tool, look [here](https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/). -If you need a different tool, look here: https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ +The repo includes a [`Makefile`](./Makefile), which compiles the manual and stores it in the, appropriately named, `Manual.html`. +The `Makefile` builds using [`Asciidoctor`](https://asciidoctor.org/), which can be changed in the file. ## Files -`Manual.adoc` is the main document, which uses `include` statements to pull chapters from individual files. +[`Manual.adoc`](./Manual.adoc) is the main document, which uses `include` statements to pull chapters from individual files. -`Goals.adoc` is a document for the manual writers, to define a coherent idea of what the Manual should be like. +[`Goals.adoc`](./Goals.adoc) is a document for the manual writers, to define a coherent idea of what the Manual should be like. ## How to contribute? -If you'd like to share your knowledge about ZynAddSubFX and help fill in the gaps of this User Manual - first take a look at the Manual.adoc file and read. +If you'd like to share your knowledge about ZynAddSubFX and help fill in the gaps of this User Manual - first take a look at the `Manual.adoc` file and read. When you'll find something that you feel comfortable writing about, find the appropriate `.adoc` chapter file and contribute there. @@ -31,16 +33,15 @@ Every line starting with `//` is regarded as a comment. Multi-line text enclosed between lines containing only `////` is regarded as a comment to. // example one line comment - + //// example multi-line comment //// -If you have any questions, or suggestions - feel free to create an Issue, and link it in a comment in the appropreiate `.adoc` file. For example: +If you have any questions, or suggestions - feel free to create an Issue, and link it in a comment in the appropriate `.adoc` file. For example: // Here goes all the term definitions the user might need to reference while reading the manual. // We need to figure out a way to sort the items here alphabetically // https://github.com/zynaddsubfx/user-manual/issues/6 - diff --git a/SUBSynth.adoc b/SUBSynth.adoc new file mode 100644 index 0000000..53f1992 --- /dev/null +++ b/SUBSynth.adoc @@ -0,0 +1,26 @@ +=== SUBSynth + +image::imgs/sub-synth.png[] + +SUBSynth is ZynAddSubFX's subtractive synthesizer! + +A subtractive synth works by taking noise and filtering out tiny bands of frequencies. +By filtering out bands, we start generating pleasant noises that sound like very stereo-rich sine waves. + +We're first introduced to SUBSynth via the two strips of faders at the bottom of the panel, +similar to the <>, inside the "Harmonic" tab. +The top ones set the amplitude of the bands. The bottom ones set the resonance of the bands. +The bands are placed on harmonic distances. +Use this tab to sculp your sound band by band! + +After doing that, we move onto the "Bandwidth" tab. +Consider this tab a place where you can make finishing touches to the resonances of the bands, +by affecting all of them with the same number of stages, bandwidth width, etc. +Additionally, the bandwidth can be changed over time using <>! + +And finally, in "Global", we make the standard changes to +the <> and <>, +as well as the optional <> and <>. + +// TODO: Signal routing diagram +// TODO: Tutorials diff --git a/SUBsynth.adoc b/SUBsynth.adoc deleted file mode 100644 index f78e98e..0000000 --- a/SUBsynth.adoc +++ /dev/null @@ -1,3 +0,0 @@ -image::imgs/sub-synth.png[] -* what is subsynth and why it's named this way? -* signal routing diagram diff --git a/Synthesis.adoc b/Synthesis.adoc new file mode 100644 index 0000000..abe83a9 --- /dev/null +++ b/Synthesis.adoc @@ -0,0 +1,151 @@ +// Defines the plus-minus simbol, using HTML codes +:plusmn: ± + +This section is meant to document how ZynAddSubFX generates sound, +and how you can use that to make any sound that comes to mind! + +=== Synthesis Modules + +Firstly, before getting into the synthesis engines, +we should note that certain synthesis modules appear pretty often, +so it would be very good if we covered those first. + +Don't worry, we'll get into the good stuff soon, this section only +serves so we don't have to explain terms like LFO, ADSR, punch, stretch, velocity sensing and so on +every time they appear. +And, as you'll see, no matter how scary Zyn-Fusion might look, the same elements work the same +in every situation, so it's not as daunting as you might think! + +[[synth-osc]] +==== Oscillator editor + +image::imgs/osc-overall.png[] + +Here, you can shape the oscillator that will be used either as a main source of sound or a modulator. + +You'll notice the window is split into three strips, if you will, +that being the strip with two oscillator windows and settings in the middle +and two strips of horizontal faders, along with a scrollbar at the bottom. + +*The first strip* has, from left to right, your starting oscillator, oscillator settings, +and your final oscillator that will be used in your synthesizer of choice, be that ADDSynth or PADSynth. + +The settings in the middle include settings like: + +- the base oscillator (sine, square, triangle, etc) +- the waveshaping function +- the modlation +- the filter + +and so on. +Feel free to move the "shape" fader below the base oscillator settings, +it changes the oscillators in interesting ways! + +*The second strip* has faders which allow you to add harmonics to your sound. +The fader sets the amplitude of the first, second, third harmonic, and so on. +Using the scrollbar, you can go as far as to the 128th. + +.What are harmonics? +NOTE: Harmonics are just your base frequency multiplied by some number. +The second haronic is your base frequency multiplied by 2, for example. +Harmonics, as such, add frequency content to your sound, making it more complex and interesting. +Just don't go too overboard _(but even then, just double-tap the fader to reset it)_! + +*The third strip* allows you to set the phase of each harmonic. + +[[synth-ampset]] +==== General amplitude settings + +image::imgs/amp-control.png[] + +These settings relate to volume. + +Most of them are pretty standard, like volume and panning. +However, there is an interesting property of amplitude in ZynAddSubFX called "punch". + +Punch adds an additional boost in volume at the start of the sound. + +You can edit punch strength (how loud it is), time (how long it lasts) and +stretch (how the length of it changes with the note; +if you set it to 0, it will sound the same on all notes) + +// TODO: Verify this above. Also, what happens for 127? +// TODO: Velocity sensing +// TODO: These differ a bit in the software, it's good to group them all and then explain the differences + +[[synth-freqset]] +==== General frequency settings + +These settings relate to pitch. + +From here, you can set the octave shift and fine-tune settings. + +Fine-tune type offers four options, each being how far the fine-tune can go. +By default, you can go up or down 35 cents. + +// TODO: These differ a bit in the software, it's good to group them all and then explain the differences + +[[synth-filset]] +==== General filter settings + +These settings relate to the applied filter. + +Here, you can set the type, cutoff, resonance, gain, number of stages, and other properties of the filter. + +// TODO: Explain the class, f. track, sense and scale +// TODO: These differ a bit in the software, it's good to group them all and then explain the differences + +[[synth-env]] +==== Envelope settings + +This section allows editing the ADSR envelope. + +NOTE: ADSR stands for "Attack-Decay-Sustain-Release". It is the most common form of envelope out there. + +These envelopes are used everywhere in ZynAddSubFX, +for making alterationgs to amplitude, pitch and frequency. + +You can edit the envelope with the ADSR knobs, which is more precise, +or with the envelope window, where you can move the envelope points around, which is more fun! + +If you don't see the envelope window, click on the "Envelope" text seen above the knobs. + +===== Free mode + +*_"What if I want to make a specific envelope ADSR doesn't allow?"_* - That's entirely possible, +using the free envelope mode! + +To the right of the envelope window, you'll find a couple options that allow you to use the free envelope mode. + +Using the "Free" button, we can enable the free mode. The same button disables you, and asks you to confirm the action, +since free mode points are not remembered if you disable the mode. + +You can add and remove points, freely move them around, and set the sustain point! + +[[synth-lfoset]] +==== LFO settings + +This section allows you to edit the LFO. + +NOTE: LFO stands for "Low Frequency Oscillator". +It is used for any periodic changes you wanna make to your sound, +such as vibrato or tremolo. + +You can alter all the basic settings, such as oscillator type, frequrency, depth, +starting phase, delay, ramp-up and ramp-down time. + +Additionally, you can connect your LFO's frequency to its BPM. +The two number fields, allow setting the numerator and denominator of the BPM, expressed in bars +(e.g. setting it to 1/4 sets the LFO's frequency to match a quarter of a bar). + +[[synth-res]] +==== Resonance editor + +The resonance editor lets you add natural-sounding resonance to your sound. + +.What is resonance? +NOTE:: Resonance is a property of the sound that describes how a certain sound reverberates around certain bands of frequencies. +This makes the sound more full in those bands. Adding resonance is great for sounds like choirs and pads, which usually are more powerful +in certain frequency spaces. + +The editor allows drawing a resonance curve covering the range from around 0.15kHz to around 6.35kHz. diff --git a/UserInterface.adoc b/UserInterface.adoc index ecb3fec..2b3b9ed 100644 --- a/UserInterface.adoc +++ b/UserInterface.adoc @@ -1,9 +1,14 @@ -=== User interface conventions +This section aims to introduce the user to Zyn's UI elements and explain their behaviour in detail. + === Panels + When you run Zyn-Fusion you'll be presented with this window: +// TODO: Color the elements here and use the colors as help, if possible. +// https://github.com/zynaddsubfx/user-manual/pull/22#discussion_r1717684016 image::imgs/bank-read.png[] +// TODO: Each panel a color As you can see it is divided into multiple panels, each with their own use. When navigating between different _views_, you'll consistently see the status panel on top of the window, the navigation panel on the left, and the bottom the @@ -11,34 +16,76 @@ virtual keyboard. In the middle of all of those is the content view which you can expect to change when navigating around Zyn-Fusion -.Status Panel +==== Status Panel + The status panel is where you'll find a few global parameters, the file menu, automation-learn/fine-tuning mode selectors, the panic button, master VU meter, -and the information tray. +and the information tray. It is always situated at the top of Zyn's UI. +We will be reading the status panel right-to-left, since you'll most often be using +the righthand side. Panic button:: When getting started you'll want to be familiar with the panic button as it will instantly silence the audio produced by Zyn, no matter what state the synth is in. It's a safety device in case the sounds go out of control. + Master VU meter:: This meter will display the current audio output levels. It can be useful for a few things: * It'll let you decide on choosing an optimal sound level for your patch. * It might be helpful to find out which instance of Zyn-Fusion is currently making sounds, if you're working with a few of them at once. * It'll help you make sure your MIDI keyboard is connected properly. + +VOLUME slider:: + This slider is used to change the global volume of ZynAddSubFX. + +// TODO: When this changes, use: Allows shifting the input note up/down by a specified amount. +KEY SHIFT slider:: + Allows shifting the relation between which note would be played originally and which is played now. + 64 means no keyshifting. + Setting the key shift below 64 shifts the keys down by the absolute difference between 64 and the key shift value. + Setting it above 64 does the same, except that it shifts the keys up. + For example, 63 shift all the keys down by 1, and 65 shifts them up by 1. + Fine indicator:: This indicator shows when parameters are being finely adjusted. Fine adjust is trigged by holding *SHIFT* and it can be toggled by clicking on the indicator. -Learn indicator:: - This indicator shows when automation learning is in progress. + +// TODO: More info about this in the manual? Do tutorials instead. +BPM panel:: + This panel allows setting the BPM used by the project. This BPM is used + by LFOs whose frequency is defined with a numerator and denominator. + Information Tray:: The information tray will show tooltips about Zyn's parameters, current - parameter values, as well as other status information. image:imgs/info-tray.png[] + parameter values, as well as other status information. Image below. -//// -.Screenshot todo -NOTE: There should be a screenshot for the 'information tray' +// TODO: NRPN is not a thing anymore, we now what the BPM textbox +image:imgs/info-tray.png[] + +// TODO: More info here +MIDI Learn indicator:: + This indicator shows when MIDI contoller learning is in progress. +// TODO: More info here +Learn indicator:: + This indicator shows when automation learning is in progress. + +"FILE" button:: + This button is used to handle all file operations, such as saving, loading and clearing instruments, + MIDI bindings, microtonal settings, etc. + +// TODO: More info here +Stop/Pause/Play buttons:: + Used for the WAV recording feature. + +// TODO: Mixed indentation, link to the config window UI +Zyn-Fusion logo box:: + Clicking on the Zyn-Fusion logo toggles two different windows, + one of them is a wall of text dedicated to all the maintainer of Zyn-Fusion and modern ZynAddSubFX, + while the other one, more important to you as the user, is the configuration window. + +//// .Under Construction NOTE: At a later point is may be worth describing: NRPN - currently non-functional, audio capture (may be worth removing at some point), etc, @@ -64,7 +111,7 @@ unfa: ok, but then - is there a place for the full specification? I think it's //// Commented out since this appears to be discussed later -=== Virtual Keyboard +==== Virtual Keyboard * Virtual keyboard (also usable with QWERTY keyboard - that's important!) * Virtual keyboard knobs @@ -80,79 +127,316 @@ fundamental A: If it does behave that way now, I'd think it would be wise to make it not behave that way in the future. //// -=== Navigation Panel +==== Navigation Panel + +The navigation panel is situated on the left side of the Zyn-Fusion UI and, much like the +status panel, is always present there. + +It is used to change what the main panel is actively presenting. +The options, from top to bottom, include: + +* <<_part_settings, Part settings>> +* The part selection grid +* <<_browser, The browser>> +* <<_mixer, The mixer>> +* <<_kit_settings_panel, Kit settings>> +* The kit selection grid +* <<_macro_learn_panel, The macro learn panel>> +* <<_effects_panel, The effects panel>> +* <<_addsynth, The ADDSynth panel>> +* The ADDSynth voice grid +* <<_subsynth, The SUBSynth panel>> +* <<_padsynth, The PADSynth panel>> + +Each grid houses multiple elements with the same functionality, +and has one lit-up square, which is the currently displayed element. +Each active element has a border around it. +*To view an element in the grid, left-mouse click it.* +*To enable an element in the grid, middle-mouse click it.* + +==== Main panel (Introduction) -The left side of the screen can be used to change what view the content panel is -actively presenting. -The side panel is used to navigate between different parts of the user -interface. -From here you can change the view in the main panel to: +The main panel is where most of the action happens. -* Part settings -* Part Grid - the active part id -* Browser -* Mixer -* Kits -* Kit Grid - the active kit id -* Macro Learn -* Effects -* Add synth -* Add synth Voice Grid - the active voice id -* Sub synth -* Pad synth +The scope of that is, understandably, very large, so it warrants +<<_main_panel, its own section in this part of the manual, visible below>>. -For all of the grid selectors you can change the active id with the left mouse -button or you can enable/disable the selected ID via the middle mouse button. +==== Virtual keyboard panel -=== Main Panel +image::imgs/footer.png[] -Here's where the most of the action happens. -When you start Zyn-Fusion it'll begin by showing you the Browser. -Use the Side Bar to select what should be displayed here. +While it is true that you will most often pass notes to ZynAddSubFX using MIDI, the virutal +keyboard panel exists as a way to pass notes directly from the Zyn-Fusion UI! -There's not much to say about this region of the interface, because its -looks and functions will vary wildly based on the context selected by the -navigation panel. +.How does playing notes from Zyn-Fusion work? +NOTE: You can play notes from Zyn-Fusion either by clicking on the notes in the vritual keyboard in the UI, +or pressing on your computer keyboard, which will trigger the notes the same way as mouse-clicking them! -=== General conventions -The Zyn-Fusion GUI tries to maintain a consistent language through it's -controls. -The ones you'll see most commonly are: +From-left-to-right, the panel features a modulation wheel, the keyboard, a set of parameters, those being +the note velocity, velocity randomness, the octave shift, the MIDI CC value and selection. -* Buttons -* Sliders -* Knobs -* Number fields -* anything else? +=== Main panel -The knobs and sliders can be reset to their default position with a double-click or a middle-mouse-click. +The main panel covers all the core functionality in Zyn-Fusion, +in regard to sound design, effects, mixing, and so on. -=== Using the Keyboard +We'll go over each subpanel from top to bottom as seen in the <<_navigation_panel, navigation panel>>. -Zyn-Fusion lets you use the keyboard in two ways: +==== Part settings -* playing notes with the alpha-numeric keyboard -* accessing special functions with modifier keys +// TODO: Image with colors, or multiple images, if possible -For example you can play a C-4 note by pressing the Q key, or play the C-3 note with the Z key. You can also change the keyboard layout between QWERTY and AZERTY in the Global Settings. +This subpanel is dedicated to setting up each the properties of each part. -// Here should be a reference to an appropriate Global Settings subchapter +.What is a part? +NOTE: A part is a single element in ZynAddSubFX capable of generating sound. +In one part, any of ZynAddSubFX's three synths can be active. +So, think of parts like mini synths inside ZynAddSubFX +which you can use to have multiple layers to sounds, +or have multiple sounds, maybe with different timbres, on one keyboard, +and so on. -TIP: you can learn more about this in the <> chapter. +===== Part enabling and naming -// above is a non-working reference to another chapter. How do we make this work? Related issue: https://github.com/zynaddsubfx/user-manual/issues/3 +This subpanel consists of pairs of a button and a text input box. +The button enables the appropriate part, and the input box allows naming the part. -Holding down Ctrl will temporarily activate Learn mode - any control touched will be assigned to a macro. +===== Instrument settings -// Here should be a reference to chapter about Macro Learn +Here, we set up basic MIDI-related properties of the part. +This includes properties such as the volume, panning, in what range it accepts MIDI notes, +velocity sensing and randomness, key shifting, etc. -Holding down Shift will temporarily activate Fine mode - this will greatly increase the input resolution allowing for more precise manipulation. +The minimum and maximum key knobs are used to set the minimum and maximum key that the part will play. +Additionally, you can use the `Mn` and `Mx` buttons to store the last key ZynAddSubFX accepted as the +minimum and maximum keys. `R` resets the range to cover the full keyboard! +The "CH-" dropdown box is used to select which MIDI channel the part will accept notes from. +Since there are 16 parts and 16 MIDI channels, by default each part is assigned to each channel. +If you layer multiple parts together, you should set them all to the same MIDI channel, so they +play the same notes! + +.Layering sounds +NOTE: If you want to layer multiple parts, set them all to accept notes from the same MIDI channel (usually CH1). +This way, they'll all play the same notes! + +.Live play +NOTE: If you play Zyn-Fusion live using a MIDI keyboard, you can have one instrument on one part of the keyboard, another one on another one, etc. +For example, you can have a bass in range A1-A3, a piano in range A3-A6, and strings in range A6-C7. +This means you can play three instruments not only using one keyboard, but on Zyn-Fusion instance! + +You can also set the polyphony type using the "Poly/Mono/Legato/Latch" dropdown. + +- "Poly" means you can play as many notes as the voice limit allows you to play! Use this mode for any case of stacked notes (e.g. chords). +- "Mono" means you can only play one key. If you play two notes at the same time, only one will actually make a sound (e.g. arppegio). +- "Legato" is similar to "Mono", except that it will shift the frequency from the perviously played note to the current one (e.g. lead instrument). +- "Latch" means that any keys currently playing will keep playing, even when not held down, until a new key, or new keys, are played (e.g. live play). + +You may have noticed that "Poly" can only play as many notes as the voice limit allows. +Keep in mind that, if the voice limit is set to 0, it can a practically infinite number of voices. + +===== Controllers + +// TODO: What are these? What is MIDI CC? How does it work? Append appropriate info to glossary. + +//// +TODO + +Most of these are not covered in detail. +- What happens when they're set to 0 and 127? +- What is the modwheel exponential mode? +- What happens for values of 0 and 127 for these? + For example, how much does the modwheel bend when it's set to 127? + Does it bend by the value dictated by PCH.D? +- As for the sustain CC, how long is the sustain, where is that set? //// -.Documentation Idea -NOTE: It would be great to have an automated method for generating a cheat-sheet -like view for the keybindings like discussed in -https://tex.stackexchange.com/questions/44581/creating-keyboard-layout-diagrams -ISSUE:: https://github.com/zynaddsubfx/user-manual/issues/7 +This section is dedicated to MIDI CC and is useful for automation or live play! + +MIDI CC (Continous Controllers) is, essentially, used to automate certain properties of your MIDI playback. +The ones you should be met with are the MIDI modwheel, filter cutoff, filter resonance and pitch-bending. + +Use the tooltips visible in the information tray to get information about each knob and button. + +.I produce on a DAW. Should I care about these settings? +NOTE: _YES!_ Specifically, you should care about "PCH.D", the pitchbend depth. +In DAWs with MIDI CC automation support (such as Ardour), you can automate pitch-bending, which is very useful. + +===== Portamento + +// TODO: Proportional and auto + +Portamento is a term that describes a pitch-slide from one note to another. + +.When to use it +NOTE: Use portamento whenever you want to play only one note at a time and have a smooth transition between your notes. + +Once enabled, you can change a couple properties of your portamento. + +You can change how long it takes it to slide using the "Time" knob. + +The "THRESH" number field allows you to set a semitone distance at which the portamento takes place. +The `>` / `<` buttons set how the limit behaves. +`>` sets the portamento to be active when the distance between the notes is more than the limit, and vice versa. + +You can change if the portamento slides up or down faster using the "UP/DWN" knob. +If less than the middle value, it will slide down faster than up, and vice versa. + +// TODO: This section, as a whole +===== Scale settings + +This section of the part settings panel is used for making microtonal mappings, so you most likely won't be using it often. + +These are the only settings that is shared by each part. + +==== Browser + +image::imgs/bank-read.png[] + +Allows browsing the ZynAddSubFX collection of ready-made sounds. +It features a search bar and 4 columns, which can all be clicked to be toggled: + +1. *BANK*: The actual preset collection. Hovering over each one shows you where it is in the filesystem. +2. *TYPE*: Allows selecting a specific type of preset. Useful for filtering. +3. *TAG*: Further filtering using tags. +4. *PRESET*: The actual list of presets. + +==== Mixer + +image::imgs/mixer.png[] + +The mixer allows mixing of each part (the part mixer strip) as well as the output signal (labeled as "MASTER", the master mixer strip). + +.The master strip + +The master mixer strip features two vertical segments, +one being the VU meter, +and the other being the vertical global volume fader. +This fader is actually the same one seen in the status panel! + +.The part strip + +From top to bottom, the part strip contains: + +1. A PART ENABLE button, which toggles the part on and off. +2. The same VU meter and volume fader as in the master strip, only applied to the part. +3. Part panning. 64 is the default and is also the middle-point. +4. Active MIDI channel dropdown, identical to the one in the <<_instrument_settings, instrument settings>>. +5. The EDIT button, which sets the current part as the one you can edit in <<_part_settings, part settings>>. + +Even though the part settings offer a volume knob, you can always use the mixer +to have visual feedback on how loud your parts are relative to each other! + +==== Kit settings panel + +image::imgs/kit.png[] + +This panel allows you to effictively configure ZynAddSubFX into a kit. + +// TODO: A part with one ADD/SUB/PAD is actually a part with one kit with one ADD/SUB/PAD + +.What is a kit? +NOTE: Think of a kit as a subsection of a part. Each part has 16 kits, each of which can be assigned an instance of +ADDSynth, SUBSynth and PADSynth, as well as any combation of them. A kit gets its name from the fact that it allows +you to turn any part into a sound kit, with 16 sounds at most. A good example of a kit is a drum kit, where you +set up each drum to be on a different note (e.g. kick drum is on part 1 and plays on C4, snare is on part 2 and plays on C#4, etc). +Another example might be a collection of sound effects. + +The first settings you'll run into, just above the big wall of repeating settings, is three buttons that determine how the part's kits will act. + +- For "NO KITS", only the first kit can be active, while the rest are off +- For "MULTI-KIT", for any played note, every kit that has that note in its key range will play +- For "SINGLE-KIT", for any played note, only the first kit that has that note in its key range will play + +As for the big wall of settings, we've already ran into these settings perviously, in part settings. +They function identically as in the part settings, except that they apply to the kit. +The only new addition is the effect route. + +.The effect route +NOTE: A part has an effect chain consisting of three effects. The order they are processed in is FX1 to FX3. +The effect route dropdown allows setting the starting point of the effect processing for that kit. +By default, a kit starts at FX1, meaning that it goes through all three effects. +There is, of course, an option to not route the kit through the effect chain, in the dropdown. + +==== Macro learn panel + +image::imgs/macro-learn.png[] + +This panel is where all non-MIDI related automation happens! + +Zyn-Fusion gives you the ability to assign almost every knob and fader in the synth to any of the 16 automation slots. +(_"ALMOST every?"_ Yes, the only thing you can't automate with the automation slots are the automation slots!) +Each slot can house 4 different parameters, each of which can be automated with different slopes, meaning that some paramteres can move up, +while others move down, all using the same automation slot! + +*_"So how do I automate a parameter?"_* I hear you ask! +Select the "Learn" button, which is right next to the information tray, at the top of the UI, +and change the value of the parameter you wanna automate. +This will bind it to the active automation slot. You may have noticed there are two types of learning, +which you can see above the parameter automation slopes, those being +"Normal learn" (One slope per parameter), or "Macro learn" (One slope for all move parameters). + +The panel is split in two halves. + +The left half is dedicated to clearing, naming and focusing the automation slot. + +Once you focus an automation slot of your choice, using the triangle button, the right half will display the four automation parameter slopes. + +==== Effects panel + +This panel allows adding effects to your sound. + +There are three types of effects you can add. +We'll list them from right to left, since you'll most commonly be using them in that order: + +.Part insertion effects + +Part insertion effects are added to the part output. +Each part has its own part insertion effects. +The effects are processed in-order (1 through 3). +You can bypass any effect, allowing you to test how the part sounds with and without it. +This is the only type of effect stack that exports with the instrument. + +//// +TODO: Verify the truthfulness of this + +Each effect has three options relating to how the effect process chain happens: + +1. "Next effect" simply takes the whole output of the signal and moves it to the next effect, +or the master, if we're at the last effect. + +2. "Part out" sends the signal straight to the output after being processed by the signal, +ignoring all effects below it. + +3. "Dry out" combines the previous two, sending a copy of the processed signal both to the output +and down to the next element in the effect chain. //// + +.Insertion effects + +Insertion effects allow you to insert any effect to any part, or directly to the output signal +(labeled as "master" in the dropdown menu). There are 8 available slots, which are also processed in-order. + +.System effects + +System effects are quite different from the previous two. +You have four effect slots, which are shared by each part. +What each part doesn't share is the amount of the dry signal sent to each of the effects. +After effect 1 is processed, you can send a certain amount of it to effect 2. +You can then send the outputs of effect 1 and 2 to 3. The same logic applies for effect 4. +You choose how much of the part sound is sent to effects using the faders below the effect dropdown, +and how much of each effect is sent to the next effect using the fader matrix at the bottom of the tab. + +// TODO: When to use each one? + +==== Synthesis engines (Introduction) + +As you probably know, ZynAddSubFX features three synthesis engines. +Of course, they all have a lot to talk about, so they're described in detail in their own separate sections. +Feel free to click on any of them to read more about them! + +The synthesis engines are: + +1. <<_addsynth, ADDSynth, an additive synthesizer.>> +2. <<_subsynth, SUBSynth, a substractive synthesizer.>> +3. <<_padsynth, PADSynth, ZynAddSubFX's quite unique synthesizer, capable of spreading a certain oscillator sound across a wide bandwidth of frequencies.>> diff --git a/UserInterfaceConv.adoc b/UserInterfaceConv.adoc new file mode 100644 index 0000000..9b01619 --- /dev/null +++ b/UserInterfaceConv.adoc @@ -0,0 +1,42 @@ +The Zyn-Fusion GUI tries to maintain a consistent language through its controls. +The ones you'll see most commonly are: + +* Buttons +* Sliders +* Knobs +* Number fields +* Input boxes + +The knobs and sliders can be reset to their default position with a double-click or a middle-mouse click. + +// TODO: No way to reset the number? +Number fields house `+` and `-` buttons which allow incrementing and decrementing the numeric value which the field stores. + +Input boxes can be edited by either left- or right-mouse clicking on the box, and editing is stopped by clicking outside the box. + +=== Using the Keyboard + +Zyn-Fusion lets you use the keyboard in two ways: + +* playing notes with the alpha-numeric keyboard +* accessing special functions with modifier keys + +For example you can play a C-4 note by pressing the Q key, or play the C-3 note with the Z key. You can also change the keyboard layout between QWERTY and AZERTY in the Global Settings. + +// Here should be a reference to an appropriate Global Settings subchapter + +TIP: you can learn more about this in the <> chapter. + +// above is a non-working reference to another chapter. How do we make this work? Related issue: https://github.com/zynaddsubfx/user-manual/issues/3 + +Holding down Ctrl will temporarily activate Learn mode - any control touched will be assigned to a macro. + +// Here should be a reference to chapter about Macro Learn + +Holding down Shift will temporarily activate Fine mode - this will greatly increase the input resolution allowing for more precise manipulation. + +=== Copy-pasting + +Most elements in Zyn-Fusion can be copied and pasted, using the `C` and `P` buttons, usually situated in the top-right corner of the UI element. + +You can copy envelope settings, LFO settings, frequency settings, filter settings, oscillators, modulation settings, whole ADDSynth, SUBSynth and PADSynth patches, and much more! diff --git a/imgs/20180413-143939.png b/imgs/20180413-143939.png deleted file mode 100644 index bd28499..0000000 Binary files a/imgs/20180413-143939.png and /dev/null differ diff --git a/imgs/20180413-144131.png b/imgs/20180413-144131.png deleted file mode 100644 index 807b5e4..0000000 Binary files a/imgs/20180413-144131.png and /dev/null differ diff --git a/imgs/add-synth-modulation-am.png b/imgs/add-synth-modulation-am.png deleted file mode 100644 index 8bcf82b..0000000 Binary files a/imgs/add-synth-modulation-am.png and /dev/null differ diff --git a/imgs/add-synth-modulation-amplitude.png b/imgs/add-synth-modulation-amplitude.png deleted file mode 100644 index 0eb4b03..0000000 Binary files a/imgs/add-synth-modulation-amplitude.png and /dev/null differ diff --git a/imgs/add-synth-modulation-fm.png b/imgs/add-synth-modulation-fm.png deleted file mode 100644 index 8c516d2..0000000 Binary files a/imgs/add-synth-modulation-fm.png and /dev/null differ diff --git a/imgs/add-synth-modulation-frequency.png b/imgs/add-synth-modulation-frequency.png deleted file mode 100644 index bec4b81..0000000 Binary files a/imgs/add-synth-modulation-frequency.png and /dev/null differ diff --git a/imgs/add-synth-modulation-mix.png b/imgs/add-synth-modulation-mix.png deleted file mode 100644 index 1a3080b..0000000 Binary files a/imgs/add-synth-modulation-mix.png and /dev/null differ diff --git a/imgs/add-synth-modulation-none.png b/imgs/add-synth-modulation-none.png deleted file mode 100644 index 0fa903a..0000000 Binary files a/imgs/add-synth-modulation-none.png and /dev/null differ diff --git a/imgs/add-synth-modulation-pm.png b/imgs/add-synth-modulation-pm.png deleted file mode 100644 index 3d8b4ef..0000000 Binary files a/imgs/add-synth-modulation-pm.png and /dev/null differ diff --git a/imgs/add-synth-modulation-pwm.png b/imgs/add-synth-modulation-pwm.png deleted file mode 100644 index 9813214..0000000 Binary files a/imgs/add-synth-modulation-pwm.png and /dev/null differ diff --git a/imgs/add-synth-modulation-ring.png b/imgs/add-synth-modulation-ring.png deleted file mode 100644 index 0262c9c..0000000 Binary files a/imgs/add-synth-modulation-ring.png and /dev/null differ diff --git a/imgs/add-synth-resonance.png b/imgs/add-synth-resonance.png deleted file mode 100644 index 9a54320..0000000 Binary files a/imgs/add-synth-resonance.png and /dev/null differ diff --git a/imgs/add-synth-voice-amplitude-general.png b/imgs/add-synth-voice-amplitude-general.png deleted file mode 100644 index dfcb340..0000000 Binary files a/imgs/add-synth-voice-amplitude-general.png and /dev/null differ diff --git a/imgs/add-synth-voice-amplitude.png b/imgs/add-synth-voice-amplitude.png deleted file mode 100644 index 13a99e4..0000000 Binary files a/imgs/add-synth-voice-amplitude.png and /dev/null differ diff --git a/imgs/add-synth-voice-frequency-general.png b/imgs/add-synth-voice-frequency-general.png deleted file mode 100644 index 2f07297..0000000 Binary files a/imgs/add-synth-voice-frequency-general.png and /dev/null differ diff --git a/imgs/add-synth-voice-frequency.png b/imgs/add-synth-voice-frequency.png deleted file mode 100644 index deb9310..0000000 Binary files a/imgs/add-synth-voice-frequency.png and /dev/null differ diff --git a/imgs/add-synth-voice-list.png b/imgs/add-synth-voice-list.png deleted file mode 100644 index e326ca8..0000000 Binary files a/imgs/add-synth-voice-list.png and /dev/null differ diff --git a/imgs/add-synth.png b/imgs/add-synth.png index 2f798e5..2e211b9 100644 Binary files a/imgs/add-synth.png and b/imgs/add-synth.png differ diff --git a/imgs/amp-control.png b/imgs/amp-control.png index 750c958..e3e99db 100644 Binary files a/imgs/amp-control.png and b/imgs/amp-control.png differ diff --git a/imgs/bank-read.png b/imgs/bank-read.png index 8c550e4..6c69c76 100644 Binary files a/imgs/bank-read.png and b/imgs/bank-read.png differ diff --git a/imgs/env-filter.png b/imgs/env-filter.png deleted file mode 100644 index f805c9e..0000000 Binary files a/imgs/env-filter.png and /dev/null differ diff --git a/imgs/env-frequency.png b/imgs/env-frequency.png deleted file mode 100644 index 0fad205..0000000 Binary files a/imgs/env-frequency.png and /dev/null differ diff --git a/imgs/env.png b/imgs/env.png deleted file mode 100644 index fb48d6e..0000000 Binary files a/imgs/env.png and /dev/null differ diff --git a/imgs/filter-analog.png b/imgs/filter-analog.png deleted file mode 100644 index 29df88a..0000000 Binary files a/imgs/filter-analog.png and /dev/null differ diff --git a/imgs/filter-comb.png b/imgs/filter-comb.png deleted file mode 100644 index 6a81e8e..0000000 Binary files a/imgs/filter-comb.png and /dev/null differ diff --git a/imgs/filter-formant.png b/imgs/filter-formant.png deleted file mode 100644 index 0c506f3..0000000 Binary files a/imgs/filter-formant.png and /dev/null differ diff --git a/imgs/filter-moog.png b/imgs/filter-moog.png deleted file mode 100644 index af9a8c8..0000000 Binary files a/imgs/filter-moog.png and /dev/null differ diff --git a/imgs/filter-svf.png b/imgs/filter-svf.png deleted file mode 100644 index 6e3cf2c..0000000 Binary files a/imgs/filter-svf.png and /dev/null differ diff --git a/imgs/flow_add_voice.png b/imgs/flow_add_voice.png deleted file mode 100644 index 67145a5..0000000 Binary files a/imgs/flow_add_voice.png and /dev/null differ diff --git a/imgs/footer.png b/imgs/footer.png new file mode 100644 index 0000000..32e5ab6 Binary files /dev/null and b/imgs/footer.png differ diff --git a/imgs/frequency-general.png b/imgs/frequency-general.png deleted file mode 100644 index 3be7993..0000000 Binary files a/imgs/frequency-general.png and /dev/null differ diff --git a/imgs/frequency.png b/imgs/frequency.png deleted file mode 100644 index 0195b64..0000000 Binary files a/imgs/frequency.png and /dev/null differ diff --git a/imgs/info-tray.png b/imgs/info-tray.png index 3240601..8432bba 100644 Binary files a/imgs/info-tray.png and b/imgs/info-tray.png differ diff --git a/imgs/kit.png b/imgs/kit.png index c06c446..da48f12 100644 Binary files a/imgs/kit.png and b/imgs/kit.png differ diff --git a/imgs/lfo.png b/imgs/lfo.png deleted file mode 100644 index 32cd414..0000000 Binary files a/imgs/lfo.png and /dev/null differ diff --git a/imgs/logo.png b/imgs/logo.png deleted file mode 100644 index b935474..0000000 Binary files a/imgs/logo.png and /dev/null differ diff --git a/imgs/macro-learn.png b/imgs/macro-learn.png new file mode 100644 index 0000000..528355a Binary files /dev/null and b/imgs/macro-learn.png differ diff --git a/imgs/mixer.png b/imgs/mixer.png new file mode 100644 index 0000000..18fd355 Binary files /dev/null and b/imgs/mixer.png differ diff --git a/imgs/osc-overall.png b/imgs/osc-overall.png index 8ab1c48..eeb04f3 100644 Binary files a/imgs/osc-overall.png and b/imgs/osc-overall.png differ diff --git a/imgs/osc-tight.png b/imgs/osc-tight.png deleted file mode 100644 index 2c5f1da..0000000 Binary files a/imgs/osc-tight.png and /dev/null differ diff --git a/imgs/pad-synth.png b/imgs/pad-synth.png index 95f9b6c..723b936 100644 Binary files a/imgs/pad-synth.png and b/imgs/pad-synth.png differ diff --git a/imgs/part-settings-button.png b/imgs/part-settings-button.png deleted file mode 100644 index 637594f..0000000 Binary files a/imgs/part-settings-button.png and /dev/null differ diff --git a/imgs/part-settings-controllers.png b/imgs/part-settings-controllers.png deleted file mode 100644 index ea474c5..0000000 Binary files a/imgs/part-settings-controllers.png and /dev/null differ diff --git a/imgs/part-settings-instrument.png b/imgs/part-settings-instrument.png deleted file mode 100644 index ee77468..0000000 Binary files a/imgs/part-settings-instrument.png and /dev/null differ diff --git a/imgs/part-settings-labelenable-close.png b/imgs/part-settings-labelenable-close.png deleted file mode 100644 index e6bc655..0000000 Binary files a/imgs/part-settings-labelenable-close.png and /dev/null differ diff --git a/imgs/part-settings-labelenable.png b/imgs/part-settings-labelenable.png deleted file mode 100644 index 3cf0962..0000000 Binary files a/imgs/part-settings-labelenable.png and /dev/null differ diff --git a/imgs/part-settings-portamento.png b/imgs/part-settings-portamento.png deleted file mode 100644 index 8af29ff..0000000 Binary files a/imgs/part-settings-portamento.png and /dev/null differ diff --git a/imgs/part-settings-scale.png b/imgs/part-settings-scale.png deleted file mode 100644 index c24d5e9..0000000 Binary files a/imgs/part-settings-scale.png and /dev/null differ diff --git a/imgs/part-settings-selection.png b/imgs/part-settings-selection.png deleted file mode 100644 index 4bbc924..0000000 Binary files a/imgs/part-settings-selection.png and /dev/null differ diff --git a/imgs/save-instrument.png b/imgs/save-instrument.png deleted file mode 100644 index 9602acc..0000000 Binary files a/imgs/save-instrument.png and /dev/null differ diff --git a/imgs/settings-bank-roots.png b/imgs/settings-bank-roots.png deleted file mode 100644 index d5cb6b3..0000000 Binary files a/imgs/settings-bank-roots.png and /dev/null differ diff --git a/imgs/settings-global.png b/imgs/settings-global.png deleted file mode 100644 index 489d8be..0000000 Binary files a/imgs/settings-global.png and /dev/null differ diff --git a/imgs/settings-preset-roots.png b/imgs/settings-preset-roots.png deleted file mode 100644 index 9f3022b..0000000 Binary files a/imgs/settings-preset-roots.png and /dev/null differ diff --git a/imgs/sub-synth.png b/imgs/sub-synth.png index 7588894..05372b4 100644 Binary files a/imgs/sub-synth.png and b/imgs/sub-synth.png differ diff --git a/imgs/unused/env.png b/imgs/unused/env.png new file mode 100644 index 0000000..98b0ded Binary files /dev/null and b/imgs/unused/env.png differ diff --git a/imgs/unused/filter-analog.png b/imgs/unused/filter-analog.png new file mode 100644 index 0000000..01f9f96 Binary files /dev/null and b/imgs/unused/filter-analog.png differ diff --git a/imgs/unused/filter-formant-vis.png b/imgs/unused/filter-formant-vis.png new file mode 100644 index 0000000..8cc5097 Binary files /dev/null and b/imgs/unused/filter-formant-vis.png differ diff --git a/imgs/unused/filter-formant.png b/imgs/unused/filter-formant.png new file mode 100644 index 0000000..d63b059 Binary files /dev/null and b/imgs/unused/filter-formant.png differ diff --git a/imgs/unused/filter-svf.png b/imgs/unused/filter-svf.png new file mode 100644 index 0000000..099061f Binary files /dev/null and b/imgs/unused/filter-svf.png differ diff --git a/imgs/unused/lfo.png b/imgs/unused/lfo.png new file mode 100644 index 0000000..540879b Binary files /dev/null and b/imgs/unused/lfo.png differ diff --git a/imgs/unused/logo.png b/imgs/unused/logo.png new file mode 100644 index 0000000..6525ebd Binary files /dev/null and b/imgs/unused/logo.png differ diff --git a/imgs/unused/osc-tight.png b/imgs/unused/osc-tight.png new file mode 100644 index 0000000..a6c9762 Binary files /dev/null and b/imgs/unused/osc-tight.png differ diff --git a/imgs/unused/part-settings-button.png b/imgs/unused/part-settings-button.png new file mode 100644 index 0000000..872e47c Binary files /dev/null and b/imgs/unused/part-settings-button.png differ diff --git a/imgs/unused/part-settings-controllers.png b/imgs/unused/part-settings-controllers.png new file mode 100644 index 0000000..cd66d00 Binary files /dev/null and b/imgs/unused/part-settings-controllers.png differ diff --git a/imgs/unused/part-settings-instrument.png b/imgs/unused/part-settings-instrument.png new file mode 100644 index 0000000..31a83d3 Binary files /dev/null and b/imgs/unused/part-settings-instrument.png differ diff --git a/imgs/unused/part-settings-labelenable-close.png b/imgs/unused/part-settings-labelenable-close.png new file mode 100644 index 0000000..28c5fd9 Binary files /dev/null and b/imgs/unused/part-settings-labelenable-close.png differ diff --git a/imgs/unused/part-settings-labelenable.png b/imgs/unused/part-settings-labelenable.png new file mode 100644 index 0000000..dc28b95 Binary files /dev/null and b/imgs/unused/part-settings-labelenable.png differ diff --git a/imgs/unused/part-settings-portamento.png b/imgs/unused/part-settings-portamento.png new file mode 100644 index 0000000..8d82f80 Binary files /dev/null and b/imgs/unused/part-settings-portamento.png differ diff --git a/imgs/unused/part-settings-scale.png b/imgs/unused/part-settings-scale.png new file mode 100644 index 0000000..2140525 Binary files /dev/null and b/imgs/unused/part-settings-scale.png differ diff --git a/imgs/unused/part-settings-selection.png b/imgs/unused/part-settings-selection.png new file mode 100644 index 0000000..db0ddd3 Binary files /dev/null and b/imgs/unused/part-settings-selection.png differ diff --git a/imgs/unused/settings-bank-roots.png b/imgs/unused/settings-bank-roots.png new file mode 100644 index 0000000..9c49ebb Binary files /dev/null and b/imgs/unused/settings-bank-roots.png differ diff --git a/imgs/unused/settings-global.png b/imgs/unused/settings-global.png new file mode 100644 index 0000000..97c231b Binary files /dev/null and b/imgs/unused/settings-global.png differ diff --git a/imgs/unused/settings-preset-roots.png b/imgs/unused/settings-preset-roots.png new file mode 100644 index 0000000..4730f85 Binary files /dev/null and b/imgs/unused/settings-preset-roots.png differ diff --git a/imgs/virtual-keyboard.png b/imgs/virtual-keyboard.png deleted file mode 100644 index b0e7b5b..0000000 Binary files a/imgs/virtual-keyboard.png and /dev/null differ diff --git a/ADDsynth.adoc b/unused/ADDsynth.adoc similarity index 99% rename from ADDsynth.adoc rename to unused/ADDsynth.adoc index 5698d6f..9849194 100644 --- a/ADDsynth.adoc +++ b/unused/ADDsynth.adoc @@ -160,7 +160,7 @@ image::imgs/add-synth-voice-amplitude-general.png[] - *Pan:* Panning. (100% to the left is random). - *Delay:* delay before the voice starts. - *Bypass GL Filter:* If the voice signal bypasses the global filter. -- *F. Ctl Bypass:* If the voices filter is not affected by cutoff midi CC +- *F. Ctl Bypass:* If the voices filter is not affected by cutoff MIDI CC - *RESON:* Enable/Disable the resonance of the voice. ===== Frequency diff --git a/FilterModule.adoc b/unused/FilterModule.adoc similarity index 99% rename from FilterModule.adoc rename to unused/FilterModule.adoc index 0ae6262..0ec9962 100644 --- a/FilterModule.adoc +++ b/unused/FilterModule.adoc @@ -86,6 +86,6 @@ To accomplish that apply it as voice filter to a burst of noise. But make sure the amplitude envelope doesn't go too fast to zero as that would turn off the voice. If F.Track is 100% it's frequencies are proportional to the pitch. To keep in tune you may set Scale to 0 (no velocity impact) -and enable "F. Ctl Bypass" in the voices Amplitude General Settings (no midi cc impact) +and enable "F. Ctl Bypass" in the voices Amplitude General Settings (no MIDI CC impact) ====== diff --git a/Goals.adoc b/unused/Goals.adoc similarity index 96% rename from Goals.adoc rename to unused/Goals.adoc index e27d170..a93c596 100644 --- a/Goals.adoc +++ b/unused/Goals.adoc @@ -1,5 +1,7 @@ === Goals of this User Manual -If we want to create a decent user manual, we need t understand why is it needed, who is going to use it and what do they expect. Let's first try to see who and why would want to read the user manual and what would they need to be satisfied with their experience. + +If we want to create a decent user manual, we need to understand why is it needed, who is going to use it and what do they expect. Let's first try to see who and why would want to read the user manual and what would they need to be satisfied with their experience. + ## Who will read it - and what for? * Potential new experienced users - to determine if Zyn-Fusion is the right tool for them, to see the limitations and possibilities of Zyn-Fusion - to see if it's worth dedicating time and money to integrate it in their workflow, @@ -49,7 +51,6 @@ $ import -window "ZynAddSubFX 3.0.3" Zyn.png $ display Zyn.png -------------------------------------------------------------------------------- - As long as the default Zyn-Fusion window size (or proportions are not going to change we can simply run `zynaddsubfx` to prepare a screenshot. If this is subject to change we could override the window size with another command. @@ -84,5 +85,5 @@ The only thing that changes is the subdirectory name and file contents. Thus ref -------------------------------------------------------------------------------- - + The standard _A B C D_ names might be changed if something else proves to be more convenient. They key is to keep this consistent after a scheme is picked, or the system will break, will require tons of manual labor and we will gain nothing. diff --git a/Kits.adoc b/unused/Kits.adoc similarity index 100% rename from Kits.adoc rename to unused/Kits.adoc diff --git a/OscillatorModule.adoc b/unused/OscillatorModule.adoc similarity index 100% rename from OscillatorModule.adoc rename to unused/OscillatorModule.adoc diff --git a/PartSettings.adoc b/unused/PartSettings.adoc similarity index 100% rename from PartSettings.adoc rename to unused/PartSettings.adoc diff --git a/PresetsAndBanks.adoc b/unused/PresetsAndBanks.adoc similarity index 100% rename from PresetsAndBanks.adoc rename to unused/PresetsAndBanks.adoc diff --git a/Settings.adoc b/unused/Settings.adoc similarity index 100% rename from Settings.adoc rename to unused/Settings.adoc diff --git a/SynthesizerModules.adoc b/unused/SynthesizerModules.adoc similarity index 100% rename from SynthesizerModules.adoc rename to unused/SynthesizerModules.adoc