URLs can include parameters that are passed to the VHV webpage. The parameters
are appended to the main URL address after the
? character. Each parameter
is separated from the next parameter by
& and each parameter consists of a key
and value pair which are separated from each other by
=. Here is an example URL that
contains all of these features:
The pieces of the full URL are:
- The main part of the URL.
- The start of the parameter list.
- The first parameter, with
kbeing the name of the parameter and
Ebeybeing the value for the
- Parameter separator character.
- The second parameter in the URL called
filewith a value of
The parameter order does not matter, so
k can equivalently come after
Also note that certain characters are not allowed within parameter
values, such as
&, obviously. Instead, such characters must be
escaped using percent
encoding. In addition to the list on that page, newlines must
be escaped as the characters
%0A, tabs as
%09 and spaces
%20. Percent encoding is a hexadecimal value for the ASCII
(or generally UTF-8) byte codes of the character.
k parameter (long form
keys) can be used to emulate keyboard
shortcuts that are run immediately after VHV is loaded. The characters
in the following table are given in a string to the parameter.
Here is an example use to show minimal controls in VHV:
||alt-shift-B||Hide the toolbar.|
||alt-b||Suppress the VHV logo at the top left of the VHV window.|
||alt-d||Hide the menu in the VHV header.|
||alt-shift-E||Hide both the menu and the toolbar areas.|
||alt-e||“Erase”: Suppress the splash music when opening VHV (or any previous content from your last visit).|
||alt-w||Widen the spacing of the notation. Multiple
||alt-shift-W||Narrow the spacing of the notation. Multiple
||alt-y||Hide the text editor.|
f parameters can be used to preload a digital score
from the URL.
t parameter (or long form
text) is used to load text from
the parameter value into the text editor as VHV is loaded. Two
forms of data can be loaded using this parameter: either raw text
or MIME-encoded text. This method is most useful for loading short
example scores into VHV. The total URL length including the
parameter data should not exceed about 2000 characters, although
some web browsers allow longer URLs, with the actual maximum depending
on the specific web browser.
Raw text data for t parameter
For raw text, special characters for the URL must be escaped using
encoding. Also, newlines need to be encoded as
%0A, tabs as
%09 and spaces as
%20. Type some text into the following box,
and a URL with the raw text encoded in the
t parameter will be
Here is a URL containing the above contents in the
t parameter (click to view in VHV):
MIME-encoded data for t parameter
Here is an example of MIME-encoded text:
KiprZXJuCjFjCj0KKi0 is the following MIME-encoded text:
**kern 1c = *-
This will be decoded and inserted into the VHV text editor when the above link is clicked on.
You can add some text to the box below and a URL to VHV with the
parameter filled in with the MIME-encoded text will be displayed below:
f parameter (or long form
file) is used to load a digital
score into the editor. The value can either be either a built-in
repertory score, or an arbitrary URL to a score available on the
web. If you load a score using
http:// (unsecured HTTP), then
you should use the unsecured address of VHV
scores loaded with
https:// can be loaded from either
A repertory file can be loaded into the editor if
there is no
https:// prefix in the
file parameter’s value. This
will also place repertory navigation buttons at the top left side
of the navigation bar in VHV. Here are examples of loading repertory
files. You can click on the repertory up-arrow to view an index
of other scores in the same repertory.
- Beethoven, Piano sonata no. 1 in F major, mvmt. 1:
- Mozart, Piano sonata no. 1 in C major, K 279/189d, mvmt. 1:
- Scarlatti, Keyboard sonata in C major, L.1/K.514:
- Chopin, Etude in C# minor, op. 10, no. 3 from the Fryderyk Chopin Institute:
- J.S. Bach, Chorale Aus meines Herzens Grunde, BWV 269:
- Givaonnelli, Non è questa la mano, (1588) madrigal from the Tasso in Music Project
Notice that when you load a repertory score, there are repertory navigation buttons in the top left corner of VHV that allow you to browse other files in the repertory or view an index of all of the scores in the repertory.
You can open VHV with the list of all works in the repertory by listing the repertory path without a filename:
Then you can choose a specific file in the repertory to view in VHV. You can also press the esc key to close the repertory index without choosing a score to load.
VHV knows where built-in repertory files are located on the web, but if you need to load a file that it is unaware of, you can give the full URL address to the digital file.
For example, the repertory location of the Beethoven sonata movement example given above is:
This can be expanded into into a fully qualified URL giving the actual location of the file on the web:
which loads the score from this link:
Several repertories and websites have shortcut methods to avoid specifying an entire filename or URL.
Github URLs can be long:
Such Github URLs can be condensed into this form for the
Notice that the directory name
master is skipped since it is the
real root directory of the repository files and not a directory
name within the repository. The Beethoven digital score full URL on Github can
be condensed into:
Resulting in the VHV direct link to that score being shortened to:
Several repertories have long names for the files that consist of a catalog number for computational processing, followed by the title of the work for human readability. VHV has a shortcut that allows loading the repertory score based on a catalog number rather than the full filename and path to the file in the repository.
For example the repertory link for the example Tasso in Music Project work:
Can have the full repertory path and name reduced from:
in the VHV link to the score:
Josquin Research Project scores can also be loaded from a repertory shortcut. Full repertory names for these files can be condensed from:
resulting in a shorter VHV URL:
The three parameters
i can be used to search for pitches,
rhythms and/or intervals. These parameters will be loaded into the
when loading VHV, and the search tool will be activated and a search
done as soon as the score has been loaded.
Here is an example of searching for the opening theme in Beethoven piano sonata no. 1, mvmt. 1:
This searches for the diatonic pitch-class sequence
C F A C F A G F E F.
Search for the rhythmic pattern
16 8 16 8 16 in Joplin’s The Entertainer:
Search for the diatonic interval sequence
8 -2 2 -8
(up an octave, down a step, up a step, down an octave)
in Mozart Piano sonata no. 1, mvmt. 1:
filter parameter can be used to process an incoming score
with one or more filters after
the score has been loaded into VHV. Note as with all parameter values,
some characters should be percent
Here is an example of transposing the Beethoven piano sonata movement from F minor to A minor:
The filter is
transpose -ka, which means transpose the score to
the key of A (minor in this case, since modality is preserved). The
characters is the percent encoding of a space character.
Separate filters can be serialized in the filter parameter by separating them
with a pipe character (
|). The filters will be applied in the order they
are placed in the filter string. Here is an example of displaying a
Bach chorale in grand-staff format and then coloring the triadic
The pipe character is
%7C in percent encoding.
Filtering and searching
filter parameter can be mixed with music searches. Here is an example of
extracting the top notes of chords before searching for the rhythm
16 8 16 8 16
in Jopin’s The Entertainer.
Compare to the same search without the filter:
Set the visible toolbar.