giglad icon

Giglad Documentation

A guide for using the arranger keyboard software


Introduction

Giglad is an arranger keyboard software for PC and MAC. It allows you to create your own styles(e.g. 8 Beat, 16 Beat, Slow Rock, Waltz, Tango, Samba, etc) which can be used later to either play live using a midi keyboard controller or create songs via a scripting language very fast and easy. The great benefit of giglad when compared with physical keyboard arrangers is that is using virtual instruments to produce audio. As such, the sound gets to be high quality and on top of that the the musicians can make use of the countless plug-ins which can be found over the internet.

Due to licensing reasons, giglad is distributed without any virtual instruments. The user needs to take care of creating his own library of sounds which will be used in his styles. There are awesome virtual instruments on the internet which can be downloaded for free and others which must be purchased. It is up to the user to decide what instruments he will be using. This may sound as a restriction but it also comes with a great advantage: Each user of giglad has a unique sound result.

Giglad is distributed without any build-in styles but provides all the necessary tools for the user to create his own unique styles as easy and fast as possible. Additionally, giglad can read and play Yamaha SFF2 and SFF3 styles.

The following guide describes the full functionality and all the features of giglad without taking into account licensing restrictions. If you are using the FREE or LITE version of the software, you may have limited access or not access at all to some of the features that are explained in this guide.

The shortcuts that are described in this manual are meant for Windows users. MAC users should adapt to the MAC O/S, for example Ctrl+C will be Command + C for MAC users.

Quick Start

A picture worth a thousand words which means that a video must worth a million words. Watch the quick start guide below to get familiar with the basic functionality of the software. Please mind that the guide has been created with an earlier version of giglad and it does not reflect 100% the current state of the software but the core functionality remains.


Preperations

Before downloading, purchasing or even installing giglad you should prepare your environment (i.e. your PC or MAC and your external hardware). The following describe what you need to take under consideration in order to use the software effectively.

Virtual Instruments

Giglad supports VST2 and VST3 in Windows and VST3 and Audio Units in MAC plug-ins as well as soundfonts in both Windows and MAC. You need to download a few plug-ins and/or soundfonts to be able to create a decent style. There are many high quality free VST/VST3/Audio Units plug-ins and soundfonts on the internet which will help you get started. Some of them come with an installer and others are simply files which must be placed in a directory where giglad can find them. Please be careful when downloading VSTs to select the x64 version of the plug-in.

Sound Card

It is recommended to have a decent sound card which will allow you to play live and with no latency. For Windows, giglad supports the default Windows Audio Driver but for better results, it is recommended to use ASIO Interface Technology by Steinberg Media Technologies GmbH. For MAC, core audio is of course supported.

Midi Controller

If you wish to play live then you need at least one midi keyboard controller which will be used as the arranger keyboard. In theory, you can use your PC keyboard but that would be quite inefficient. With a midi controller not only you will be able to play your music (i.e. switching chords with your left hand, and playing solo with your right hand) but also controlling giglad by starting/stopping the style, changing the tempo and many more.

Main Screen

The main screen of giglad is divided into 3 windows:

  • The top window from where you can select the Arranger to play live, the Style Editor to create a new or edit an existing style, the Song Editor to create a new or edit an existing song and the Memory Pool which allows you to efficiently use plug-ins.
  • The bottom-left window from where you can view and manipulate your styles, your programs, your presets, your songs and your recordings. It also includes the Midi Editor.
  • The bottom-right window which contains the Output Window where important messages are displayed and the Performance window where you can monitor the behavior of giglad's audio engine.



The bottom windows can be detached from the main user interface by clicking on the corresponding menu View item. At the top right corner of the screen the sample rate and the buffer size of your driver's sound card is displayed.

Settings

Program settings can be accessed via the menu Tools→Settings... and they are separated into different categories as shown below. Modifying the settings is one of the first steps someone needs to undertake the first time the program is about to be used. Some of these have default values but others (e.g. the search directories of the plug-ins) need to be set otherwise you will be unable to progress.

Styles File Manager

Here you can select the parent directory which giglad will use to create your styles and find the existing ones. It can change any time in the future and your styles can easily be moved and renamed so do not worry too much. You may leave the default value as it is. You may not type directly into the edit box. Use the button on the right side of the edit box and select the directory from there.


You are advised to keep back ups of your styles as giglad does not do this for you.

Programs File Manager

Here you can select the parent directory which giglad will use to create your programs and find the existing ones. It can change any time in the future and your programs can easily be moved and renamed so do not worry too much. You may leave the default value as it is. You may not type directly into the edit box. Use the button on the right side of the edit box and select the directory from there.


You are advised to keep back ups of your programs as giglad does not do this for you.

Presets File Manager

Here you can select the parent directory which giglad will use to save your presets and find the existing ones. It can change any time in the future and your presets can easily be moved and renamed so do not worry too much. You may leave the default value as it is. You may not type directly into the edit box. Use the button on the right side of the edit box and select the directory from there.


You are advised to keep back ups of your presets as giglad does not do this for you.

Songs File Manager

Here you can select the parent directory which giglad will use to create your songs and find the existing ones. It can change any time in the future and your songs can easily be moved and renamed so do not worry too much. You may leave the default value as it is. You may not type directly into the edit box. Use the button on the right side of the edit box and select the directory from there.


You are advised to keep back ups of your songs as giglad does not do this for you.

Recordings File Manager

Here you can select the parent directory which giglad will use to save your recordings and find the existing ones. It can change any time in the future and your recordings can easily be moved and renamed so do not worry too much. You may leave the default value as it is. You may not type directly into the edit box. Use the button on the right side of the edit box and select the directory from there.


You are advised to keep back ups of your recordings as giglad does not do this for you.

Chords Progressions File Manager

Here you can select the parent directory which giglad will use to create your chords progressions and find the existing ones. It can change any time in the future and your chords progressions can easily be moved and renamed so do not worry too much. You may leave the default value as it is. You may not type directly into the edit box. Use the button on the right side of the edit box and select the directory from there.


You are advised to keep back ups of your chords progressions as giglad does not do this for you.

Audio Device

Here you must select the audio device which will be used to produce audio. In Windows by default, the Windows Audio type will be selected. It is advised to switch to ASIO if you have a sound card which supports it. In MAC the Core Audio will be selected. Additionally, if the driver of the card allows it, you can change the Sample Rate and the Buffer Size. The smaller the buffer size the lower the latency but also higher processing power requirements.

You can also specify the Output channels in which the audio will be sent. Giglad only supports Stereo output at the moment, so you may choose only two channels.

If you wish to use external input devices such as a microphone or an electric guitar, you must also specify the number of input channels which you are going to use. Do no create more input channels than what you need as this impacts the performance. If you are not using any input devices, set this to 0.

The Processing Threads is the number of threads that the audio engine will use. Spreading the audio process to multiple system cores, can surely help to improve your system performance. If you hear sound glitches or notice in the Performance Window that your system works on its limits, you should consider increasing the number of these threads.

The Control Panel button will display your sound's card configuration window and it is obviously different for different sound cards.

Midi Device

Here you must enable the midi input keyboard controllers you wish to use to play and control giglad. Your midi controllers should be preferably connected to your system via USB. Before using a device, you need to enable it by clicking on the corresponding check box button. After enabling one device, you can verify that giglad properly recognizes it by sending a midi event(note or control) using your midi controller and see if the "Signal" column reacts to it. If everything works as expected you will see the Signal column green highlighted as seen in the picture and the relative information of the event you have sent.

You should also select a "role" for your midi controller. If you have only one midi controller then the role should always be "Main". Even if you have more than one controller, you may select only one of them to have the "Main" role. If you have more than one devices, you can assign one of them to have the role "Chords". A midi device with this role will be used only to identify chords. In that case, you will want to move the splitter of the main keyboard in such a way to have the whole keyboard as melody because the chords will be received from a separate device (The one with the role "Chords"). If you have a foot midi controller, you can assign the role "Pedal" which will allow you to switch chords by using your foot. All other devices should have the role "Aux". All enabled midi devices, no matter their role, can send control messages to giglad in order to start, stop, switch sections etc.

Plug-ins General

Only one options here at the moment which defines if giglad will perform a plug-ins scanning when the program starts.

VST Plug-ins

(Windows Only)

Here you need to select one or more directories where your VST plug-ins can be found. To add a directory, click on the Add button and select a directory which contains one or more VST plug-ins. To remove a directory, select it from the list and click on the Remove button. Please mind that no default directory is provided and the list is by default initially empty.

After defining the directories, you need to press the scan button in order for the scan process to start. When completed, you will see the list of all the VST plug-ins which have been found and can be used.

Giglad does not monitor your VST directories. If you add or remove a plug-in from your system you need to perform a manual scan for the list to be updated. If you add a new plug-in to an existing directory then only scan is required. If you remove a plug-in then you will have to re-scan to see this removed from the list.

Windows Only: Many plug-ins do not have DPI awareness. In your PC display settings, if your "Change the size of text, apps and other items" is something different than 100% then you might be interested in this setting. This concerns the plug-in window and if at any time you notice that a plug-in's window is either too small or either too big, you may try switch the corresponding option on.


You can perform a scan or a re-scan without visiting the settings window from the menu Tools→Plugins→Scan

VST3 Plug-ins

(Windows And MAC)

Please refer to the section of VST Plug-ins. The functionality is exactly the same and the only thing that changes is that you must select the directories of your VST3 plug-ins instead of VST.

Audio Units Plug-ins

(MAC Only)

Please refer to the section of VST Plug-ins. The functionality is quite the same but you may not select search directories for the audio units. Giglad only searches for them where the MAC O/S defines they should be.

Soundfonts

Here you need to select one or more directories where your soundfonts can be found. To add a directory, click on the Add button and select a directory which contains one or more soundfonts. To remove a directory, select it from the list and click on the Remove button. Giglad comes by default with the soundfont "FluidR3 GM" which is installed in \ProgramData\giglad\Soundfonts and this is the default search directory.

After defining the directories, you need to press the Re-scan button in order for the scan process to start. When completed, you will see the list of all the soundfonts which have been found and can be used along with information regarding these soundfonts.

Giglad does not monitor your soundfonts directories. If you add or remove a soundfont file from your system you need to perform a manual Re-scan for the list to be updated.


You can perform a re-scan without visiting the settings window from the menu Tools→Soundfonts→Re-scan

Arranger

The General settings in the Arranger currently has a single option.

  • When program starts:
    - Initialise everything: Giglad will start on its default state (no style loaded, no instruments, etc).
    - Recall last state: Giglad will save the state of the arranger (such as the selected style, the selected instruments in your right hand, the mixer state etc) when it exits and will reinstate it when the program restarts.
    - Set other preset...: Giglad will start by loading a preset of your choice

The Chords Detection settings in the Arranger affect the way the software detects the chords while playing live. You can experiment with these settings if you are an advanced user, otherwise it is recommended to leave the default values as they are.

  • Mode: The different chord detection modes are described in in detail at the end of this section.
  • Midi Input Channel: This is set to "All" by default which means that the arranger will detect chords which come from the corresponding midi device by any channel. You may restrict that by selecting only the midi channel that you wish to be used to detect the chords.
  • Precision (in beats): The arranger clock is using midi ticks. A style for example with PPQ=768 has 768 ticks in a quarter note. And to that extend a measure with time signature 4/4 has 768x4 = 3072 ticks. The default value of precision 1/2 means that if you switch a chord at lets say 99 ticks this will actually be applied at 768/2 = 384 ticks. Do not think for a second that the higher the precision the better. It depends on the style and on how good you are with the tempo.
  • Note on delay: This is the time in milliseconds that the chord detector waits before identifying a chord when a note goes down in the midi controller.
  • Note off delay: This is the time in milliseconds that the chord detector waits before identifying a chord when a note goes up in the midi controller. This value is ignored if the Suppress chord detection when note goes off is ticked.
  • Suppress chord detection when note goes off: If this is ticked there will be no chord detection when notes go off in the midi controller. With simple words if you play the chord Am for example and then you move your hand away from the midi controller, the arranger will still be playing the Am chord.
  • Preserve last detected chord when notes "on" do not define a valid chord: If for example you play C-E-G (Cmaj) and then you play only C, because C does not define a valid chord the arranger will keep playing Cmaj if this options is on.



The Transposition options give you some additional flexibility on the way the transposition will behave in your arranger.

  • Apply transposition on input: In this case the transposition is applied directly to your midi keyboard controller. if you play for example the note C4 in your midi keyboard controller with transposition +2, the note D4 will be highlighted in the Arranger's Virtual Keyboard and you will be hearing the note D4 coming out. Respectively if you play a chord like Cmaj7 in you your midi keyboard controller with transposition +2 you will see a chord Dmaj7 highlighted in your Arranger's Virtual Keyboard and you will be hearing the chord Dmaj7 by your style.
  • Apply transposition on output: In this case the transposition is applied only to the output. if you play for example the note C4 in your midi keyboard controller with transposition +2, the note C4 will also be highlighted in the Arranger's Virtual Keyboard but you will be hearing the note D4 coming out. Respectively if you play a chord like Cmaj7 in you your midi keyboard controller with transposition +2 you will see a chord Cmaj7 highlighted in your Arranger's Virtual Keyboard but you will be hearing the chord Dmaj7 by your style.

Many midi keyboard controllers enhance the transposition functionality. So be careful because if you have transport from both your midi keyboard controller and from giglad the transpositions will be added. +3 transposition in the controller and -2 transposition in the giglad will result +1 transposition.

The following Modes are supported by giglad:

  • Single Finger: Allows detection of the four chords major, minor, seventh and minor seventh by pressing a minimum number of key notes.
For a major chord, press the root note key only.
For a minor chord, press the root key and a black note key to its left.

For a seventh chord, press the root key and a white note key to its left.
For a minor seventh chord, press the root key and both a black and a white note key to its left.
  • Fingered: At least three key notes need to be pressed(with the exception of 1+5 and 1+8) in order for a chord to be detected. This is the default mode and the one being recommended for playing in giglad. It recognizes the various chord types as listed on any hardware arranger manual or in the web.
  • Fingered Incomplete: Detects all the chords in a similar way with Fingered but additionally it will detect chords with one or two key notes:
    - A single note key will result a major of the note key being pressed (exactly as the Single Finger).
    - Two key notes will result the closest corresponding major, minor or sus4 chord. For example C+E will result Cmaj, C+Eb will result Cm, C+F will result Csus4.
  • Fingered On Bass: Detects all the chords in a similar way with Fingered but the lowest note played will be considered a bass note allowing you to play bass chords. For example G-E-C will result the C/G chord. Only tracks which have CTA Shift [Bass] will be affected by this mode. For Yamaha Styles this is set automatically to the bass track. But for custom styles you must set this CTA to the track which plays the bass.
  • Multi Finger: It is using all Single Finger, Fingered and Fingered Incomplete modes in order to detect a chord.
  • Full Keyboard: Detects chords in the full range of the main midi keyboard controller. At least three key notes need to be pressed and if there is an interval of more then 5 semitones between two key notes, all the notes at the right will be ignored. The "Chords" "Melody" ranges remain visible at the top of the virtual keyboard as they define the default ranges of the Left and Right hand tracks in melody.

Style Editor

Here you can select the counting in while recording in the Style Editor and if you wish to auto snap while recording (i.e. auto quantize).

Song Editor

Here you can change the Song's Editor Font size and you have the option for the Line Numbers at the left of the editor to be visible or not.

Mixer

Here you can select which groups will be visible on the Arranger Mixer.

Midi Controls

Midi Controls allow you to map some, if not all, of your controls of your midi keyboard controllers with the giglad functionality. While playing live, you will wish to stay away from the mouse and keyboard as much as possible. By mapping conveniently your controls, you will be able to start/stop, change the tempo, change a style and much more, directly from your midi controllers without interacting with giglad UI at all.

All the enabled midi controllers are placed in tabs and you can assign control or note events to them. You can even assign the same action to different controllers which means for example that you may start giglad by 2 different midi controllers. As the note suggests, you need to be extra careful when you assign notes. An event is identified by its type(note or control), number(e.g note C3) and the channel that it is sent. If for example you assign a pad which sends a note event C3 at channel 1 and your main keyboard also sends the note events at channel 1, then when you play C3 on your keyboard instead of listening the corresponding note, a midi control will be triggered.

The Midi Controls are divided into 2 main types. The buttons and the faders. A button of a midi controller will give a value of 127 (when pressed) and a value of 0 (when unpressed). A fader will give values between 0-127. Notes are considered as buttons. The best way to assign a value is to give the focus to the corresponding control by placing the mouse cursor inside it and then press the button or move the fader from your midi keyboard controller. To de-assign a value simply delete the assigned one. You cannot assign the same control to different actions. The newest assign value will replace the old.


  • Prepare [Button]: This is a very useful button and its purpose is explained in detail in the Bank Memories section.
  • Accept [Button]: This is like the Return button of your PC keyboard. It does nothing by its own but it is combined with other midi controls.
  • Accept [Button]: This is like the Return button of your PC keyboard. It does nothing by its own but it is combined with other midi controls.
  • Fade Up [Button]: This will send +1 of the previous fader that was used. For example if you are choosing styles via the corresponding control fader, by pressing this button you will go to the next style.
  • Fade Down [Button]: This will send -1 of the previous fader that was used. For example if you are choosing styles via the corresponding control fader, by pressing this button you will go to the previous style.
  • Play [Button]: This will cause the Arranger to start playing. It will do nothing if the Arranger is already playing.
  • Toggle Play [Button]: This will cause the Arranger to start playing if not already and to stop if already playing.
  • Sync Play [Button]: This will set the Sync Play on/off.
  • Stop [Button]: This will cause the Arranger to stop playing. It will do nothing if the Arranger is not playing.
  • Tempo [Fader]: This controls the tempo of the Arranger. Because the tempo has a range of 32-288 and the keyboard midi controller can only send messages in the range of 0-127, there is no immediate correspondence. If the fader has a value of 0 the tempo will be 32 and if the fader has a value of 127 then the tempo will be 288. The values between are calculated accordingly. Hence, a change in the fader +1 does not mean tempo +1. It will probably mean +2 or +3.
  • Tempo Up[Button]: This will increase the tempo of the Arranger by one. Does not have the same restrictions with the tempo fader.
  • Tempo Down[Button]: This will decrease the tempo of the Arranger by one. Does not have the same restrictions with the tempo fader.
  • Transposition [Fader]: This controls the transposition of the Arranger.
  • Transposition Up[Button]: This will increase the transposition of the Arranger by one.
  • Transposition Down[Button]: This will decrease the transposition of the Arranger by one.
  • Prev Bank[Button]: This will set the previous bank active.
  • Next Bank[Button]: This will set the next bank active.
  • Bank Memory 1, 2, 3...16 [Button]: This will set the corresponding memory of the bank active.
  • Select Style [Fader]: This allows you to select a style and set it to the Arranger. When moving the fader, the Styles Explorer gets the focus and the selection on it is moving along with the fader. When you see the style you wish to select you must press the Accept control button (You must assign this as well) in order for this to be set to the Arranger. You can also press the Accept control button when a directory is selected in order for this to expand or collapse. Because the faders of Midi Controllers usually have great sensitivity, you will wish to combine this with the Fade Up - Fade Down control buttons. The best practice is first using the fader to get ownership if not already, and then use the Fade Up - Fade Down control buttons to move slowly between the files.
  • Select Program LH1 [Fader]: Works in exactly the same way with the Select Style, and allows you to set a program to the Left Hand 1 track.
  • Select Program RH1 [Fader]: Works in exactly the same way with the Select Style, and allows you to set a program to the Right Hand 1 track.
  • Select Program LH2 [Fader]: Works in exactly the same way with the Select Style, and allows you to set a program to the Left Hand 2 track.
  • Select Program RH2 [Fader]: Works in exactly the same way with the Select Style, and allows you to set a program to the Right Hand 2 track.
  • Select Preset [Fader]: Works in exactly the same way with the Select Style, and allows you to set a preset to the Arranger.
  • Select Song [Fader]: Works in exactly the same way with the Select Style, and allows you to set a song to the Arranger.
  • Style Section 1,2,3...16 [Button]: Each of this buttons allows you to set the corresponding style section to the Arranger.
  • Style Master Volume [Fader]: This allows you to control the volume of your style.
  • Style T1, T2...T16 Volume [Fader]: This allows you to control the volumes of each track of your style.
  • Melody Master Volume [Fader]: This allows you to control the volume of your melody.
  • Melody T1, T2, T3, T4 Volume [Fader]: This allows you to control the volumes of each of your melody tracks.
  • Mixer Master Volume [Fader]: This allows you to control the master volume.
  • Split Chords/Melody [Fader]: This allows you to define your chords and melody section in the arranger's main keyboard.
  • Octave Up [Button]: This will cause the notes to be played one or more octave(s) up.
  • Octave Down [Button]: This will cause the notes to be played one or more octave(s) down.

Styles

If you are experienced in physical keyboard arrangers, you probably already know what a style is. But maybe you have never created a style by yourself. In any case, let's try to give a definition of what a style is.

A style is a mix of instruments which are playing the same root chord in different ways repeatably. They can have one or more variations (in giglad these are named sections) and each of this section can have one or more measures. When the end of a measure is reached, the section starts playing again from the begging. The software (in our case giglad) knows how to convert the root chord of the style into a different chord by applying a transposition algorithm. Hence, in order to play live, you are creating a style and then you give the chord instructions by simply using your left hand while you are using your right hand to play the main melody.

Giglad is using a standardized file format to save/load your style in your hard drive, the midi file format (.mid) and adds additional information (such as the sections, the virtual instruments of your tracks, the CTA's and more). This means that the style can be read by any other software which can read midi files and giglad can read any midi file which has been created by a different software as well. In the latest case, information will be missing but it can be filled later. This gives great flexibility on the way you can create your styles.

Creating New Style

You can create a new style from the menu File→New→Style... or in the Styles Explorer by right clicking on the parent directory where you wish to create your style and then select the corresponding menu command New→Style.... In both cases the Style Definition window will pop up where you need to define the basic attributes of your style.

  • Name: A unique in its relative path name for your style. Because the name of the style is used to save the corresponding file, only valid file names are allowed. You can easily rename a style after creating it.
  • Relative Path: The relative path of the style considering the Styles Directory. You may not type directly into the edit box. You need to click on the button at the right side of the control and select the directory from there. Styles can be moved around after their creation.
  • Using: This option is there for future reference in which you will be able to select creating a style using virtual instruments or midi instruments. Currently you may not switch to something different than virtual instruments.
  • Root Chord: The chord which will be used as a reference for giglad to be able to convert in different chords. It is recommended using a chord which is described by at least four notes. Cmaj7 (C-E-G-B) is a very good chord as it is quite simple and contains the four notes needed, hence it is the default option. The root chord does not restrict the chords that you will be able to play. A root chord of Cmaj7 does not mean by any means that you will not be able to play for example Am, E7, Bdim etc. As mentioned it is just a reference and unless you are an experienced user or style creator, best leave the default of Cmaj7 as it is. The root chord can change after creating the style but the existing events (i.e. notes) will not be converted to the new chord. It is also possible to override the root chord in one or more tracks.
  • Time signature: Pretty straight forward option for a musician; this will be the time signature of your style. The time signature can change after creating the style but the existing events (i.e. notes) will not be converted to the new time signature.
  • Tempo (Beats per minute): The tempo of a style is defined in beats per minute. A tempo with a value of 120 means that within a minute (60s) 120 beats will be played. The beat is described by the denominator of the time signature of the style. With a time signature of 4/4 for example: 1 beat = 1 quarter note. With a time signature of 4/8 respectively: 1 beat = 1 eighth note. Tempo can easily change after creating your style and it is just the default tempo of the style. It is the tempo that will be set to the arranger when the style is set if the arranger is not playing. If the arranger is already playing, this tempo will be ignored.
  • PPQ (Pulses per quarter note): PPQ describes the number of ticks that a quarter note has and is a standard midi file entry. Unless you are an experienced user, it is advised to leave the default value of 768 as it is. The PPQ cannot be changed after creating your style.
  • Sections: You can pre-define the sections of you style here, but this feature is mainly present to setup the sections for midi files that have not been created by giglad and nevertheless can be used as styles. If you are creating a style from scratch it will be easier to setup the sections from the Style Editor directly; so you may leave the default as it is with one section named "Main" and rename it later as well as add more sections. If you need to define your sections here then you may add new ones by clicking the Add button and you can remove an existing one by selecting it on the table and clicking on the Remove button. A section is described by its name which must be unique, the measure that starts and the number of measures that it has.


Clicking on the OK button will create a style file in you hard drive and will navigate you in the Style Editor, from where you can describe your style.

Styles Explorer

The styles explorer displays your styles, as these exist as midi files in your O/S, in a tree hierarchy. The root item is the Styles Directory as this can be defined and changed from the settings. Changing the Styles Directory will cause the tree to re-populated. Giglad is using the tree hierarchy instead of a linear representation of the styles as it gives great flexibility and allows you to group your styles anyway you wish.

The styles explorer provides some functionality but, at the moment, in no case has the power of your O/S explorer. If for example you wish to copy or move styles around, you need to do this outside giglad. Mind that the software does not monitor style changes outside the software itself. If for example you rename a style from your O/S or move a style to a different place, you must manually press the F5 key in the styles explorer window in order for the tree to be updated.



☛ Double left clicking on a style will cause the style to be loaded and be set to the Arranger.

☛ Right clicking on a style will select the style and pop up a menu in order to take further actions regarding your selection.

  • Edit: Causes the style to be loaded and to be set to the Arranger. It then switches to the Style Editor in order for you to edit the style.
  • Rename: Pops up a new window in which you can set a new name for the style.
  • Delete: Deletes the style (i.e. the corresponding file) permanently from your system. This action is not undo-able so use it with caution.
  • Show in explorer: Opens O/S Explorer to show this style's location.


☛ Right clicking on a style's parent directory will select the directory and pop up a menu in order to take further actions regarding your selection.
  • New Style: Pops up the Style Definition window in order to create a new style in the directory that has been selected in the explorer.
  • New Directory: Creates a new directory which will have the selected in the explorer directory as its parent.
  • Delete: Deletes the directory and all the styles in it. Be extra careful when using this, because the action is not undo-able
  • Show in explorer: Opens O/S Explorer to show this directory's location.



You can set a style to the Arranger directly from you midi controller by using Midi Controls Mapping. You can set a style to the Arranger or to the Style Editor by dragging and dropping the style into the corresponding window.

Yamaha Styles

Giglad can read and play Yamaha SFF2 and SFF3 styles. The styles should exist inside styles working directory in order to be revealed in the Styles Explorer. You can then use them and edit them as you would do with your own styles.

When a Yamaha style is read for the first time, giglad will use the default soundfont to set the instruments. The default soundfont can change from the settings but must be a standard soundfont, i.e. supporting all the necessary instruments. Using the Style Editor, you can change the instruments and even replacing them with VSTs.

Because the Yamaha style data format does not exactly match giglad's data format and because giglad's arranger engine has not been written for this purpose, the styles will not be heard as actually playing them in a physical Yamaha arranger but the result is quite decent and if you take the time to process them a bit and replace the instruments with VST's the result will be quite satisfying.

You may edit a Yamaha style in the Style Editor but due to data mismatch as explained above, you may not rename the sections and you may not change the CTA.

Programs

A program is a virtual instrument's preset along with the effects that it may or may not using. In order to avoid confusion over the Arranger's Presets, the word Program is used. Many VST/VST3 plug-ins come with a predefined number of presets and you can usually create your owns. You can save them as Programs and add effects on top in order to re-use them later to your style or solo tracks. Because soundfonts in giglad are also handled by a VST3 plug-in, programs can also be used to save your soundfonts.

Programs have a standardized file format when saved in your hard drive, the lightweight data-interchange JSON. But the actual program is described by a HEX string which makes it impossible to edit these files using a text editor such as Notepad.

Creating New Program

You can create a new program from the menu File→New→Program... or in the Programs Explorer by right clicking on the parent directory where you wish to create your program and then select the corresponding menu command New→Program.... Additionally, after selecting a virtual instrument on a track (melody track or style track) and adding effects, you can choose to save it as it is by clicking on the corresponding "program" icon which can be found at the top right corner of the track. In all cases the Program Definition window will pop up where you need to define the basic attributes of your program.

  • Name: A unique in its relative path name for your program. Because the name of the program is used to save the corresponding file, only valid file names are allowed. You can easily rename a program after creating it.
  • Relative Path: The relative path of the program considering the Programs Directory. You may not type directly into the edit box. You need to click on the button at the right side of the control and select the directory from there. Programs can be moved around after their creation.
  • Instrument: You can select one from your installed plug-ins by clicking on the arrow down button on the corresponding field. The plug-in's window will pop up and any changes you make there will be taken under consideration when the program is saved. If you close the plug-in's window, you can continue editing it by selecting Edit... after clicking again on the arrow down button.
  • Include Instrument Suffix: If this is ticked then the final name of the program will include the virtual instrument's name at the end. In the image above for example, the file name that will be saved will be myProgram - Dexed.
  • Effects: You can add one or more effects to your program by clicking on the Add button and remove them by selecting the proper one and press the Remove button. You can also reorder them by using the arrow buttons.


While this window is opened, your main midi input controller can be used to play the selected instrument. Programs are quite flexible. You can choose for example to only save effects in which case when applied on a track which already has an instrument, the action will only apply the effects to it.

Programs Explorer

The programs explorer displays your programs, as these exist as json files in your O/S, in a tree hierarchy. The root item is the Programs Directory as this can be defined and changed from the settings. Changing the Programs Directory will cause the tree to re-populated. Giglad is using the tree hierarchy instead of a linear representation of the programs as it gives great flexibility and allows you to group your Programs anyway you wish.

The programs explorer provides some functionality but, at the moment, in no case has the power of your O/S explorer. If for example you wish to copy or move programs around, you need to do this outside giglad. Mind that the software does not monitor program changes outside the software itself. If for example you rename a program from your O/S or move a program to a different place, you must manually press the F5 key in the programs explorer window in order for the tree to be updated.



☛ Double left clicking on a program will pop up the Program Definition window from where you can edit the selected program.

☛ Right clicking on a program will select the program and pop up a menu in order to take further actions regarding your selection.

  • Apply to: Displays the available tracks in which the program can be applied and by selecting one of them, the program will be applied to it.
  • Edit: Pops up the Program Definition window from where you can edit the selected program
  • Rename: Pops up a new window in which you can set a new name for the program.
  • Delete: Deletes the program (i.e. its corresponding file) permanently from your system. This action is not undo-able so use it with caution.
  • Show in explorer: Opens O/S Explorer to show the location of this this program.


☛ Right clicking on a program's parent directory will select the directory and pop up a menu in order to take further actions regarding your selection.
  • New Program: Pops up the Program Definition window in order to create a new program in the directory that has been selected in the explorer.
  • New Directory: Creates a new directory which will have the selected in the explorer directory as its parent.
  • Delete: Deletes the directory and all the programs in it. Be extra careful when using this, because the action is not undo-able
  • Show in explorer: Opens O/S Explorer to show this directory's location.



You can apply a program to a track directly from you midi controller by using Midi Controls Mapping. You can apply a program to a track by dragging and dropping the program into the track's window.

Presets

A preset is a complete or partial snapshot of the Arranger's state. You can choose to save for example the style which you have set to the Arranger's along with your right hand's instrument(s) and the current tempo in order to re-use it later with a single click. It is as such a very powerful and useful feature of giglad as it allows you to pre-make multiple Arranger setups and user them later at your convenience.

Presets have a standardized file format when saved in your hard drive, the lightweight data-interchange JSON. Hence you can edit these manually by using any text editor such as Notepad. Generally you will not have to, but in some cases, if giglad fails to read one of your presets, you may be able tweak the file a bit in order for this to be loadable again.

Creating New Preset

You can only create a preset if the Arranger module is active. This is quite obvious as it would make no sense trying saving your Arranger's state while you are for example in the Style Editor. The easiest way to create a new preset is to click on the Save button which can be found on the Arranger's toolbar. Alternatively, you can select from the menu File→New→Preset... or Save Preset... directly and if you are a used to keyboard shortcuts your can just press Ctrl+S. Whichever of these actions you choose to take, the result will be the same: The Preset Definition window will pop up.



In the Preset Definition window you need to choose which attributes will be saved. You can choose to take a full snapshot of the Arranger's state by selecting all of them or you may wish to select partial attributes to be saved. In any case it is important to understand that only the attributes that you have choose to save will be reinstated.

  • Style (Foundamental): Saves the current style that has been set to the arranger. The option will be disabled if there is no style currently set to the Arranger. Note that the preset does not keep a copy of the style's data and only saves the path of the style. A such, if you edit the style after creating the preset then, by reinstating the preset, the modified style will be loaded. If you move a style into a different place within your Styles Directory, giglad will try to find it but it may fail. If you rename your style or delete it then the preset gets broken and you will have to manually edit the JSON file to set the new style's path.
  • Style (Mixer): Saves the style group in mixer. That is the volumes, pans, mutes, pans and effects of the style tracks as these have been modified in the mixer.
  • Melody (Foundamental): Saves the melody tracks. That includes the track names, the selected instruments, effects, the playing ranges, the volumes, e.t.c. If an instrument cannot be found, when trying loading a preset (this may happen if for example the corresponding plug-in dll has been removed) then the preset will be loaded normally but the name of the instrument will be appeared in red.
  • Melody (Mixer): This option is disabled as it is linked with the Melody (Foundamental). Checking/Un-checking one will check/uncheck the other. It is only there for consistency and for the user to understand that the melody in the mixer and the "Melody" tab are linked together.
  • Physical (Foundamental): Saves the physical tracks. That includes the audio input channels, the effects, the volumes, e.t.c.
  • Physical (Mixer): This option is disabled as it is linked with the Physical (Foundamental). Checking/Un-checking one will check/uncheck the other. It is only there for consistency and for the user to understand that the physical in the mixer and the "Physical" tab are linked together.
  • Master (Mixer): Saves the master of the mixer. That includes the master volume, the master pan, the effects, etc. Mind that this option is off by default. That is because in most cases you will not want the master to be reinstated. If for example you are playing something and for any reason you have set the volume to -10db you will probably want for this to stay there if you set a different preset. Another common scenario is that you wish to set some effects to your master and you want them to stay as they are even if you set another preset.
  • Tempo: Saves the selected tempo.
  • Transposition: Saves the selected transposition.
  • Key Note: Saves the key note.
  • Split Note: Saves the note which defines how your current Arranger's Virtual Keyboard has been split the Chords/Melody ranges.
  • Octave: Saves the +/- octave which which has been selected for Arranger's Virtual Keyboard.


You may feel the urge to always save all the attributes mentioned above but in most cases, it will be quite useful to save only some of them.

Presets Explorer

The presets explorer is available only when the Arranger is the active module. It displays your presets, as these exist as json files in your O/S, in a tree hierarchy. The root item is the Presets Directory as this can be defined and changed from the settings. Changing the Presets Directory will cause the tree to re-populated. Giglad is using the tree hierarchy instead of a linear representation of the presets as it gives great flexibility and allows you to group your presets anyway you wish.

The presets explorer provides some functionality but, at the moment, in no case has the power of your O/S explorer. If for example you wish to copy or move presets around, you need to do this outside giglad. Mind that the software does not monitor preset changes outside the software itself. If for example you rename a preset from your O/S or move a preset to a different place, you must manually press the F5 key in the presets explorer window in order for the tree to be updated.



☛ Double left clicking on a preset will cause the preset to be loaded and be set to the Arranger.

☛ Right clicking on a preset will select the preset and pop up a menu in order to take further actions regarding your selection.

  • Rename: Pops up a new window in which you can set a new name for the preset.
  • Delete: Deletes the preset (i.e. its corresponding file) permanently from your system. This action is not undo-able so use it with caution.
  • Show in explorer: Opens O/S Explorer to show the location of this this preset.


☛ Right clicking on a style's parent directory will select the directory and pop up a menu in order to take further actions regarding your selection.
  • New Preset: Pops up the Preset Definition window in order to create a new preset in the directory that has been selected in the explorer.
  • New Directory: Creates a new directory which will have the selected in the explorer directory as its parent.
  • Delete: Deletes the directory and all the presets in it. Be extra careful when using this, because the action is not undo-able
  • Show in explorer: Opens O/S Explorer to show this directory's location.



You can set a preset to the Arranger directly from you midi controller by using Midi Controls Mapping. You can set a preset to the Arranger by dragging and dropping the preset into the Arranger's window.

Songs

A song is a list of instructions which can be set to the Arranger in order for this to play by itself. The instructions describe which style will be used and when, the chords to be played, tempo changes, etc. These instructions are based on a kind of a scripting language; YAML which is a human-readable data-serialization language. This may sound difficult at start but once you get used of it, you will acknowledge how fast and easy this approach allows you to create your songs.


Creating New Song

You can create a new song from the menu File→New→Song... or in the Songs Explorer by right clicking on the parent directory where you wish to create your song and then select the corresponding menu command New→Song.... In both cases the Song Definition window will pop up where you need to define the basic attributes of your song.

  • Name: A unique in its relative path name for your song. Because the name of the song is used to save the corresponding file, only valid file names are allowed. You can easily rename a song after creating it.
  • Relative Path: The relative path of the song considering the Songs Directory. You may not type directly into the edit box. You need to click on the button at the right side of the control and select the directory from there. Songs can be moved around after their creation.
  • Template: You can leave it to none or you can select one of the existing templates which will be your starting point in the process of creating the song. Please mind that if you try validating a template it will fail as you need at the minimum to set the song title and the style/section that will be used.


The templates that come with the installation of the software can be found in the ProgramData giglad's directory (usually C:\ProgramData\giglad\Templates). These templates are *.yaml files, just like the songs. This simply means that you can easily create your own templates by just creating a *.yaml files and you place them inside this directory.

Clicking on the OK button will create a song file in you hard drive and navigate you in the Song Editor, from where you can describe your song.

Songs Explorer

The songs explorer displays your songs, as these exist as yaml files in your O/S, in a tree hierarchy. The root item is the Songs Directory as this can be defined and changed from the settings. Changing the Songs Directory will cause the tree to re-populated. Giglad is using the tree hierarchy instead of a linear representation of the songs as it gives great flexibility and allows you to group your songs anyway you wish.

The songs explorer provides some functionality but, at the moment, in no case has the power of your O/S explorer. If for example you wish to copy or move songs around, you need to do this outside giglad. Mind that the software does not monitor songs changes outside the software itself. If for example you rename a song from your O/S or move a song to a different place, you must manually press the F5 key in the songs explorer window in order for the tree to be updated.



☛ Double left clicking on a song will cause the song to be loaded, be set to the Arranger and immediately start playing. When the song stops playing (by either reaching its end or by clicking on the Stop button) it gets removed from the Arranger. Which means that the Play button button will not start playing the song from scratch but instead it will start playing the currently selected style.

☛ Right clicking on a song will select the song and pop up a menu in order to take further actions regarding your selection.

  • Edit: Causes the song to be loaded and be set to the Song Editor. At the same time it switches to the Song Editor in order for you to edit the song.
  • Rename: Pops up a new window in which you can set a new name for the song (This action does not change the song's title).
  • Delete: Deletes the song (i.e. its corresponding file) permanently from your system. This action is not undo-able so use it with caution.
  • Show in explorer: Opens O/S Explorer to show this song's location.


☛ Right clicking on a song's parent directory will select the directory and pop up a menu in order to take further actions regarding your selection.
  • New Song: Pops up the Song Definition window in order to create a new song in the directory that has been selected in the explorer.
  • New Directory: Creates a new directory which will have the selected in the explorer directory as its parent.
  • Delete: Deletes the directory and all the songs in it. Be extra careful when using this because the action is not undo-able
  • Show in explorer: Opens O/S Explorer to show this directory's location.



You can set a song to the Arranger directly from you midi controller by using Midi Controls Mapping. You can set a song to the Song Editor by dragging and dropping the song into the Song Editor's window.

Recordings

Anything that is played to the Arranger can be recorded. The current file format of the recording is *.wav which can be played by almost any media player and by giglad itself.

Creating New Recording

You can create a new recording from the menu File→New→Recording... or in the Recordings Explorer by right clicking on the parent directory where you wish to create your recording and then select the corresponding menu command New→Recording... or from the menu Arranger→Start Recording... or by simply pressing Ctrl+R. In all cases the Recording Definition window will pop up.

  • Name: A unique in its relative path name for your recording. Because the name of the song is used to save the corresponding file, only valid file names are allowed. You can easily rename a recording after creating it.
  • Relative Path: The relative path of the recording considering the Recordings Directory. You may not type directly into the edit box. You need to click on the button at the right side of the control and select the directory from there. Recordings can be moved around after their creation.


After clicking on "Start Recording", the window will close and the audio output will be recorded. As the note in the definition window suggests, you need to press Ctrl+R or select Arranger→Stop Recording in order to terminate the recording.

Recordings Explorer

The recordings explorer displays your recordings, as these exist as wav files in your O/S, in a tree hierarchy. The root item is the Recordings Directory as this can be defined and changed from the settings. Changing the Recordings Directory will cause the tree to re-populated. Giglad is using the tree hierarchy instead of a linear representation of the recordings as it gives great flexibility and allows you to group your recordings anyway you wish.

The recordings explorer provides some functionality but, at the moment, in no case has the power of your O/S explorer. If for example you wish to copy or move recordings around, you need to do this outside giglad. Mind that the software does not monitor recordings changes outside the software itself. If for example you rename a recording from your O/S or move a recording to a different place, you must manually press the F5 key in the recordings explorer window in order for the tree to be updated.



☛ Double left clicking on a recording will cause the Arranger to immediately start playing the recording. When the recording stops playing (by either reaching its end or by clicking on the Stop button) it gets removed from the Arranger. Which means that the Play button button will not start playing the recording from scratch but instead it will start playing the currently selected style.

☛ Right clicking on a recording will select the recording and pop up a menu in order to take further actions regarding your selection.

  • Rename: Pops up a new window in which you can set a new name for the recording (This action does not change the recording's title).
  • Delete: Deletes the recording (i.e. its corresponding file) permanently from your system. This action is not undo-able so use it with caution.
  • Show in explorer: Opens O/S Explorer to show this recording's location.


☛ Right clicking on a recording's parent directory will select the directory and pop up a menu in order to take further actions regarding your selection.
  • New recording: Pops up the Recording Definition window in order to create a new recording in the directory that has been selected in the explorer.
  • New Directory: Creates a new directory which will have the selected in the explorer directory as its parent.
  • Delete: Deletes the directory and all the recordings in it. Be extra careful when using this because the action is not undo-able
  • Show in explorer: Opens O/S Explorer to show this directory's location.



You can start playing a recording by dragging and dropping the recording into the Arranger window.

Chords Progressions

Chords progressions are considered Arranger's Inputs and they are exclusively placed inside the Arranger window instead of the bottom left panel where the file explorers persist. They can be used with a foot midi controller in order to switch chords in the Arranger using your foot. This implies that a chord must be detected by a single note as you can only press one note with your foot using a mid controller of this type. In order to do so, you need to instruct giglad which chord to play when a specific note is "on". This is achieved by creating a chords progression file.

Before start using this feature, you need to assign the role "Pedal" in one of your midi devices from the settings. You can assign this role to any type of a midi controller; it does not have to be an actual foot midi controller. When you assign this role, the Arranger knows that should use the midi input from the specified midi controller to switch chords by a single note.

Creating New Chords Progression

You can create a new chords progression from the menu File→New→Chords Progression... or in the Pedal tab of the Arranger by right clicking on the parent directory where you wish to create your file and then select the corresponding menu command New→Chords Progression.... In both cases the Chords Progression Definition window will pop up where you need to instruct how the chords will be changed by a single note.

  • Name: A unique in its relative path name for your chords progression. Because the name is used to save the corresponding file, only valid file names are allowed. You can easily rename a chords progression after creating it.
  • Relative Path: The relative path of the chords progression considering the Chords Progressions Directory. You may not type directly into the edit box. You need to click on the button at the right side of the control and select the directory from there. Styles can be moved around after their creation.
  • Key: The key note that corresponds to the chords that you will define in the table below. The key can change "in the fly" later for the defined chords to adapt to the new key.

The table is pretty straight forward. You instruct giglad which chord to play for which note. You can do this by double clicking on the corresponding "Chord" column of the note you wish to assign. For example and as shown in the picture, I have instructed giglad to play Am when I play the note A, Dm when I play the note D and E(maj) when I play the note E. You can define any chord you like in any note even if it makes no sense at a first glitch. For example I have instructed to play A(maj) when the note is A# because it is convenient to me. (Unassigned) notes will be ignored meaning that no chord switch will take place if any of these notes go "on".

Pedal

After having created one or more chords progressions, the time has come to actually use them in order to switch chords in giglad using one note. The pedal tab can be found at the top left of the Arranger and consists of the following:

  • Title: At the top left corner of the window, you can see the selected device with the role "pedal" and the selected chords progression. In the case of our image that would be "APC Key 25" for the device (which is not actually a foot midi controller) and "minor5thMajor" for the chords progression.
  • Chords Progressions Explorer: Explained in detail below.
  • Key: The key in which the selected chords progression will use to adapt. In our image, we set the key "A" when we have created the chords progression but here we have changed it on the fly to be C. All the chords have been transported to match our key.
  • Adapt Key: When this option is on, setting another chords progression to the Arranger will cause it to use the Key of this window. Otherwise it will use the originated key and the Key of this window will change to match the key of the chords progression.
  • Chords List: Not editable. It is there to remind you the chords that have been defined in the selected chords progression.

You can set a chords progression to the Arranger by double clicking on the corresponding file in the chords progressions explorer.


The chords progressions explorer displays your chords progressions, as these exist as json files in your O/S, in a tree hierarchy. The root item is the Chords Progressions Directory as this can be defined and changed from the settings. Changing the Chords Progressions Directory will cause the tree to re-populated. Giglad is using the tree hierarchy instead of a linear representation of the chords progressions as it gives great flexibility and allows you to group your chords progressions anyway you wish.

The chords progressions explorer provides some functionality but, at the moment, in no case has the power of your O/S explorer. If for example you wish to copy or move chords progressions around, you need to do this outside giglad. Mind that the software does not monitor chords progressions changes outside the software itself. If for example you rename a recording from your O/S or move a recording to a different place, you must manually press the F5 key in the chords progressions explorer window in order for the tree to be updated. <

☛ Double left clicking on a chord progression will cause the selected chords progression to be set to the Arranger.

☛ Right clicking on a chord progression will select the chord progression and pop up a menu in order to take further actions regarding your selection.
  • Edit: Pops up the Chords Progression Definition window for editing.
  • Rename: Pops up a new window in which you can set a new name for the chords progression.
  • Delete: Deletes the chords progression (i.e. the corresponding file) permanently from your system. This action is not undo-able so use it with caution.
  • Show in explorer: Opens O/S Explorer to show this chords progression's location.


☛ Right clicking on a chords progression's parent directory will select the directory and pop up a menu in order to take further actions regarding your selection.
  • New Chords Progression: Pops up the Chords Progression Definition window in order to create a new chords progression in the directory that has been selected in the explorer.
  • New Directory: Creates a new directory which will have the selected in the explorer directory as its parent.
  • Delete: Deletes the directory and all the chords progressions in it. Be extra careful when using this because the action is not undo-able
  • Show in explorer: Opens O/S Explorer to show this directory's location.

Output

The output window displays real time information as well as warnings and errors while the software is in use. Giglad dislikes the traditional message boxes (i.e. windows which display some kind of a message and block the user interface until the user clicks on a button) and tries to avoid them as much as possible. As such, many warnings and errors are only be reported to the output window. Therefore, it is crucial to always keep an eye on this window as it may gives you a hint or an explanation for something that does not work as you would expect.

  • Errors are displayed in red and require your immediate attention.
  • Warnings are displayed in yellow and indicate that something goes wrong but you may continue.
  • Info is displayed in white and does not require any action.



In the image above:

☛ The Failed to open audio device ASIO: Studio USB ASIO Driver clearly tells me that giglad has failed to use the audio device which I have selected from the settings. Without an audio device there will be no clock, there will be no sound coming out.

☛ The Cannot start playing without a style or song has been set was reported when I clicked on the Play button without having set a style to the Arranger.

☛ The Failed to use virtual instrument from memory pool "DrumKit": It is not included in the plug-ins memory pool was reported when I loaded a style. The style was loaded but I got a warning which simply tells me that I am using a virtual instrument in my style from the memory pool which cannot be found.

Right clicking on the output window will pop up a menu from where you can:
  • Copy the whole or partial output
  • Clear the output.

Performance

Giglad is using real time audio processing and as such, the audio engine is constantly processing audio even when you hear no sound. The performance window provides information regarding the performance of the audio engine of giglad and the virtual instruments.



What you will be most interested, is to ensure that the indication of the Audio Engine is not anywhere near 100%. If this indication goes above 100% you will be hearing sound glitches coming out from your speakers. When this happens you must release the load by trying the following

  • Increasing the buffer size in Audio Settings.
  • Reducing the sampling rate in Audio Settings.
  • Increasing the number of threads in Audio Settings.
  • Removing plug-ins (i.e. virtual instruments) from your style or melody tracks.

The performance window also allows you to easily identify the plug-ins that requires more resources than others. In the picture above for example, it is concluded that the virtual instruments which are used for the Piano and the Background are taking the most of the system resources.

It should be noted that the indication of the masters (e.g. Style) is not the summary of the slaves. For example if a style contains two tracks with virtual instruments, with the indication of the first being 5% and the indication of the second being 15% it will not result by any means the indication of the style to be 20%. The indication of the style shows only the time needed to mix the two virtual instruments and this is always trivial.

Arranger

The Arranger is the core of giglad. Here you can play your music live. The interface has been designed to be as simply and friendly to the user as possible and to simulate a physical keyboard arranger. Its elements are described below.

Chord Display

Displays the chord currently played with your midi keyboard controller. No user interaction is available on this element.

Tempo - Transposition

You can change the tempo or the transposition by moving the corresponding slider or by pressing the +/- corresponding buttons. Alternative you may wish to use Midi Controls to change the tempo or transposition by your midi keyboard.

Console

Displays the current tempo, the style's time signature and the current transposition. It also displays the status Playing/Stopped and if Playing it displays the beats. No user interaction is available on this element.

Player

  • The middle button causes the arranger to start playing. A style must be prior set in order to do so and the button gets disabled when the arranger is already playing.
  • The far right button causes the arranger to stop playing. The button gets disabled if the arranger is not playing.
  • The far left button sets the Arranger in Sync Play mode in which it will start playing the moment a chord is detected in the midi keyboard and will stop playing when all notes go off in the midi keyboard. It is a tri-state button: The white color states that the Sync Play mode is off. The red color can only be set when the arranger is stopped. It states that the Sync Play mode is on but the moment the arranger starts, it will be set off. The green color states that the Sync Play mode is on and it will stay on until explicitly be set off.

You can start/stop the arranger and turn the sync-play on/off directly from your midi keyboard controller by using Midi Controls. The Spacebar key in you PC keyboard also toggles the Start/Play meaning that if the arranger is stopped and you press the spacebar, the arranger will start playing and if already playing the spacebar will make it stop.

Sections

This is where you can switch to a different style section. The element is populated by the selected style, hence the number of sections and the names can be different from style to style. You can also switch style sections directly from your midi keyboard controller by using Midi Controls.

Synopsis

Displays the currently selected style (if any), the song that is currently playing (if any) and the currently preset that has been set to the Arranger (if any). No user interaction is available on this element.

Mixer

The mixer is divided into different groups and the visibility of these groups can be set from the settings. You can change the volume of your tracks, you can change the pan and you can mute tracks (with the [M] button) or set them as solo (with the [S] button). You can also add effects to your tracks although but mind that for a style you will probably want to do that on the Style Editor in order for the effects to be saved with your style. At the end of each group is the master control of the group. Hence for example you can increase/decrease the volume of all the style tracks by simply changing the volume of the Style track.

The master track of each group has a purple colour and it is always visible. But to access the other tracks due to space limitations you may have to use the bottom scrollbar.

The mixer changes only affect the current state of the Arranger. If for example you change the volume of a style track lets say from 0db to 6db the change will not be saved in your style file. Which means that if you reload the style the corresponding volume will be 0db again. If you wish your changes to the attributes of the track to be permanent then you must change them via the Style Editor. This is because you can save the state (which includes the mixer) of the Arranger as a Preset and you can have the same style in different presets with different track attributes. A common simple example is to create a style which includes lets say drums instrument. And you wish to use the same style in two different songs but in one of these songs you wish to have the drums muted. Instead of creating two styles you are creating only one and you create 2 different presets: One with the style as is and one with the drums track muted.

Inputs

At the right side of the arranger, a multiple tab window exists from where you can setup your melody, your physical inputs and the pedal.

  • Melody: The term "Melody" in giglad is used for the group of tracks in which you can assign virtual instruments (VSTs or soundfonts) and play the main melody using your right hand or some additional backtrack using your left hand. It is composed by 4 tracks and the functionality of these tracks is described in detail in the tracks section.
  • Physical: The term "Physical" in giglad is used for the group of tracks in which you can assign an external audio source (e.g. microphone). It is composed by 4 tracks and the functionality of these tracks is described in detail in the tracks section.
  • Pedal: Pedal can be used with a foot midi controller in order to switch chords using your foot. It is explained in detail in the pedal section.

Please mind that changes you are making to the melody and physical tracks are temporarily and will be lost when you restart giglad. You must save any changes as a preset if you wish to quickly re-use them.

Keyboard


The Arranger Virtual Keyboard represents your physical midi keyboard controller with the "Main" role. While playing notes on your main midi controller, you will have the corresponding ones highlighted in the Arranger Virtual Keyboard. If that is not the case then re-visit your settings.

At the top of the Arranger Keyboard a splitter exists which can be moved by the mouse or by the assigned midi control to define your Chords range and your Melody range. A note that is played in the Chords range is used to identify the chord that must be played for the activated style. These ranges are also taken under consideration by the Melody tracks (default by the Left Hand tracks).

There is also also a control which allows you to set +/- the octaves for you melody playing. Most midi keyboard controllers already have this functionality but this proves to be inconvenient as by changing the octaves in your midi controller directly you will also offset the chords/melody splitter without this being reflected in the user interface.

The Arranger Virtual Keyboard can also be driven by your PC keyboard with key [A]→[C4], [S]→[D4], [D]→[E4] and so on. Obviously this is not quite convenient. To play properly you need a hardware midi keyboard controller.

Toolbar

By hovering the mouse over the toolbar buttons, you will get a tooltip of what each of this does.

Key Note

Setting the key note is like changing the root chord of your currently playing style. If for example you are playing a style which has a root chord of Cmaj7 and you set the key note to A, then the style will behave as its root chord is Amaj7. Hence, if you are playing a song on Am scale, you will probably want to have the key set to A. But this not restrictive and sometimes it may even sound better if you have a different Key Note than the scale you are playing. It depends on the style and the virtual instruments.

Style Editor

The Style Editor provides you with the necessary tools to create your style. The main window's screen is divided in two, where at the top you can see the tracks as well as the timeline of your style and at the bottom is the Midi Editor where you can view and edit the midi events of each track. It may feels like the Midi Editor is a different window but in fact it goes along with the Style Editor and it is only visible when the Style Editor module is active. In cases, it can be quite useful to detach the Midi Editor window while creating a style to avoid constant resizing between the main window of the Style Editor and the Midi Editor. You can do this from the menu View→Lower Left Panel Attached.



A style is based on the midi protocol; it is a midi file after all. This document will assume that you have no previous experience with midi and will try to explain things as easy as possible. Nevertheless, it may fails to do so in which case, if you are having a hard time understanding, you can learn more about midi on the Internet. In fact, it is advised to do so as you will feel more comfortable of what it is that you are doing.

☛ A style is composed by tracks. Each track plays a virtual instrument and all the instruments are mixed in order to produce the final result.
☛ A style has a timeline. The timeline is split into different sections and these are in fact the sections of the style.

In the picture above three tracks are visible (more exist but they do not fit in the window) and the timeline has six measures. Measure 1 defines the Intro section while Measures 3,4 and 5 define the Verse section. Measure 2 & 6 are also serve a purpose but lets assume for now that they are just ignored from the timeline.

When creating a new style, and if you leave all its definitions as default, your Style Editor window will look like the one below. By default, you get one track, called Track 1 and one section in the timeline called Main with one Measure; One more measure is added at the end of the timeline which does not belong to the section. Eventually you will wish to add more tracks, more sections and instruct each track what notes should play and when.



Tracks

Please refer to the tracks section which describes in detail how you can select an instrument and setup the volume, pan,etc.

The tracks in the Style Editor can be selected. You can select a track by click anywhere inside it (not inside of its controls) or by clicking on its corresponding timeline. You can also select multiple tracks by holding down the Ctrl key and change multiple attributes simultaneously.

You can add a track by clicking on the Add button which can be found at the end of the tracks and you can remove a track by clicking on the Remove button which can be found at the top right side of the track you wish to remove. You can also rearrange your tracks by selecting one or more of them simultaneously and clicking on the Up/Down arrows right next to the cross.

Memory Pool (S)

You can switch to the Style's Editor memory pool by using the corresponding tab at the bottom of the top right window. Please refer to the Memory Pool section to understand the purpose of the memory pool and how you can use it. Here, it should only be used for plug-ins which support multiple channels (e.g. Kontakt) in order to relief your system by creating only one instance of the plug-in and use multiple instruments in your style's tracks. For other type of plug-ins there is no real advantage to go through the memory pool to select your style instruments.

Style's memory pool is referred as Memory Pool (S) and it is created when the style gets loaded. When the style gets replaced by another style, it's memory pool is destroyed. The information of the Memory Pool (S) is stored within the file of the style and an advantage of using it instead of the global memory pool is that the whole information is kept in a single file.

Chord Transposition Algorithm (CTA)

The style tracks have an additional tab window called CTA. The attributes on this window describe how the midi events will adapt on each chord you are playing. As mentioned in previous chapters, a style has a root chord. To make it easier, let's assume that the root chord will be Cmaj7. Every track plays notes by respecting the root chord. For example the guitar may play C4-E4-G4-B4 while the bass plays C4-G3-C4-G3. It is not compulsory for the tracks to play only notes that belong to the root chord, but they usually do.

When playing live using your style and you play for example the chord Am, the Arranger's engine needs somehow to know how to play A3-C4-E4-A4 instead of C4-E4-G4-B4. This is succeeded with the CTA where you need to select for each track which algorithm will be used to do the conversion.

CTA also takes under consideration the Key Note which is set either to the Arranger when playing live or to the song. The following explanations assume C Key Note.

  • CTA: Bypass: No transposition is applied at all. This algorithm should always be set for percussion (drums) as the notes of the percussion are not affected by the chord that is playing.
  • CTA: Fixed: Transposes in such a way so the result notes to be as near as possible to the ones defined in the root chord. For example C4-E4-G4-B4 for Am chord will be converted to C4-E4-A4-A4.
  • CTA: U-Shift: Transposes Up each note by maintaining the semitones relationship. For example C4-E4-G4-B4 for Am chord will be converted to A4-C5-E5-A5.
  • CTA: N-Shift: Transposes Near each note by maintaining the semitones relationship. For example C4-E4-G4-B4 for Am chord will be converted to A3-C4-E4-A4 because A3 is nearer C4 than A4.
  • CTA: D-Shift: Transposes Down each note by maintaining the semitones relationship. For example C4-E4-G4-B4 for Am chord will be converted to A3-C4-E4-A4.

The X-Shift CTA can be X-Shift [Chord] or X-Shift [Bass]. It is recommended to use [Bass] for your instruments that are playing the bass.

The CTA window has two more options:

  • Root Chord: You may wish to override the root chord of your style for one or more tracks. If you choose something other than "Inherit Style", the track will use the selected chord as its root chord and will totally ignore the root chord of the style.
  • Chord Switch: Describes how the arranger will behave on a chord switch when a note from a different chord is already on.
    Shift [Attack]: The note will be played again to match the new chord
    Release: The note will be set off and will only be played again when the midi events instruct to do so.

Midi Editor

The Midi Editor is used to describe the midi events that each track will send to the instrument. By the term midi events, we mainly mean notes but it can also mean some control events such as Sustain, Sostenuto and Soft.

  • The central grid where the midi events are defined.
  • The bottom grid where the velocities of the notes are defined
  • A keyboard on the left side which makes it easier to find the notes you wish to put in the central grid.
  • A toolbar with available actions such as select, edit, zoom etc to help you editing.



The Midi Editor reflects the selected track. Hence, you need to select at least one track to start editing. Selecting multiple tracks and using the editor is not advised and it is only needed in certain cases. Most of the time you will wish to select one track and start adding notes in it. Later on this chapter, we will see how the midi events can be added directly from the midi keyboard controller while the Arranger is playing but for now let's use our PC keyboard and mouse to better understand the editor.

Understanding the central grid is crucial and quite straight forward. Each cell, in the left image, represents a quarter midi event and you can see which note event from the music keyboard on the left or which control event from the corresponding text. Here we have simply instructed for the quarter notes C-E-G-B to be played. The note starts playing at the beginning of the rectangle and stop playing at its end. The bottom grid displays the velocity of each note, which is the force with which a note is played. Obviously, this is a a very simple example and in the reality you will wish to describe much more complicated melodies. So let's dive a bit deeper.

By hovering the mouse over the toolbar buttons, you will get a tooltip of what each of this does.


☛ The Select Events (arrow) should be on, when you wish to select events in order to copy, move, delete them and more.
☛ The Create New Events (pencil) should be on, when you wish to add new events.
☛ The Grid Compo Box represents the note values in the grid. 1/4 will display quarter events, 1/8 will display eighth events and so on.
☛ The Zoom (magnifying glass) allows you to zoom the grid in/out.
☛ The Triple Events adjusts the cells accordingly to fit triple events, when it is on.
☛ The Snap(magnet) will cause the events to be added, copied, moved etc to get snapped into the grid in left(event on) and/or right(event off).
☛ The Quantize(Q letter) will pop up a new window where you can apply quantize to the already added events.

  • Adding Events: In order to add an event, the Create New Events button should be selected (pencil). If you then click inside a cell of the grid, and while the snap button is on, an event will be created with the value of a grid cell. More frequently, you will wish to press the left mouse button somewhere inside the grid and start dragging to the right with your mouse. When you release the left mouse button, the event will have be inserted. Depending on if you have the Snap on/off, the event will fill the grid cells or will be placed exactly where you clicked.
  • Selecting Events: In order to select an event, the Select Events button should be selected (arrow). If you then click on an event, this will be selected. You can click on another event, while pressing the Ctrl button at the same time time, to add more events in your selection. Alternatively you can select multiple events by pressing the left mouse button anywhere inside the grid and outside events and start dragging so that you enclose events inside your window. By pressing the Ctrl button and clicking on a note in the virtual keyboard at the left will result all the notes in the midi editor of the note that has been clicked to get selected.
  • Deleting Events: To delete an event, first select it and then press the Del key or right click with your mouse and select Delete from the corresponding command menu. You can delete multiple events at the same time if multiple events are selected.
  • Moving Events: To move an event, press the left mouse button on an event and start dragging. You will see the event moving. By releasing the left mouse button the event will be placed where you released the button. You can move multiple events at the same time if multiple events are selected. If while moving the Ctrl key is down, then the events will be copied instead.
  • Copying Events: You can copy events as described exactly above on Moving Events. Alternatively, you can select one or more events and press Ctrl+C or or right click with your mouse and select Copy from the corresponding command menu. The events will get in the clipboard and you can paste them by placing the cursor where you wish for them to be copied and press Ctrl+V or or right click with your mouse and select Paste from the corresponding command menu.
  • Changing Existing Events: By putting the cursor at the edge of an event (left or right), the cursor icon will be changed and imply that you can drag the event in order to change its value.
  • Changing Velocities: When adding a note, this is is added with the velocity that can be seen at the slide bar under the music keyboard (default 100). You can change this before adding the note but usually you will want to change the velocities later, after placing a few notes. To do so, move your cursor at the top of the rectangle of one of your velocities (bottom grid) and drag it up or down to change its value. Alternatively, you can select one or more notes and change their velocity from the velocity slide bar.

Sections

It should be clear by now that the notes in each style section are played in a loop when the section has been selected in the Arranger. For example, a 4/4 style with selected the section Main which contains 4 quarter notes C-E-G-B will play C-E-G-B-C-E-G-B-C-E-G-B-C-E-G-B and so on. There is no restriction on the number of measures that each section can have. The section will repeat itself when all measures of the sections have been played.

At the top of the timeline, in both the Midi Editor and the central window of the Style Editor you can see the sections and the measures of each section as well as the total sections in your timeline.

☛ Right clicking on a section will pop up a menu from where you can take further actions such as adding a new section, rename a section, delete a section, etc.

  • Insert New Section: Inserts a new section before the section that has been selected. In the image example, the new section will be added before Verse. A window will pop up in order to give the basic attributes of your section such as the name, the number of measures and the number of echos.
  • Append New Section: Inserts a new section after the section that has been selected. In the image example, the new section will be added after Verse. A window will pop up in order to give the basic attributes of your section such as the name, the number of measures and the number of echos.
  • Rename Section: Pops up a window where you can enter a new name for your section.
  • Remove Section: Removes the section from the timeline and deletes all the note events that this contains.
  • Move Section Before: Displays a list with all the sections but the one selected in order to move the selected one before another existing section. In the image example, this option is disabled because the selected section is the first one so it cannot go before any other section.
  • Move Section After: Displays a list with all the sections but the one selected in order to move the selected one after another existing section.
  • Insert Echo Measure: Adds an echo to the section with a number of measures as requested. Echoes are explained in detail later in this document. In the image example, this option is disabled because the section already has an echo.
  • Remove Echo: Removes the echo from the section. Echoes are explained in detail later in this document.
  • Successor: Displays a list with all the sections but the one selected in order to select the successor of the selected section. This comes handy to sections which suppose to act as bridges. For example, let's suppose you have three sections in your style: Verse, Bridge, Chorus. If you set the successor of Bridge to be Chorus then switching to Bridge while being in the Arranger will cause the bridge section to only be played once (instead of going into loop) and automatically switch to the Chorus section. You can also set the successor to be "Previous Playing" in which case the Arranger will switch to the section that was previously playing or you can set the successor to be "Ending" in which case the Arranger will stop playing after the section finishes.
  • Can Switch On: By default, sections switch on the first beat. On a 4/4 style for example, if you switch section on the second beat, the arranger will play the remaining 2 beats before switching to the requested section. You may allow a section to switch on "any beat" by selecting the corresponding option. This is quite useful for "bridge" sections.

☛ Right clicking on a measure, regardless if this belongs to a section or not, will pop up a menu from where you can take further actions.


  • Insert Measure(s): Inserts one or more measures before the section that has been selected. In the image example, the measure(s) will be added before Measure 1.
  • Append Measure(s): Inserts one or more measures after the section that has been selected. In the image example, the measure(s) will be added after Measure 1.
  • Remove Measure: Removes the measure from the timeline and deletes all the note events that this contains.

Echoes

Echoes are an advanced feature of giglad. They may feel hard to understand at the beginning, but once you get familiar with them, they will allow you to take your style into the next level.

Echo is the part of the timeline between the end of one section and the start of the next. In the image below, Measure 2 is echo. As the Arranger is playing, when the timeline reaches the end of section Main, it will be moved back again at the start of section Main. But at the same moment, another timeline continues in order to play the events of the echo. In other words, the events of a section's echo are "mixed" with the section itself.



Let's understand the benefits of echoes. In the image above, note E (upper event) will be played at the start of the section Main. At the end of the section, the note will go off, and almost instantly it will go on again as the timeline will go back at the beginning of the section. This may of course be a desired behavior. But what if you wish the note to keep playing for ever and never goes off? This can be succeeded by using the echo of the section Main. In the image above again, note C (lower event) will be played at the start of the section Main. Because the note goes off at section's echo, but before goes off it has been set on again, as the timeline went back to the begging, what will happen is that the note will never go off and the sound will be constant.

Echoes can also provide a great beneficial usage on a Bridge section, i.e. a section that exists only for the transition from section A to section B. In the image below, the bridge section will play C-E-G-B and at that time you can switch to a different section which will start playing but the echo of the bridge will continue and play all the notes C-E-G-B at once. The best practical example of the bridge is the crash cymbal of the drums which usually goes at the beginning of the next section. To achieve the desired behavior, you can use the bridge's echo end put the crash cymbal at the echo.


Toolbar

By hovering the mouse over the toolbar buttons, you will get a tooltip of what each of this does.

  • Save: Saves your current progress. Giglad does not save automatically so it is strongly advised to save your style often.
  • Undo: Undo your last action.
  • Redo: Redo your last action.
  • Settings: Pops up the Style Definition window from where you can change some attributes of your style.
  • Metronome: Sets the metronome on/off. The metronome will start when the Arranger starts, i.e. when you click on the Start Playing in the toolbar. The metronome is useful when you are adding notes to your style live, while playing on you midi keyboard controller.
  • Effects(Fx): Allows you to add one or more effects in your style. For detailed information of how to use this window please refer to the track effects section.
  • Tempo: Changes the style tempo. You can use the slidebar or type directly into the field the tempo that you wish to set.
  • Record: Allows you to create note events directly from your midi keyboard controller without the need of using your mouse and keyboard. When this is on, and the Arranger is playing, any notes that will be played by your midi keyboard controller will be inserted directly into your style and will be visible on the Midi Editor as well. Note, that a track must be prior selected in order for this to work. Also, mind the Midi Editor's snapping option. If it is on, the notes you play will be automatically adjusted to the grid.
  • Start Playing: Starts the Arranger.
  • Stop Playing: Stops the Arranger.

Song Editor

The Song Editor is the tool which you will use to create and edit your songs. A song is based on the human-readable data-serialization language YAML; hence, you could use any text editor such as Notepad (or even better Notepad++ which also supports YAML syntax) to create your songs. However, the in house Song Editor provides some additional functionality such as playing specific song segments, formatting chords and validating not only the YAML syntax but also the song requirements. This additional functionality will be a great asset in the process of creating your song.

Song Syntax

If you find it hard to understand the song syntax as explained below, you should search on the internet a bit about the YAML syntax. A song is after all based on YAML and it just adds a few simple rules to form the song. But the core syntax does not change.

A song consists of the Header which must be unique and the Segments which can be as many as you like. Each of them consists of a number of mandatory or optional attributes. Lets see and explain the example below which is one of the simplest songs that can be created.

  • #----------------------------------------------------
    # Song header:
    Anything after the # character is considered a comment and it is not taken into consideration. You can write anything you want after a # and it is just for your own convenience. The song will play even if this is omitted or if we write instead "# This is my song header".
  • song: This declares the song header and it is a mandatory field.
  • tempo: This is an attribute of the song and it will set the tempo to 100bmp.
  • segments: Here we describe the segments which we want to be played in our song. We describe our segments by separating them with comma and enclosing them inside brackets, i.e. [segment1, segment2, segment3, etc]. In this example we have defined a segment below named mySegment and we have instructed here for this to be played twice.
  • mySegment: This declares a segment and as we have seen, it is used by the song header. Any name can be used (within YAML restrictions).
  • style: This is an attribute of the segment and instructs the style and the style section to be used when the segment is about to be played. We describe the style by the relative in our Styles Directory path of the style, separated with comma with the style section name inside brackets, i.e. [relative_style_path, style_section_name].
  • chords: This is obviously the most critical part where we describe the chords to be played. For simplicity, we’ll consider for now a beat and quarter note to be synonymous. The chords are described again with comma separators inside brackets while the parenthesis states the number of beats for the chord to be played. Hence, in this example, the chord Am will be played for 3 beats and then the chord E7 will follow and will be played for 1 beat.


So by taking into consideration all the above, when the song is played the style \8beat\SlowBaland will be used with its section AA as active and tempo 100. Then the following chords will be played Am (3 beats), E7(1 beat), Am (3 beats), E7(1 beat). Please mind that the segment mySegment contains only two chords buts its played twice in the song header.

The syntax of a song is Case Sensitive. If you define a segment with a name mySegment and try to use it in the song header as MySegment you will get an error. If instead of tempo you type Tempo then you will get no error because the tempo attribute is optional. What will happen is that it will be ignored and eventually the style tempo will be used.

It should be noted here that the segments do not reflect the commonly used parts of the song Intro-Verse-Chorus. Sections must be defined where different instructions need to be set. For example if the tempo changes you need to create a segment. It is also a good practice to have segments that declare unique chords. If for example there is a song that its chorus has two chords that change like that Am-E7-Am-E7-Am-E7 it is best to create one segment with the chords Am-E7 and declare it to be played 3 times in the song header.



At the end of the day, it does not make too much difference and the best practice is the one that suits each user. So as long as you get the expected result and you are happy with it, it does not matter how you have form your song.

Song Attributes

The song header and the segments contain attributes which are specific keywords for the song and provide a single instruction to the Arranger. In the example above, we have seen some of these attributes e.g. the tempo which instructs the tempo to be set. Most of the attributes can be set to either the song header or to each segment. If for example the tempo is set at the song header, there is no need to be set to the segments. The song will have the same tempo as this has been defined in the song header. But, you may wish to have a different tempo in some parts of the song in which case you declare the tempo in the segments.

☛ The following attributes are supported:

  • title Restricted to the song header and at the moment it does nothing. It can be omitted, but it may have some use in the future.
  • tempo Sets the tempo of the song or the segment. It optional and if omitted, the tempo will be set from the tempo of the style. The value should be a number in range 32-288.
  • transposition Sets the transposition to the song or the segment. It optional and if omitted, there will be no transposition. The value should be +number for transposition up or -number for transposition down, e.g +2.
  • key Sets the Key Note to the song or the segment. It optional and if omitted, the default key note will be used. The value should a note e.g. "A".
  • count Restricted to the song header and it is optional. The value should be a positive number. If set, then before the song starts a metronome will count the number that has been set as beats.
  • style Sets the style to the the song or the segment. It is mandatory to exist in the song header or to the segments. The value is the relative in the Styles Directory path of the style, separated with comma with the style section name inside brackets, i.e. [relative_style_path, style_section_name].
  • segments Restricted to the song header and it is mandatory. Describes the list of segments to be played. The value should be a list with pre-defined segments e.g. [segment1, segment2, segment3]"
  • chords Restricted to the segments and it is mandatory. Describes the list of chords to be played. The value should be a list with chords that include their beat value inside the parenthesis i.e. [Am(4), E(2), G(1), A(1)]. If the chord lasts less than a beat, you may add a fraction instead of a number. For example an eighth chord would be written as Am(1/8)

A Complete Song

Now that the song attributes and the basic syntax have been explained, let's examine and explain in detail a complete and well-known song, the Hotel California song.



  • Anything after a # character is simply ignored. It is formatted with a green colour and just explains the song parts quickly.
  • We have set the key to B as this is in fact the song key and it will result the CTA to perform better.
  • We have set the transposition to +2. This way, we will define the chords to Am scale but in the end the song will be played in +2, i.e. Bm
  • We have set the same tempo to 78bmp. The song has indeed the same tempo.
  • We have set a counter to 4. A metronome will count 4 beats before the song starts playing.
  • We have define 3 segments which we use with the order that must be played in the song header. Mind that YAML does not get affected by new lines, which gives us the flexibility to place the segments in the song header in different lines in order to make it easier for the eye to read. The intro chords sequence is the same with the verse chords sequence so we are using the same segment for the intro and the verse part of the song. Additionally, the verse segment actually defines half verse of the actual song. That is because in the specific song, the chords in the verse part of the song are repeated. As such to play the verse part of the song, we put the verse segment twice each time.
  • We are using the same style in the song, i.e. \16beat\A.Baland. But we use a different style section for the verse and the chorus, i.e. Verse style section for the verse segment and Chorus style section for the chorus segment.

Toolbar

By hovering the mouse over the toolbar buttons, you will get a tooltip of what each of this does.

  • Save: Saves your current progress. Giglad does not save automatically so it is strongly advised to save your song often.
  • Undo: Undo your last action.
  • Redo: Redo your last action.
  • Validate: Validates the syntax and reports the errors (if any) to the Output Window.
  • Play: Allows you to select an individual segment to be played or the whole song to be played.
  • Start Playing: Starts playing the song.
  • Stop Playing: Stops playing the song.

Tracks

Tracks are used in the Arranger to setup the virtual instruments for your right/left hand and in the physical inputs to setup an external audio source (e.g. microphone). They are also used in the the Style Editor to compose the style. Each track has multiple tabs from where you can access the different functionality of the track. The name of each track is displayed at the top and can change by clicking on it. At the top right corner, there is a "program" icon button which can be used to save the current state of the track as a Program. Additionally, in the Style Editor, a "remove" icon button exists next to the "program" icon button which will remove the corresponding track from the style.

Input (Instrument)

(Available for Melody and Style tracks)

In this window, you can select a virtual instrument for your track and setup its volume, pan, solo and mute attributes.

  • Select Instrument: To select an instrument click on the arrow button, where (Select Instrument) is displayed and select a VST, a VST3, a soundfont or an instrument from your Memory Pool. if you are in the Style Editor, you can optionally choose an instrument from your style's memory pool referred as Memory Pools (S). The plug-ins are categorized by their manufacturer to save some space. The list will be empty if no plug-ins are available in giglad. Ensure that you have plug-ins installed in your system and that you have defined the plug-ins search directories in the settings. If the list is still empty, try doing a full re-scan from the Tools→Plugins→Re-scan. When you select the instrument, the plug-in's window will pop up from where you can change the plug-in settings.

    If you wish to remove an instrument from your track, click on the same arrow button and select Remove from the corresponding menu. In order to access the plug-in's window and change its settings just click on the plug-in name inside the field or click on the same arrow button and select Edit....

    You can also set the midi output channel which the track will use to send the midi messages to the plug-in and the audio inputs channels from witch the track will receive the audio from the plug-in. These settings are for advanced users and unless you know what you are doing, it is advised to leave them as they are.

  • Volume: To increase/decrease the volume on a track, use the slider. The volume is indicated in decibels(db). By double clicking on the slider the volume will be set to 0db..
  • Pan: To change the pan, use the corresponding knob.
  • Mute: You can mute a track by clicking on the [M] button.
  • Solo: You can make a track solo by clicking on the [S] button. When a track is solo, it will be the only one producing audio in its group. For example, if a track has been set as solo in the melody group, then only this track will produce audio in the melody group but other groups such as the style group or the physical group will not be affected.

When selecting an instrument for your track you should be able to play and listen sound by using your midi controller or the virtual keyboard (if you are at the Arranger). If you cannot listen any sound coming out from your speakers then:

☛ Double check your hardware connections.
☛ If the LED's on the track and the mixer are not moving check your audio device settings.
☛ If while playing, the corresponding notes do not get highlighted in the keyboard ensure that your hardware midi keyboard controller has been set and selected in the settings.
☛ Ensure that you are playing at the midi keyboard controller range which corresponds to the range of the track.

Input (Physical)

(Available for Physical tracks only)

In this window, you can select to include an external audio source in giglad. In order to do so, you must first select to open one or more audio input channels from the audio settings.

  • Select Input Channel(s): Click on the arrow button, where (Select input channel(s) is displayed and select a single channel (mono) or two channels (stereo) which will the audio source that you wish to bring into giglad.

    If you wish to remove an audio source from your track, click on the same arrow button and select Clear from the corresponding menu.

For the other attributes (volume, pan, sole, mute) please see instruments.

Midi

(Available for Melody tracks only)

In this window, you can setup further your midi controller with the specific track.

  • Select Midi Input Device: By default, each track will receive input from your main midi keyboard controller (i.e. the midi controller which has been enabled with the role "Main"). But if you have more than one midi controllers which you have assigned them with the role "Aux" then you can instruct the track to receive input from a different midi controller. This feature allows you for example to have multiple keyboards and have assigned one track to each one of them which will end up for you to being able to play a different virtual instrument on each of your midi keyboard controllers. Mind that if you select "Main Device" then the track will always receives the input from the main device which means that if you change your "Main" from settings, the track will adapt. But if you select the name of your device, then the track will always use this device. If the device is not found, because for example you forgot to turn it on when starting giglad, it will be in red and the track will play nothing.
  • Select Midi Input Channel: By default, this is set to "all" which means that on whatever midi channel the midi device sends the data, the track will receive the data and send them to the corresponding virtual instrument. But you can optionally filter to only receive midi data from a specific midi channel.
  • Select Range: You can select the range from where the input will be received. By default, the Right Hand tracks have the "Melody" Range set and the Left Hand tracks have the "Chords" range set (The chords and melody ranges are defined by the splitter on the top of the virtual keyboard). When you play something in your midi controller, notes that do not belong to the specified range will be ignored. You may also define a custom range. This feature gives great flexibility as you can use one midi controller in order to play different virtual instruments in each range.
  • Select Octave You can select the octave in which this track will eventually output. If for example your play C1 in your midi keyboard controller and this setting is +1, then you will eventually listen C2.

CTA

(Available for Style tracks only)

In this window, you can define the attributes which will transpose the midi note events of the track for each chord you are playing.

The attributes of this window are explained in detail in the Style Editor Chord Transposition Algorithm (CTA) section.

Effects

(Available for Melody, Physical and Style tracks)

In this window, you can add one or more VST/VST3 effects in your track.

  • Add Effect: Clicking on the Add button will pop up a menu with the available VST/VST3 effects. The plug-ins are categorized by their manufacturer to save some space. The list will be empty if no plug-ins are available in giglad. Ensure that you have plug-ins installed in your system and that you have defined the plug-ins search directories in the settings.
  • Remove Effect: Clicking on the Remove button will remove the selected effect.
  • Up/Down Arrow buttons: Using the Arrow buttons you can change the order of the effects. The effects in giglad are serial processed and as such the order matters.
  • Double left clicking on a plug-in will display its window.
  • Right clicking on a plug-in will pop-up a menu with additional options. Using this menu, you can insert a plug-in in between of existing plug-ins. You can also choose to bypass a specific plug-in in which case there will be no audio processing.

Use effects with caution as they require additional processing power from your system. You can add effects to the group of the tracks (e.g. Style, Melody, Physical or Master) using the style_editor for the styles and the mixer for the rest. If you want all your tracks in your style to have reverb for example, do not place a reverb plug-in in each one of them. Instead, add one instance of this plug-in to the style.

Giglad does not compensate plug-in's latency as it would make it impossible to perform in real time. You will not be able to use VST/VST3 plug-ins which introduce latency and if you try to add one, you will get the appropriate message.

Bank Memories

Bank memories allow you to set a style, a program, a preset, a song or a recording in the Arranger by pressing a single button in your midi keyboard controller. A very useful feature as it will allow you to play live easier without the need of your mouse and keyboard.

There are 256 banks in total and each bank has 16 memories which means that you have 16*256 = 208896 available memories. You can map each one of the sixteen memories into a midi control and you can also map the go to next/previous bank via the settings. In order to assign a style, program, preset etc into a memory you need to drag the corresponding file from the files explorer of giglad into the memory you wish to make the assignment. A new assignment will overwrite the existing one. You can also remove an assigned file by right clicking on the assignment and select "Clear".

Mind that giglad does not currently monitor changes in the name or the location of a file. If you have assigned a style, a program, a preset,etc, in a memory and the corresponding file gets renamed or moved in a different location, the memory will be invalid and will not work. Regardless, a memory knows both the absolute and the relative path of the file that has been assigned; meaning that if you move the whole parent directory (e.g. the styles directory) into a different location and reset it properly, the memories will keep working as expected.

After assign a style, a program, a preset etc you can set the corresponding memory in the arranger by clicking on it or by pressing the corresponding midi control. Applying a style or a preset may require significant time especially when heavy plug-ins need to be loaded. There is a "magic" functionality in giglad which tries to overcome this issue in cases you are playing live and you need to switch faster. You can pre-load a style or a preset in memory and apply it later to the arranger which will result a much faster "apply". In order to do this, you must assign the Prepare Button in your Midi Controller. By then holding down the Prepare button (while you are setting the memory) the style or preset will be loaded in memory instead of applied in the arranger. So the next time you will apply it as you would normally do, it will be much faster.

Memory Pool

Memory pool is an advanced feature of giglad and it can be used to serve two different purposes:

  • To efficiently use plug-ins which can send different instruments to different audio channels:
    Some VST/VST3 plug-ins support multiple midi inputs and multiple audio outputs and they can send different instruments to different audio channels. An example of such a plug-in is Kontakt. In such cases, it is much more efficient in terms of audio processing to use only one instance of this plug-in in multiple tracks instead of creating a new instance of the plug-in for each track.
  • To reduce the loading time of a style or a preset:
    Each time you request to use a virtual instrument plug-in in a track, a non trivial time is needed to load the plug-in in memory. By placing the plug-in in the memory pool you literally eliminate this time. It would be absolutely great to eliminate this time in all cases and make the style loading instantly but mind that the more plug-ins you put in the memory pool the more memory giglad will request from your O/S. It is a bad idea to use memory that you do not need, so you should only put plug-ins in memory pool which will actually be instantiated sooner or later.

In order to add a plug-in in the memory pool, click on the Add button and select the one of your choice. The plug-in's window will pop up from where you can change its settings. In order to remove a plug-in from the memory pool select it by single clicking on the row that contains it and press the Remove button. By double clicking anywhere in the plug-in's row but the "Tag" and the "Condition", the plug-ins window will pop up again to allow you further editing.

After the virtual instrument has been placed in the table you should double click on the Tag cell and give a unique identifier for your entry. This identifier is crucial and it is used in the tracks to select an instrument from the memory pool but more importantly it is saved in the style file and in the presets. Wisely set it and do not change it after you have used it in a style or in a preset as the latest will fail to load the instrument. Additionally, any changes you make to the plug-in's state are going to affect every file that is using it. For example let's assume you have added a synth that sounds like a piano and set the tag as "myTag". You are creating a style that is using this in one of its tracks. Later on you change the synth and you leave the tag "myTag" but you make it sound like a guitar. If you load your style, the track will play the guitar instead of the piano. This can be good and bad so use it as appropriate.

You can also select for a plug-in to be "Instance always alive" or "Instance alive when needed". When an instance is always alive, it is loaded in the memory when the program starts. In the image above, because I am using these drums in almost every style, I have set "Instance always alive" to have them always in memory and do not waste time loading them. When an instance is alive when needed it is going to be created when a style or a melody track requests to use it.

When a plug-in is added, a route entry will be added named as "Main" with the default configuration routing. You may add more routes by clicking on the Add button and name them as you wish. If a plug-in in the memory pool does not support multiple instruments then its pointless and probably wrong to add more than one route. But for a plug-in that does support multiple instruments (e.g. Kontakt), this is how you can achieve to use only one instance of this plug-in in multiple tracks. In order to setup this correctly you need first to set up different instruments on different midi channels and in different audio channels in the plug-in (See for example the Kontakt below). Then you must correspond the instruments of the plug-in with the routes in giglad.

If everything has been setup correctly, you should be able to select the corresponding route from the memory pool in the track as shown below and listen at the correct sounds. Notice that the DrumKit does not have a sub menu. That is because there is only the Main route available.

Always use your midi input controller or the virtual keyboard displayed in the memory pool when setting up the memory pool and avoid using the keyboard of the plug-in as it will mislead you on what is sent where.

DAW Integration

Giglad can send the master audio or the midi events of the melody and style tracks to any application which supports VST3 hosting. This is achieved via an in house implemented VST3 plug-in called glecho.

Setup the VST3

Glecho.vst3 plug-in comes with giglad installation and can be found at C:\Program Files\deltarray\giglad\VST3. You can either copy the plug-in in the default VST3 path (i.e. C:\Program Files\Common Files\VST3) or you can instruct your DAW to include this directory in the VST3 directories search. Which ever way you choose, you should eventually be able to use glecho inside your DAW.

glecho

You must then select IPC: Midi if you want giglad to send midi events to the plug-in (and eventually to your DAW) or IPC: Audio (Master) if you want giglad to send its master audio. If you select IPC: Midi, you also need to select the track from which the midi will be received. The track can be a melody track or a style track. For audio, you should only have one instance of the plug-in in your DAW. But for midi you need one instance of the plug-in for each of the tracks you are going to send/receive to be placed on your DAW's track. If for example you have a style with 5 tracks, you need to create 5 tracks in your DAW, add an instance of the glecho plug-in to each one of them and add of course a virtual instrument (plug-in) to this track that will receive the midi data from glecho in order to produce the audio. See below for a routing example with two tracks.

glecho

Select Your Audio Device

The next step is to instruct giglad to send audio or midi to the plug-in. For this, you must go to audio settings in giglad and select glecho as your audio device. You will notice that you won't be able to select the sample rate and the buffer size of you audio as these attributes are now inherited and defined by your DAW.

glecho

If you are sending midi, you also need to select glecho instead of a virtual instrument for each of the tracks you are going to send. Click on the (Select Instrument) and select glecho in your track as shown below.

glecho

Play Time

If everything has been setup appropriately, you should see [Status]: Running in glecho's UI. Additionally, you will see green audio leds when sending audio or small colored rectangles when sending midi which represent the midi events. If you see nothing, something has not been setup correctly.


Limitations

  • Glecho is available on Windows Only.
  • Glecho has been tested and worked properly on four different DAW's. It would be impossible to test the behavior of the plug-in with every DAW that exists in the market. If you have difficulties setting up glecho with your DAW, it is suggested to contact giglad's support.

Third Party

Third Party Icons