### Documentation for using the LiteWebSynth plugin

## General Provisions

General view of synthesizer

LiteWebSynth is a synthesizer with GM|GS|XG instrument sound fonts. Plugin built with AI assistance. The sequencer processes MIDI files of two types: 0 and 1. All timbres GM are generated by a combination of an oscillators and a dynamically generated BufferSource. GS and XG timbres are generated by SoundFonts (.sf2) files. Users can upload their own (.sf2) files by opening the Sequencer and clicking the Settings button. Site administrators can also upload their own SoundFonts (.sf2) files for public use. To do so, the administrator must transfer these files using a file manager to the plugin's directory:
.../plugins/litewebsynth/soundFonts/GS/ - for GS standard .sf2 files
.../plugins/litewebsynth/soundFonts/XG/ - for XG standard .sf2 files

Synthesizer buttons:
File midi - loading a MIDI file into a synthesizer.
Shot key - repeat the sound of the Last Key pressed on a musical keyboard.
Kbd - call the musical Keyboard (88 keys).
Editor - call the Editor (GM mode) or Vewer (GS|XG mode)
Graph - сall the Graph of audio nodes of the current musical instrument.
Sequencer - call the Sequencer
Doc - call the synthesizer Documentation.

## Oscilloscope of synthesizer

Total audio signal at the output.

To enable this mode, click on the radio button Σ with the mouse.
Displays the audio signal from the synthesizer output - while playing the keyboard (virtual or MIDI keyboard), or when playing a MIDI file.
To the left of the oscilloscope screen is a vertical slider fftSize, which has 8 settings ['4096', '2048', '1024', '512', '256', '128', '64', '32']. It is used to adjust the horizontal shape of the signal.
To the right of the oscilloscope screen is a vertical amplitude slider, which has 10 audio signal amplitude settings (from 1 to 10). It adjusts the vertical waveform of the signal.
To turn it on/off, simply click the mouse on the oscilloscope screen.

AHDSR g1 from Tembre Editor

To enable this mode, click on the radio button g1 with the mouse
Displays the envelope of the AHDSR audio signal.
Signal source - generator g1 - in the 1th row of the GM Tone Editor table.

AHDSR g2 from Tembre Editor

To enable this mode, click on the radio button g2 with the mouse
Displays the envelope of the AHDSR audio signal.
Signal source - generator g2 - in the 2th row of the GM Tone Editor table.

AHDSR g3 from Tembre Editor

To enable this mode, click on the radio button g3 with the mouse
Displays the envelope of the AHDSR audio signal.
Signal source - generator g3 - in the 3th row of the GM Tone Editor table.

AHDSR g4 from Tembre Editor

To enable this mode, click on the radio button g4 with the mouse
Displays the envelope of the AHDSR audio signal.
Signal source - generator g4 - in the 4th row of the GM Tone Editor table.

Monitoring RAM memory usage

To enable this mode, click on the RAM radio button.
RAM — Shows how much of your computer’s memory the synthesizer is currently using to play instruments in real time.
PEAK — Remembers the maximum memory load reached during your session, helping you track the impact of heavy soundbanks.
GC (Green/Grey) — Shows how memory changes, flashing green when the system successfully cleans up and frees space from deleted tracks.

## Keyboard of synthesizer

Keyboard of synthesizer (88 keys)

The user can connect an external MIDI keyboard to the computer's USB port. In this case, the user can select which keyboard to use using the selector on the left above the synthesizer.
In the Sequencer, the user can select a track (for example: Track 4) by clicking on it with the mouse. In this case, the keyboard will display the note presses as the MIDI file plays.

## Editing sound in the tone Editor for the selected musical instrument (for GM mode)

Editor in GM mode

Press the Editor button on the synthesizer's front panel. Tone map editing is available if the synthesizer's switch (3 radio buttons in the upper-right corner of the synthesizer) is set to GM mode. The Editor window displays the tone map of the selected musical instrument (the large, round Program knob). In the upper-left corner of the Editor window, can select the number of oscillators for the selected musical instrument. For clarity, we recommend turning on the Graph button. In the G column of the Editor table, can set the order of connection of oscillators for the selected musical instrument. When enabled, the Graph button will display the connections between oscillators. In the remaining cells of the Editor table, can fine-tune the sound of the selected musical instrument. To listen to the current sound of the musical instrument, press the Shot key button on the synthesizer's front panel. The result of the adjustment is displayed in the Patch field of the editor. The result of the adjustment can be saved by pressing the LocalStorage (Save) button.

Viewer in GS|XG modes

In other synthesizer modes (GS, XG), only SoundFonts viewing is available.

## Oscillators Graph for the selected musical instrument (for GM|GS|XG modes)

Graph in GM modes

Graph in GS|XG modes

The left part of the Graph displays the sequence of connections of the audio nodes of the selected musical instrument. The number of oscillators corresponds to the number selected in the Editor table in column G. The left part of the Graph is conditionally divided into two parts: the upper part dynamically changes and consists of 1 to 4 pairs of audio nodes (Oscillator-Gain). The number of pairs corresponds to the number of rows in the Editor table. To display the characteristics of the upper part of the Graph, press the synthesizer's Shot key button. The lower part of the Graph displays the unchangeable part of the synthesizer's audio nodes (Gain->Convolver->Gain->DynamicsCompressor->Gain->Analyzer). If click the mouse cursor on any of the listed audio nodes, the characteristics of the selected audio node will be displayed in the right part of the Graph. The parameters of the selected node will change if change the value of the knobs on the synthesizer's front panel. The right part of the Graph contains the technical characteristics of the audio node selected by the mouse cursor.

## Editing notes in the Sequencer

General view of Sequencer

Sequencer interface is divided into 6 areas:
1. Information about the MIDI file loaded into the sequencer
2. Information about the tracks of a MIDI file loaded into the sequencer
3. Timeline of a MIDI file loaded into the sequencer
4. Sequencer workspace
5. Auxiliary area of the Sequencer
6. Sequencer command buttons

## 1.Information about the MIDI file loaded into the sequencer

MIDI file information

The first 5 fields are taken from the midi file header:
1.Copyright - MIDI file copyright (Test of LiteWebSynth)
2.BPM - Beats Per Minute (140)
3.Track - number of tracks in a MIDI file (7)
4.Type midi - MIDI file with one track (Type 0) or midi file with multiple tracks (Type 1)
5.PPQN - Pulses Per Quarter Note (480)

## 2.Information about the tracks of a MIDI file loaded into the sequencer

Synthesizer in GM mode

Track name
Name of a musical instrument (program number)
Channel number, channel volume level, channel sound positioning

Synthesizer in GS|XG modes

Track name, Bank number, Preset number
Name of a musical instrument (program number)
Channel number, channel volume level, channel sound positioning

## 3.Timeline of a MIDI file loaded into the sequencer

Timeline of a MIDI file

Timeline context menu

Right-click on the Timeline - displays a context menu for adjusting the Timeline.

## 4.Sequencer workspace

Sequencer workspace

In the Sequencer workspace the user can:
Insert a note - right-click in the selected, empty space of the workspace. Before doing this, the user must specify which track they want to insert the note on. To do this, click on the selected track in the vertical area on the left.
Delete a note - right-click on the black note primitive. Before doing this, the user must deselect the track.
Moving a note horizontally - click on the rectangular note primitive, hold down the left mouse button and move the mouse to the desired location.
Free movement of a note (group of notes) - Select the area of ​​notes to be moved. Move the selected area to another location. Before this operation, the user must select the track on which this action occurs.
Insert the selected group of notes anywhere (Even in another MIDI file). Move the cursor to the desired location and right-click while holding down the ALT key. Before this operation, the user must select the track on which this action occurs. The mouse cursor position is the left corner of the inserted note fragment.
Change the duration of a note - Move mouse cursor to the right side of the rectangle (musical note), then press the left mouse button and move the cursor horizontally.
Zoom switch (+ o -) is located in the lower left part of the working area of Sequencer. Provides 4x scaling of the Sequencer's working area.

## 5.Sequencer Auxiliary Area

This area is intended to display the actions of the Sequencer commands:

Result of the Sequencer command (Verify)

The Verify command checks the X coordinates of all musical notes for a multiple of PPQN/4 and removes duplicate notes (with identical coordinates). These actions occur in the Sequencer workspace, so if the user is satisfied with the results of this command, they can save all these changes to a MIDI file.

Result of the Sequencer command (Track)

The Track command provides information on the selected track of a MIDI file: Track name, musical instrument name and its number in the synthesizer, channel number, and also provides statistics - the number of notes in each measure.

Result of the Sequencer command (Export)

The Export command converts a user's MIDI file to one of the listed audio formats (MP3, WAV, WMA, M4A, AAC, FLAC). Before doing so, the user must save the resulting Master API key using the Setting command. The user must first obtain the Master API key by registering on api2convert.com. Then, the user selects the required parameters: Format, Mode, Codec, Frequency, Resolution, Bitrate and clicks the Request button.

Result of the Sequencer command (Report)

The Report command displays the entire contents of a MIDI file in hexadecimal format. The output is grouped by track.

Result of the Sequencer command (Stave)

The Stave command generates a staff and musical notes for the selected track in a MIDI file. A Print button is available for printing the musical part of a single track. If left-click on any musical note, the Sequencer's working area will move to the beginning of the measure of that note.

Result of the Sequencer command (Help)

The Help command provides a brief description of the actions of the Sequencer commands.

Result of the Sequencer command (Record)

The Record command records commands from the user's MIDI keyboard. But first, the user connects their MIDI keyboard via USB. Then, they ensure that the Synthesizer recognizes the MIDI keyboard and displays its name on the left, above the interface's oscilloscope.

Result of the Sequencer command (Tools)

The Tools command adjusts 10 MIDI parameters. To draw a graph, left-click and drag the mouse in the desired direction. Clear the graph's drawing area by right-clicking.

Result of the Sequencer command (Setting)

The Setting command defines access paths to SoundFonts (*.sf2) files. If the last column of the Sound Fonts GS (or Sound Fonts XG) table shows "remote," this means the site administrator has provided all Synthesizer users with their own SoundFonts files. Users can use their own SoundFonts. Tip: install the Master API key to convert MIDI files to audio format.

Result of the Sequencer command (About)

The About command displays a list of companies whose software code (JS libraries, APIs) is used in the LiteWebSynth synthesizer.

Result of the Sequencer command (Examples)

The Example command displays MIDI files for testing audio parameter adjustment tools. For example, might want to see how Modulation works in a MIDI file. Load a MIDI file using the "MIDI 6" button. Then, click the Tools button, then the Modulation button.

Result of the Sequencer command (Errors)

The Errors command displays errors in the musical notation of the selected track of the loaded MIDI file.

Result of the Sequencer command (Rules)

The Rules command shows recommendations when creating a MIDI file.

## 6.Sequencer command buttons

Sequencer cmd buttons

The Save command allows you to save a MIDI file with a new name after editing.
The +Track command inserts a new track into the MIDI file, before the selected track.
The -Track command deletes the selected track from the MIDI file.
The New command creates a new midi file (Type midi 1) with the parameters specified by the user.
The remaining commands are described in the previous chapter 5.Sequencer Auxiliary Area